项目简介
本项目是一个实现了 Model Context Protocol (MCP) 协议的服务器,旨在为 Claude Desktop 等兼容 MCP 协议的大语言模型客户端提供本地文件系统访问和命令行执行能力。通过标准化的 MCP 协议,该服务器允许大语言模型安全、可控地与本地系统进行交互,扩展其功能边界。
主要功能点
- 文件系统访问工具:
- 查看文件内容:允许大语言模型查看指定文件的内容,并可指定行号范围。
- 搜索文件内容:支持使用正则表达式在文件中搜索特定模式的文本。
- 编辑文件内容:支持对文件内容进行精确的文本替换、插入、删除和替换行等操作。
- 写入文件内容:允许大语言模型创建新文件或向现有文件追加内容。
- 命令行执行工具:
- 执行 Shell 命令:允许大语言模型执行 Shell 命令,并返回命令的输出(包括标准输出和标准错误)。
- 网页内容获取工具:
- 抓取网页内容:支持将网页转换为 PDF 并提取文本内容。
安装步骤
- 安装 uv:如果您的系统尚未安装 uv,请根据 uv 官方文档 进行安装。
- 克隆仓库:下载或克隆此 GitHub 仓库到本地。
- 安装 MCP 服务器:在仓库根目录下运行命令 'uv run mcp install' 安装 MCP 服务器及其依赖。
- 查找 uv 执行路径:运行 'which uv' 命令获取 'uv' 可执行文件的绝对路径,例如 '/Users/your_username/.local/bin/uv'。
服务器配置
您需要在 MCP 客户端(例如 Claude Desktop)中配置连接到此 MCP 服务器。配置信息通常为 JSON 格式,以下是 Claude Desktop 的配置示例,您需要根据实际情况修改 'command' 和 'args' 字段中的路径:
{ "globalShortcut": "", "mcpServers": { "zbigniew-mcp": { <!-- 服务器名称,在客户端中用于标识和连接 --> "command": "/Users/your_username/.local/bin/uv", <!-- uv 可执行文件的绝对路径,替换为您在步骤 4 中找到的路径 --> "args": [ "run", "--with", "mcp[cli]", <!-- 启用 mcp cli 功能 --> "--with", "marker-pdf", <!-- 启用 marker-pdf 功能,支持 PDF 处理 --> "mcp", "run", "/path/to/my-mcp-server/server.py" <!-- server.py 脚本的绝对路径,替换为您仓库 server.py 文件的实际路径 --> ] } } }
配置说明:
- '"zbigniew-mcp"': 服务器的唯一标识符,您可以在 Claude Desktop 中使用此名称连接到该服务器。您可以自定义此名称。
- '"command"': 指定启动 MCP 服务器的命令,这里指向 'uv' 可执行文件。
- '"args"': 传递给 'uv' 命令的参数列表,用于启动 'server.py' 脚本并启用必要的功能。
- '"run"': 'uv' 的运行命令。
- '"--with", "mcp[cli]"': 启用 'mcp' 包的 'cli' 功能,这是运行 MCP 服务器的必要组件。
- '"--with", "marker-pdf"': 启用 'marker-pdf' 功能,为 'fetch_page' 工具提供 PDF 处理能力。如果不需要 'fetch_page' 工具,可以移除此项。
- '"mcp"': 指定运行 'mcp' 命令。
- '"run"': 'mcp' 命令的子命令,用于运行服务器脚本。
- '"/path/to/my-mcp-server/server.py"': 指定服务器脚本 'server.py' 的绝对路径。请务必替换为您的 'server.py' 文件的实际路径。
请将以上 JSON 配置添加到您的 MCP 客户端配置中,并确保路径配置正确。
基本使用方法
- 启动 MCP 服务器:配置完成后,当您在 MCP 客户端(如 Claude Desktop)中尝试连接到名为 '"zbigniew-mcp"' (或您自定义的服务器名称) 的服务器时,客户端会自动根据您配置的 'command' 和 'args' 启动 'server.py' 脚本,从而启动 MCP 服务器。
- 连接到服务器:在 Claude Desktop 或其他 MCP 客户端中,使用您在配置中设置的服务器名称(例如 '"zbigniew-mcp"')连接到 MCP 服务器。
- 使用工具:连接成功后,您可以在大语言模型中使用服务器提供的工具。工具的具体调用方式和参数请参考仓库 'README.md' 文件中 "Available Tools" 部分的说明。例如,在 Claude 中,您可以直接使用工具名称和参数,例如 'execute_shell_command(["ls", "-la"])' 来执行 'ls -la' 命令。
注意:
- 本服务器提供本地系统访问能力,请务必谨慎使用,并了解潜在的安全风险。
- 'fetch_page' 工具依赖 'chromium' 浏览器,请确保您的系统已安装 'chromium' 并可在命令行中访问。
信息
分类
桌面与硬件