mcpField
M
MCP Server for Software Development

MCP Server for Software Development

本地服务
github.com/kvas-it开发工具074 周前更新

关于 MCP Server for Software Development

面向 Claude Desktop 的 MCP 服务,通过守护进程转发文件系统和 Shell 操作。它提供操作发现、参数校验、日志和详细错误信息。

主要功能

  1. 01列出、读取、写入、编辑、移动和删除文件
  2. 02创建和删除目录
  3. 03运行 Shell 命令并返回输出及退出状态
  4. 04动态发现操作及其架构
  5. 05校验参数并返回详细错误

适用场景

  1. 01通过 Claude Desktop 检查和修改项目文件
  2. 02在目标目录中运行 Shell 命令
  3. 03排查问题时查看操作日志

MCP 相关

提供两个 MCP 工具:一个用于发现可用的文件系统操作及其架构,另一个通过守护进程执行这些操作。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

用于软件开发的 MCP 服务

一个为 Claude 桌面版提供文件系统和 Shell 访问能力的 MCP 服务。

架构

Claude ←→ MCP Server ←→ Unix Socket ←→ Filesystem Daemon
       (2 tools)      (JSON RPC)     (file operations, shell)

主要优势

  • ✅ 只需一次权限提示(原本需要 15+ 个工具,现在只需 2 个)
  • ✅ 环境控制(守护进程在正确的虚拟环境和目录中运行)
  • ✅ 终端可见性(所有操作都会记录日志和上下文)
  • ✅ 动态发现(操作会自动生成文档)
  • ✅ 丰富的错误处理(提供详细错误信息和建议)
  • ✅ 类型安全(参数架构带有校验)

快速开始

  1. 启动文件系统守护进程(在目标目录中):

    python fs_access.py           # Normal mode
    python fs_access.py --verbose # Verbose mode (shows shell output, file contents, edit details)
    
  2. 通过配置将 Claude 连接到 MCP 服务:

    {
      ...
      "mcpServers": {
        "Dev": {
          "command": "uv",
          "args": [
            "run",
            "--with",
            "fastmcp",
            "$path/mcp-server-dev/mcp_server.py"
          ]
        }
      }
    }
    
  3. 测试集成:

    • 检查 Claude Desktop 的“搜索和工具”菜单中是否能看到 Dev
    • 运行文件系统访问服务,并与 Claude 对话,确认它能否使用这些工具。

Claude 可用的 MCP 工具

1. get_available_operations()
  • 用途:发现可用的文件系统操作及其架构
  • 返回值:包含操作架构的字典,其中包括类型、描述和默认值
2. execute_fs_operation(operation, params)
  • 用途:通过守护进程执行文件系统操作
  • 参数:
    • operation:操作名称(字符串)
    • params:操作参数(字典)
  • 返回值:包含成功状态、结果/错误和日志的字典

可用操作

文件操作
ls(path=".")

列出指定路径中的文件和目录。

  • 示例:execute_fs_operation("ls", {})
  • 示例:execute_fs_operation("ls", {"path": "/tmp"})
read_file(path)

以 UTF-8 字符串形式读取文件内容。

  • 示例:execute_fs_operation("read_file", {"path": "README.md"})
write_file(path, content)

将内容写入文件(新建或覆盖)。

  • 示例:execute_fs_operation("write_file", {"path": "test.txt", "content": "Hello world!"})
edit_file(path, changes)

对文件执行搜索和替换操作。

  • 示例:
execute_fs_operation("edit_file", {
    "path": "config.py",
    "changes": [
        ["DEBUG = False", "DEBUG = True"],
        ["localhost", "production.com"]
    ]
})
目录管理
mkdir(path)

创建目录以及所有必要的父目录。

  • 示例:execute_fs_operation("mkdir", {"path": "project/src/utils"})
rmdir(path)

递归删除目录及其所有内容(请谨慎使用!)。

  • 示例:execute_fs_operation("rmdir", {"path": "temp_project"})
文件和目录管理
rm(path)

删除文件或空目录。

  • 示例:execute_fs_operation("rm", {"path": "unwanted_file.txt"})
  • 示例:execute_fs_operation("rm", {"path": "empty_dir"})(仅限空目录)
mv(src, dst)

移动或重命名文件和目录。

  • 示例:execute_fs_operation("mv", {"src": "old_name.txt", "dst": "new_name.txt"})
  • 示例:execute_fs_operation("mv", {"src": "temp", "dst": "project/temp"})
Shell 命令
shell(command, args=[], timeout=30)

执行 Shell 命令并返回 stdout、stderr 和 exit_code。

  • 示例:execute_fs_operation("shell", {"command": "git", "args": ["status"]})
  • 示例:execute_fs_operation("shell", {"command": "python", "args": ["--version"]})
  • 示例:execute_fs_operation("shell", {"command": "find", "args": [".", "-name", "*.py"], "timeout": 60})
  • 返回值:{"stdout": "...", "stderr": "...", "exit_code": 0, "command": "...", "working_directory": "..."}

错误处理

  • 连接错误:守护进程未运行 → 提供实用提示
  • 无效操作:列出可用操作及其签名
  • 文件错误:提供详细的错误类型(FileNotFoundError、PermissionError 等)
  • 参数错误:进行类型校验并检查必填项

Claude 的使用模式

  1. 发现:调用 get_available_operations() 查看可用内容
  2. 执行:调用 execute_fs_operation(operation_name, params_dict)

核心文件

  • fs_access.py - 包含所有操作的文件系统守护进程
  • mcp_server.py - 提供 Claude 接口的 MCP 服务
  • socket_protocol.py - Unix 套接字通信层
  • shell_examples.py - Shell 命令示例

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。