Token导航 LogoToken导航TokenDH.com
Local File Operation MCP Server logo
AI代理未说明官方级别未说明来源级核验

Local File Operation MCP Server

MCP Server

一个基于Model Context Protocol (MCP)的服务器,使Claude Desktop能够安全地与本地文件系统交互,提供文件读写、列表和管理功能。

工具数

4

提示词数

0

GitHub Stars

0

资源数

0
安全协议C#Claude开发工具Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

DawidNowak

提供方

DawidNowak

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

本地文件MCP服务器

A. 模型上下文协议(MCP) 启用的服务器 Claude Desktop(可译为“克劳德桌面版”或保持原名“Claude Desktop”,具体取决于语境和品牌偏好) 为了安全地与您的本地文件系统进行交互,该服务器采用C# .NET 8.0构建,提供在您主目录内的安全文件操作,使Claude能够直接在您的计算机上读取、写入、列出和管理文件。

🤖 这是什么?

这个MCP服务器填补了(或连接了)……之间的鸿沟 Claude Desktop(克劳德桌面版) (Anthropic的桌面应用程序)以及您的本地文件系统。配置完成后,您可以要求Claude:

  • “列出我文档文件夹中的所有文件”
  • “阅读我项目中的README文件内容”
  • “创建一个名为 hello.py 的新 Python 脚本”
  • “删除我下载文件夹中的临时文件”

服务器使用 模型上下文协议这是一种标准化的方式,让AI助手能够安全地访问外部资源。它通过stdin/stdout使用JSON-RPC 2.0与Claude Desktop进行通信,提供了一个安全的沙盒环境,将所有操作限制在您的主目录内。

🌟 特点

  • 🔒 安全所有操作均限于您的主目录内进行
  • 📁 文件浏览列出文件和目录及其详细元数据
  • 📖 文件读取读取文本文件,具备编码检测和大小限制功能
  • ✏️ 文件写入以原子写入操作创建和编辑文件
  • 🗑️ 文件删除在安全检查后删除文件和目录
  • 🛡️ 安全第一二进制文件检测、大小限制、路径验证

🚀 快速入门

先决条件

  • .NET 8.0 SDK(软件开发工具包) 或之后
  • Windows、macOS 或 Linux

安装

选项1:自动设置(推荐)

  1. 克隆仓库:
   git clone https://github.com/your-username/local-files-mcp-server.git
   cd local-files-mcp-server
  1. 运行安装脚本:
   .\setup.ps1

这将会:

- 构建并发布MCP服务器 - 自动配置Claude桌面版 - 创建必要的配置文件

  1. 重启Claude桌面版 并查找“✅ 本地文件:已连接”
💡(这个符号本身没有直接的中文翻译,但它通常代表“灯泡”或“灵感”的意思,在中文网络用语中可以表示“想法”或“创意”。) 小贴士您可以在Claude Desktop中通过以下路径验证MCP服务器的连接状态: 设置 → 开发者 在那里,您将看到所有已配置的MCP服务器及其连接状态。

选项2:手动设置

  1. 克隆并构建:
   git clone https://github.com/your-username/local-files-mcp-server.git
   cd local-files-mcp-server
   dotnet build
  1. 对于Claude Desktop的集成:

- 发布可执行文件: dotnet publish -c Release -o publish --self-contained true -r win-x64 /p:PublishSingleFile=true - 复制 claude_desktop_config.json to %APPDATA%\Claude\claude_desktop_config.json - 编辑配置文件以替换 PATH_TO_REPO 使用您实际的仓库路径 - 重启Claude桌面版

  1. 直接使用方法:
   dotnet run --project LocalFilesMcpServer

服务器通过(某种方式)进行通信 标准输入/标准输出 使用JSON-RPC 2.0协议。

截图

在Claude Desktop中查看MCP服务器的运行情况:

这些截图展示了通过Claude Desktop集成所实现的完整文件管理流程。

📋 可用工具

1. list_files - 浏览目录内容

列出带有元数据的文件和目录

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_files",
    "arguments": {
      "path": "Documents"
    }
  }
}

2. read_file - 读取文件内容

读取最大50MB的文本文件

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "read_file",
    "arguments": {
      "path": "Documents/example.txt"
    }
  }
}

3. write_file - 创建/编辑文件

以原子操作将内容写入文件

{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "write_file",
    "arguments": {
      "path": "Documents/new_file.txt",
      "content": "Hello, World!\nThis is a new file."
    }
  }
}

4. delete_file - 删除文件/目录

删除文件或目录(对于目录递归删除)

{
  "jsonrpc": "2.0",
  "id": 4,
  "method": "tools/call",
  "params": {
    "name": "delete_file",
    "arguments": {
      "path": "Documents/old_file.txt"
    }
  }
}

🔧 使用示例

完整工作流示例

# Initialize MCP session
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"example-client","version":"1.0.0"}}}' | dotnet run --project LocalFilesMcpServer

# List available tools
echo '{"jsonrpc":"2.0","id":2,"method":"tools/list"}' | dotnet run --project LocalFilesMcpServer

# Browse files in Documents folder
echo '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"list_files","arguments":{"path":"Documents"}}}' | dotnet run --project LocalFilesMcpServer

交互式测试

创建一个测试脚本(test_session.txt):

{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}
{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"list_files","arguments":{"path":"."}}}
{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"write_file","arguments":{"path":"test.txt","content":"Hello MCP!"}}}
{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"read_file","arguments":{"path":"test.txt"}}}
{"jsonrpc":"2.0","id":5,"method":"tools/call","params":{"name":"delete_file","arguments":{"path":"test.txt"}}}

运行它:

type test_session.txt | dotnet run --project LocalFilesMcpServer

🛡️ 安全特性

  • 主目录限制所有路径均相对于您的主目录解析
  • 路径验证防止目录遍历攻击(例如。, ../../../etc/passwd)
  • 文件大小限制读取限制为50MB,写入限制为50MB
  • 二进制文件检测自动检测并拒绝读取二进制文件
  • 权限检查在操作前验证读/写权限
  • 原子写入文件以原子方式写入(临时文件 + 移动)以防止损坏

📁 项目结构

LocalFilesMcpServer/
├── Models/             # MCP protocol message models
│   ├── McpMessage.cs   # Base JSON-RPC 2.0 classes
│   ├── InitializeMessage.cs
│   ├── ToolMessage.cs
│   ├── CallToolMessage.cs
│   ├── Tool.cs
│   └── FileItem.cs
├── Services/           # Core business logic
│   ├── McpProtocolHandler.cs   # MCP protocol routing
│   ├── FileOperationService.cs # File system operations
│   └── PathValidationService.cs # Security validation
├── Tools/              # Individual tool implementations
│   ├── ListFilesTool.cs
│   ├── ReadFileTool.cs
│   ├── WriteFileTool.cs
│   └── DeleteFileTool.cs
└── Program.cs          # Application entry point

🔍 错误处理

服务器提供详细的错误信息,这些信息紧跟在MCP错误代码之后:

  • -32700解析错误(JSON格式错误)
  • -32600无效请求
  • -32601未找到方法
  • -32602无效参数
  • -32603内部错误
  • -32002服务器未初始化

示例错误响应:

{
  "jsonrpc": "2.0",
  "id": 1,
  "error": {
    "code": -32602,
    "message": "Error: File not found. Action: Provide a valid file path for file access"
  }
}

🧪 开发

构建与测试

# Build the project
dotnet build

# Run all tests (when implemented)
dotnet test

# Check code formatting
dotnet format --verify-no-changes

📖 MCP 协议

这个服务器实现了 模型上下文协议 规格:

  • 协议版本: 2024-11-05 并且 2025-06-18 (多版本支持以确保兼容性)
  • 交通stdio(stdin/stdout)
  • 消息格式JSON-RPC 2.0
  • 能力工具(文件操作)

📝 许可证

这个项目采用MIT许可证授权——详见 许可证 文件中详述。

______________________________________________________________________

用Claude快乐地管理文件! 🚀

目录标签

目录标签

安全协议C#Claude开发工具文件管理本地部署本地交互AI助手

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP