
My Server
一个自定义的模型上下文协议服务器,通过标准化工具接口为Claude Desktop及其他大型语言模型提供文件系统操作和命令执行能力访问。
概述
MCP工具集
一个自定义的Model Context Protocol(MCP)服务器实现,为Claude Desktop和其他LLM客户端提供文件系统和命令执行工具。
什么是Model Context Protocol?
Model Context Protocol(MCP)是一个开放协议,标准化了应用程序如何向大语言模型(LLMs)提供上下文。就像USB-C接口为设备连接各种外设提供了标准化方式一样,MCP为AI模型连接不同数据源和工具提供了标准化方法。
本项目实现了一个带有多种实用工具的FastMCP服务器,使Claude和其他LLMs能够与您的本地文件系统交互并执行命令。它通过定义良好的工具接口,以可控的方式扩展了LLMs对本地系统的访问能力。
MCP的主要优势
- 标准化集成:MCP提供了一系列预构建的集成组件,您的LLM可以直接接入
- 供应商灵活性:轻松在不同LLM供应商(Claude、GPT-4o、Gemini等)之间切换
- 安全性:在您的基础设施内保护数据的最佳实践
- 工具暴露:封装现有工具使其可供任何兼容MCP的LLM客户端使用
功能特性
MCP服务器提供以下文件系统和命令执行工具:
- execute_shell_command:执行shell命令并获取stdout/stderr结果
- show_file:查看文件内容,可指定行范围
- search_in_file:使用正则表达式在文件中搜索模式
- edit_file:通过字符串替换和行操作精确修改文件
- write_file:写入或追加内容到文件
MCP架构
MCP采用客户端-服务器架构:
- 主机:LLM应用程序(如Claude Desktop或IDE),发起连接
- 客户端:与服务器保持1:1连接,位于主机应用程序内部
- 服务器:向客户端提供上下文、工具和提示(本项目实现了一个服务器)
先决条件
- Python 3.10或更高版本
- 兼容MCP的客户端(Claude Desktop或其他支持MCP的客户端)
安装步骤
- 安装uv
- 克隆本仓库或下载源代码
- 运行
uv run mcp install
安装MCP服务器 - 运行
which uv
获取uv
可执行文件的绝对路径 - 在Claude Desktop中更新您的MCP服务器配置,使用
uv
可执行文件的绝对路径
我的MCP服务器配置如下:
json
{
"globalShortcut": "",
"mcpServers": {
"zbigniew-mcp": {
"command": "/Users/zbigniewtomanek/.local/bin/uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with",
"marker-pdf",
"mcp",
"run",
"/Users/zbigniewtomanek/PycharmProjects/my-mcp-tools/server.py"
]
}
}
}
使用说明
从Claude Desktop连接
- 打开Claude Desktop
- 使用标识符"zbigniew-mcp"连接MCP服务器
注意:虽然本实现主要针对Claude Desktop,但MCP设计为兼容任何支持MCP的工具或LLM客户端,在实现和集成方面提供了灵活性。
可用工具
execute_shell_command
使用参数列表安全执行shell命令:
python
execute_shell_command(["ls", "-la"])
execute_shell_command(["grep", "-r", "TODO", "./src"])
execute_shell_command(["python", "analysis.py", "--input", "data.csv"])
execute_shell_command(["uname", "-a"])
show_file
查看文件内容,可指定行范围:
python
show_file("/path/to/file.txt")
show_file("/path/to/file.txt", num_lines=10)
show_file("/path/to/file.txt", start_line=5, num_lines=10)
search_in_file
使用正则表达式在文件中搜索模式:
python
search_in_file("/path/to/script.py", r"def\s+\w+\s*\(")
search_in_file("/path/to/code.py", r"#\s*TODO", case_sensitive=False)
edit_file
精确修改文件:
python
# 替换文本
edit_file("config.json", replacements={"\"debug\": false": "\"debug\": true"})
# 在第5行插入
edit_file("script.py", line_operations=[{"operation": "insert", "line": 5, "content": "# New comment"}])
# 删除10-15行
edit_file("file.txt", line_operations=[{"operation": "delete", "start_line": 10, "end_line": 15}])
# 替换第20行
edit_file("file.txt", line_operations=[{"operation": "replace", "line": 20, "content": "Updated content"}])
write_file
写入或追加内容到文件:
python
# 覆盖文件
write_file("/path/to/file.txt", "New content")
# 追加到文件
write_file("/path/to/log.txt", "Log entry", mode="a")
fetch_page
将网页内容抓取为PDF(需要安装chromium),然后使用本地LLM解析为markdown:
python
fetch_page("https://example.com")
传输机制
MCP支持多种客户端与服务器间的通信方式:
- 标准输入/输出(stdio):使用标准输入输出进行通信,适合本地进程
- 服务器发送事件(SSE):通过HTTP POST请求实现服务器到客户端的流式通信
本实现使用通过文本输入/输出通信的本地MCP服务器。
扩展自定义工具
您可以通过添加带有@mcp.tool
装饰器的新工具轻松扩展此MCP服务器。按照server.py中的模式创建新工具,向LLM客户端暴露额外功能。
相关项目
- langchain-mcp-adapters:在LangChain中使用MCP
- MCP-Bridge:将MCP工具映射到OpenAI的格式
安全注意事项
MCP服务器为Claude提供对您本地系统的访问权限。请注意:
- 服务器以您的用户身份执行shell命令
- 它可以读取、写入和修改您系统上的文件
- 如果关注安全性,请考虑限制对特定目录的访问

Ai Image Gen Mcp
使用户能够使用 Replicate 的模型从文本提示生成图像,支持配置参数并完全符合 MCP 协议。
Aistor
AIStor 官方 MCP 服务器
Any Openapi
一个 MCP 服务器,使 Claude 能够通过语义搜索发现并调用任何 API 端点。智能分块 OpenAPI 规范以处理大型 API 文档,并具备内置的请求执行功能。非常适合将私有 API 与 Claude Desktop 集成。
Apple Notes Mcp
使用 Claude 模型上下文协议读取您的 Apple Notes