文件系统访问服务

MCP文件系统服务器为AI模型和应用程序提供安全的文件系统访问能力,通过标准化的JSON-RPC接口实现目录内容列表和文件交互。

  • by DenizkarayusufogluGit
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 denizkarayusufoglugit/mcp-filesys

使用说明

MCP文件系统服务器

一种模型上下文协议(MCP)服务器实现,为AI模型和应用程序提供文件系统访问功能。

概述

MCP文件系统服务器使AI模型能够安全地列出目录内容,并通过标准化的JSON-RPC请求与文件系统进行交互。它实现了可互操作AI工具的模型上下文协议(MCP)规范。

特性

  • 文件系统访问:列出主机系统上的目录内容
  • JSON-RPC接口:符合MCP规范
  • 安全访问控制:资源访问仅限于特定功能
  • 标准I/O传输:使用stdio进行通信,便于集成

安装

# Clone the repository
git clone https://github.com/yourusername/mcp-filesys.git
cd mcp-filesys

# Install dependencies
npm install

# Build the project
npm run build

使用Cursor或Ollama

配置

  1. 为您的AI工具创建配置文件:

对于Ollama (ollama-config.json):

{
  "mcpServers": {
    "filesys": {
      "command": "node",
      "args": ["/Users/denizkarayusufoglu/Desktop/cursor-projects/mcp-filesys/dist/index.js"],
      "env": {
        "NODE_ENV": "production",
        "DEBUG": "mcp:*"
      }
    }
  }
}

对于光标 (游标mcp-config.json):

{
  "mcpServers": {
    "filesys": {
      "command": "node",
      "args": ["/Users/denizkarayusufoglu/Desktop/cursor-projects/mcp-filesys/dist/index.js"],
      "env": {
        "NODE_ENV": "production",
        "DEBUG": "mcp:*"
      }
    }
  }
}
  1. 将环境变量设置为指向您的配置文件:
# For Ollama
export OLLAMA_MCP_CONFIG=/Users/denizkarayusufoglu/Desktop/cursor-projects/mcp-filesys/ollama-config.json

# For Cursor
export CURSOR_MCP_CONFIG=/Users/denizkarayusufoglu/Desktop/cursor-projects/mcp-filesys/cursor-mcp-config.json
  1. 将环境变量添加到shell配置中以实现持久性:
echo 'export OLLAMA_MCP_CONFIG=/Users/denizkarayusufoglu/Desktop/cursor-projects/mcp-filesys/ollama-config.json' >> ~/.zshrc
echo 'export CURSOR_MCP_CONFIG=/Users/denizkarayusufoglu/Desktop/cursor-projects/mcp-filesys/cursor-mcp-config.json' >> ~/.zshrc

可用资源

MCP文件系统服务器提供以下资源:

资源URI 描述 功能
list-contents:// 列出目录的内容 read
file:// 文件访问 read, write, list

示例用法

直接命令行使用

您可以使用简单的命令行管道直接与MCP服务器交互:

# List the contents of a directory
echo '{"jsonrpc":"2.0","id":1,"method":"resources/read","params":{"uri":"list-contents://","parameters":{"path":"/Users"}}}' | node dist/index.js

列出目录内容示例

请求:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "resources/read",
  "params": {
    "uri": "list-contents://",
    "parameters": {
      "path": "/Users/denizkarayusufoglu/Desktop"
    }
  }
}

答复:

{
  "jsonrpc": "2.0",
  "result": {
    "contents": [
      {
        "mimeType": "application/json",
        "text": "[{\"name\":\".DS_Store\",\"type\":\"file\",\"path\":\"/Users/denizkarayusufoglu/Desktop/.DS_Store\"},{\"name\":\".localized\",\"type\":\"file\",\"path\":\"/Users/denizkarayusufoglu/Desktop/.localized\"},{\"name\":\"cursor-projects\",\"type\":\"directory\",\"path\":\"/Users/denizkarayusufoglu/Desktop/cursor-projects\"}]"
      }
    ]
  }
}

发展

# Clean build files
npm run clean

# Build the project
npm run build

# Start the server
node dist/index.js

许可证

MIT许可证