MCP 文件系统
简介
核心亮点
- 让 AI 直接读写本地文件,告别繁琐的手动上传
- 支持目录扫描与内容编辑,极大提升代码重构效率
- 通过路径授权机制确保数据安全,访问范围可控
- 无缝集成至支持 MCP 的 IDE 或 AI 客户端
完整文档
Model Context Protocol servers
本仓库是 Model Context Protocol (MCP) 的*参考实现*集合,同时也包含社区构建的 server 引用及其他资源。
> [!IMPORTANT]
> 如果您在寻找 MCP server 列表,可以浏览 the MCP Registry 上已发布的 server。本 README 所对应的仓库仅用于存放由 MCP 指导小组维护的少量参考 server。
> [!WARNING]
> 本仓库中的 server 旨在作为参考实现,用于演示 MCP 特性和 SDK 用法。它们旨在为构建自定义 MCP server 的开发者提供教学示例,而非生产级解决方案。开发者应评估自身的安全需求,并根据具体的威胁模型和使用场景实施适当的防护措施。
本仓库中的 server 展示了 MCP 的通用性和可扩展性,演示了如何利用它为 Large Language Models (LLMs) 提供对工具和数据源的安全、可控访问。
通常,每个 MCP server 都是使用 MCP SDK 实现的:- C# MCP SDK
🌟 参考服务器
这些服务器旨在演示 MCP 功能和官方 SDK。
- Everything - 包含 prompts、resources 和 tools 的参考/测试服务器。
- Fetch - 为高效使用 LLM 提供的网页内容获取与转换工具。
- Filesystem - 具有可配置访问控制的安全文件操作工具。
- Git - 用于读取、搜索和操作 Git 仓库的工具。
- Memory - 基于知识图谱的持久化内存系统。
- Sequential Thinking - 通过思考序列进行动态且反思性问题解决。
- Time - 时间和时区转换能力。
已归档以下参考服务器现已存档,可在 servers-archived 中找到。- AWS KB Retrieval - 使用 Bedrock Agent Runtime 从 AWS Knowledge Base 进行检索。
- Brave Search - 使用 Brave Search API 进行网页和本地搜索。已被 official server 替代。
- EverArt - 使用多种模型进行 AI 图像生成。
- GitHub - 仓库管理、文件操作及 GitHub API 集成。
- GitLab - GitLab API,实现项目管理。
- Google Drive - Google Drive 的文件访问和搜索功能。
- Google Maps - 位置服务、路线规划和地点详情。
- PostgreSQL - 只读数据库访问及 schema 检查。
- Puppeteer - 浏览器自动化和网页抓取。
- Redis - 与 Redis 键值存储交互。
- Sentry - 从 Sentry.io 检索和分析问题。
- SQLite - 数据库交互和商业智能功能。## 🚀 快速上手
在本仓库中使用 MCP 服务器
本仓库中基于 TypeScript 的服务器可以直接通过npx 使用。
例如,这将启动 Memory 服务器:
npx -y @modelcontextprotocol/server-memoryuvx 或 pip 使用。为了方便使用和安装,推荐使用 uvx。
例如,这将启动 Git 服务器:
# With uvx
uvx mcp-server-git
With pip
pip install mcp-server-git
python -m mcp_server_gituv / uvx 以及这些指令来安装 pip。
使用 MCP Client
然而,单独运行 server 并没有太大用处,而应该将其配置到 MCP client 中。例如,以下是使用上述 server 的 Claude Desktop 配置:{
"mcpServers": {
"memory": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-memory"]
}
}
}cmd /c 包裹 npx:{
"mcpServers": {
"memory": {
"command": "cmd",
"args": ["/c", "npx", "-y", "@modelcontextprotocol/server-memory"]
}
}
}{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/files"]
},
"git": {
"command": "uvx",
"args": ["mcp-server-git", "--repository", "path/to/git/repo"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://localhost/mydb"]
}
}
}npx 的条目进行相同的封装:将 "command" 修改为 "cmd",并在现有 args 前添加 "/c", "npx"。保持 uvx 条目不变。
🛠️ 创建你自己的服务器
有兴趣创建自己的 MCP server 吗?请访问官方文档 modelcontextprotocol.io 获取关于实现 MCP servers 的全面指南、最佳实践和技术细节。
📚 了解更多
请参阅 ADDITIONAL.md 以获取精选的框架和资源列表,这些资源可以简化 MCP servers 和 clients 的构建。
🤝 贡献
请参阅 CONTRIBUTING.md 以获取有关向本仓库贡献代码的信息。
📦 发布
请参阅 RELEASING.md 以了解包的发布方式(来自 CI 的 OIDC 信任发布 —— 无需 registry tokens)以及如何重试失败的发布。
🔒 安全
请参阅 SECURITY.md 以报告安全漏洞。
📜 许可证
本项目的新贡献采用 Apache License, Version 2.0 许可证,现有代码采用 MIT 许可证 —— 详见 LICENSE 文件。
💬 社区
⭐ 支持
如果你觉得 MCP servers 有用,请考虑为本仓库点星并贡献新的 server 或改进建议!
---由 Anthropic 管理,但与社区共同构建。Model Context Protocol 是开源的,我们鼓励每个人贡献自己的 servers 和改进!