GitHub: modelcontextprotocol/servers
Stars: 87,300+ | License: Apache 2.0 (新代码) / MIT (已有代码)
官网: modelcontextprotocol.io
目录
项目速览
MCP Servers 是 Model Context Protocol 官方维护的参考服务器集合,旨在展示 MCP 协议的各种能力并作为开发者构建自定义 Server 的教学范例。官方明确声明这些实现「旨在作为参考实现展示 MCP 功能和 SDK 用法」,是「面向开发者的教育示例,而非生产就绪方案」。
截至 2026 年 6 月,项目在 GitHub 上获得超过 87,300 颗 Star,是所有 MCP 生态项目中关注度最高的仓库。项目维护了 7 个活跃的参考服务器(另有 14 个已归档至 servers-archived 仓库),覆盖网络抓取、文件操作、版本控制、知识图谱记忆、结构化推理、时间处理等典型 AI 工具场景。
项目的价值不仅在于可直接使用的工具,更在于它展示了 MCP 协议三大核心原语(Tools、Resources、Prompts)的最佳实践,以及 stdio、SSE、Streamable HTTP 三种传输协议的配置方式。每个 Server 都是一个独立可运行的完整示例,开发者可以由此学习如何设计工具的参数 Schema、如何处理错误、如何管理状态以及如何编写 Claude Desktop / VS Code 的配置。
功能概述
1. Everything — 全功能协议测试服务器
Everything 是一个综合性的测试与演示服务器,旨在「锻炼 MCP 协议的所有功能」,为 MCP 客户端构建者提供一个覆盖全部协议特性面的测试目标。它不是面向最终用户的生产工具,而是面向客户端开发者的验证工具。
涵盖的协议特性:
- Tools(工具调用)
- Resources(资源访问)
- Prompts(提示模板)
- Sampling(服务端调用 LLM)
- 分页、进度报告、Elicitation 等协议扩展
支持的传输方式:
| 传输方式 | 启动命令 |
|---|---|
| stdio(默认) | npx -y @modelcontextprotocol/server-everything |
| Streamable HTTP | npx -y @modelcontextprotocol/server-everything streamableHttp |
| SSE(2025-03-26 起弃用) | npx -y @modelcontextprotocol/server-everything sse |
npm 包名: @modelcontextprotocol/server-everything
2. Fetch — 网页内容抓取与转换
Fetch 服务器提供网页内容抓取功能,将 HTML 自动转换为 Markdown 格式供 LLM 消费。最突出的设计是支持分块渐进式读取(chunked reading),模型可以从 start_index 开始分段读取长文档。
工具:fetch
| 参数 | 类型 | 必需 | 默认值 | 说明 |
|---|---|---|---|---|
url |
string | 是 | — | 要抓取的 URL |
max_length |
int | 否 | 5000 | 返回字符数上限 |
start_index |
int | 否 | 0 | 内容提取的起始字符索引 |
raw |
bool | 否 | false | true 时返回原始内容(不做 Markdown 转换) |
提示模板:fetch — 接收 url 参数,返回该 URL 的 Markdown 内容。
安装方式:
# 方式一:uvx(推荐,无需安装) |
自定义参数:
--ignore-robots-txt— 忽略 robots.txt 规则--user-agent=YourUserAgent— 自定义 User-Agent--proxy-url=http://proxy:8080— 通过代理发起请求
安全声明: 该服务器可访问本地/内网 IP 地址,可能构成安全风险。默认 User-Agent 遵循模型发起的工具请求会遵守 robots.txt 的规范。
3. Filesystem — 安全文件操作
Filesystem 服务器提供安全的文件系统操作,支持可配置的访问控制。通过指定允许访问的目录路径,将文件读写能力暴露给 AI 助手,同时限制沙箱范围。
启动方式:
npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/files |
可指定多个允许路径,服务器仅能操作这些目录下的文件。
4. Git — 版本控制操作
Git 服务器将 Git 操作封装为 MCP 工具,让 AI 助手可以读取、搜索和操作 Git 仓库。这是一个 Python 实现(使用 uvx 运行)。
核心能力:
- 查看提交历史(git log)
- 查看文件差异(git diff)
- 查看暂存区状态(git status)
- 分支管理
- 文件内容查看
启动方式:
uvx mcp-server-git --repository /path/to/git/repo |
5. Memory — 知识图谱持久记忆系统
Memory 服务器是整个集合中最具创新性的设计。它使用本地知识图谱实现跨会话持久记忆,让 AI 助手能在不同的聊天会话之间记住用户信息。
知识图谱的三个核心概念:
- 实体(Entity):图谱中的节点,每个实体有唯一名称、类型(如
"person"、"organization"、"event")和一组观察(Observations) - 关系(Relation):实体之间的有向连接,如
"works_at"连接一个人和一家公司 - 观察(Observation):附加在实体上的原子事实字符串,可独立增删(「一条观察一个事实」)
9 个工具完整清单:
| 工具名 | 功能 | 关键行为 |
|---|---|---|
create_entities |
批量创建实体 | 输入数组(name + entityType + observations)。忽略同名已有实体 |
create_relations |
建立有向关系 | 输入数组(from + to + relationType)。跳过重复关系 |
add_observations |
向已有实体追加事实 | 输入数组(entityName + contents)。实体不存在则失败 |
delete_entities |
删除实体及级联关系 | 输入实体名称数组。级联删除关联关系,实体不存在时静默 |
delete_observations |
删除指定观察 | 输入数组(entityName + observations)。观察不存在时静默 |
delete_relations |
删除指定关系 | 输入数组(from + to + relationType)。关系不存在时静默 |
read_graph |
返回完整知识图谱 | 无需输入,返回所有实体和关系 |
search_nodes |
跨实体名/类型/观察文本搜索 | 接收 query 字符串,返回匹配实体及其关系 |
open_nodes |
按名称检索特定实体 | 接收 names 字符串数组,返回实体及其关系。静默跳过不存在的节点 |
存储: 默认使用 memory.jsonl(JSONL 格式),可通过环境变量 MEMORY_FILE_PATH 自定义路径。
启动方式:
# NPX |
系统提示词引导: 官方提供了示例系统提示词,定义了四个阶段:用户识别(默认 default_user)→ 会话开始时检索记忆 → 对话中监听新信息 → 会话结束时更新实体、关系和观察。
6. Sequential Thinking — 动态结构化推理
Sequential Thinking 服务器解决的是复杂问题的分步推理需求。当问题涉及不清晰的范围、相互依赖的变量或不断变化的约束时,模型的单次回答往往不够深入或不够准确。该工具强制执行多步推理,允许模型修正早期结论、探索替代分支,并动态调整思考步数。
唯一工具:sequential_thinking
| 参数 | 类型 | 必需 | 说明 |
|---|---|---|---|
thought |
string | 是 | 当前思考步骤的内容 |
nextThoughtNeeded |
boolean | 是 | 是否还需要后续步骤 |
thoughtNumber |
int | 是 | 当前思考的序数位置 |
totalThoughts |
int | 是 | 预估的总步数 |
isRevision |
boolean | 否 | 标记此步是对早期思考的修正 |
revisesThought |
int | 否 | 被修正的思考步骤编号 |
branchFromThought |
int | 否 | 分支起点的思考步骤编号 |
branchId |
string | 否 | 分支标识符 |
needsMoreThoughts |
boolean | 否 | 表明总步数估计需要上调 |
工作方式: 宿主(Claude Desktop / VS Code)多次调用该工具,每次调用代表一个独立的推理步骤。随着序列展开,可能出现:
- 修正(Revision):发现之前某步不够完善,通过
isRevision+revisesThought返回修改 - 分支(Branching):当某个假设可能错误时,通过
branchFromThought+branchId分叉出替代路径,并行探索多个假设 - 动态调整(Dynamic Adjustment):问题范围扩大时,通过
needsMoreThoughts表明初始估计过于保守
适用的问题类型:
- 需要分解为子步骤的复杂问题
- 可能需要修正的规划与设计
- 需要修正路线的分析
- 初始范围不清晰的问题
- 需要跨步骤保持上下文的推理
- 推理过程需要过滤无关信息
启动方式:
npx -y @modelcontextprotocol/server-sequential-thinking |
环境变量 DISABLE_THOUGHT_LOGGING=true 可关闭思考内容的日志输出。
7. Time — 时间与时区转换
Time 服务器提供时间和时区转换能力,是一个 Python 实现的轻量级工具。
启动方式:
uvx mcp-server-time --local-timezone=America/New_York |
支持本地时区设置,可进行时区转换、获取当前时间等操作。
已归档的服务器
以下 14 个服务器因维护策略调整已移至独立的 servers-archived 仓库:
| 服务器 | 说明 |
|---|---|
| AWS KB Retrieval | AWS Bedrock 知识库检索 |
| Brave Search | Brave 搜索 API 集成 |
| EverArt | AI 图像生成 |
| GitHub | GitHub API 集成(@modelcontextprotocol/server-github) |
| GitLab | GitLab API 集成 |
| Google Drive | Google Drive 文件操作 |
| Google Maps | Google Maps 地理服务 |
| PostgreSQL | PostgreSQL 数据库查询(@modelcontextprotocol/server-postgres) |
| Puppeteer | 浏览器自动化 |
| Redis | Redis 缓存操作 |
| Sentry | Sentry 错误追踪 |
| Slack | Slack 消息集成 |
| SQLite | SQLite 数据库查询 |
适用场景
增强 AI 编码助手
Filesystem 和 Git 服务器可以让 Claude Code、VS Code Copilot 等 AI 编码助手直接操作项目文件和版本历史,无需手动复制粘贴。
AI 个人记忆系统
Memory 服务器的知识图谱方案适合构建个人 AI 助理,跨会话记住用户的偏好、背景信息、项目进展等,实现真正的个性化体验。
复杂推理增强
Sequential Thinking 服务器适用于技术方案设计、系统架构决策、故障排查等需要多轮反思和路线修正的场景。
信息聚合与分析
Fetch 服务器配合 AI 助手可实现自动化的网页信息抓取、竞争分析、文档调研等工作流。
跨时区协作
Time 服务器为全球化团队提供统一的时区转换能力,可集成到会议安排、截止日期提醒等场景中。
MCP 学习与参考
对于正在构建自定义 MCP Server 的开发者,Everything 服务器是最全面的协议功能参考,其他 6 个服务器则展示了特定领域的工具设计模式。
快速上手
通用配置模式
所有 MCP 服务器的 Claude Desktop 配置遵循统一的 JSON 结构:
{ |
典型多服务器配置
一个同时启用 Memory、Fetch 和 Git 的生产级配置:
{ |
VS Code 配置
VS Code 使用 "servers" 作为顶层 key(而非 "mcpServers"),配置放入用户级 mcp.json 或工作区级 .vscode/mcp.json:
{ |
Debug 工具
MCP Inspector 可用于调试任何 MCP 服务器:
# 调试 Fetch 服务器 |
源码架构
目录结构
src/ |
设计原则
语言多样性:7 个活跃服务器中,3 个使用 TypeScript(Everything、Filesystem、Memory、Sequential Thinking),3 个使用 Python(Fetch、Git、Time),展示了两种 SDK 的完整用法。
传输协议覆盖:所有服务器默认支持 stdio 传输(主要用于 Claude Desktop),多数也提供 Streamable HTTP 选项。
独立可部署:每个服务器都有独立的 package.json 或 pyproject.toml,可通过 npm/uvx 独立安装运行,互不依赖。
npm 包命名规范:TypeScript 实现的服务器统一使用 @modelcontextprotocol/server-<name> 命名空间。
实操 Demo
Demo 1: 使用 Memory 构建个性化 AI 助手
步骤一:配置并启动 Memory 服务器
在 Claude Desktop 配置中添加:
{ |
步骤二:AI 自动管理记忆
当你在对话中提到个人信息时,AI 助手会自动调用 Memory 工具:
用户: 我是张三,在 Acme 公司做后端工程师,主要用 Go 和 Python。 |
步骤三:跨会话记忆检索
下一次对话开始时,AI 通过 search_nodes 检索到之前存储的信息,实现连续性交互:
[新会话] |
Demo 2: 使用 Sequential Thinking 进行架构决策
场景: 为一个文件同步引擎选择技术方案
用户: 帮我设计一个跨平台文件同步引擎的方案 |
Demo 3: 使用 Fetch 进行竞争分析
将 Fetch 服务器配置到 AI 助手中,通过自然语言指令即可完成竞品调研:
用户: 抓取 OpenAI、Anthropic 和 Google 三家最新大模型 |
同类对比
| 维度 | MCP Servers(官方) | LangChain Tools | Composio | 自定义开发 |
|---|---|---|---|---|
| 协议标准 | MCP 标准协议 | LangChain 自定义 | MCP + REST | 自定协议 |
| 可用工具数 | 7 个参考实现 | 200+ 集成 | 100+ 集成 | 按需开发 |
| 设计定位 | 教育示例(非生产级) | 生产级集成 | 生产级 SaaS | 完全可控 |
| 维护者 | Anthropic 官方 | LangChain 社区 | Composio 团队 | 自有团队 |
| 知识图谱记忆 | Memory(本地 JSONL) | ConversationMemory 等 | 无内置 | 自行实现 |
| 结构化推理 | Sequential Thinking | Chain-of-Thought | 无内置 | 自行实现 |
| 部署复杂度 | 一条命令运行 | 需安装依赖包 | 需注册账号 | 需完整开发 |
| 学习价值 | 最佳 MCP 协议实践参考 | 适合快速原型 | 适合生产集成 | 灵活度最高 |
参考资源
- GitHub 仓库: modelcontextprotocol/servers
- 已归档服务器: modelcontextprotocol/servers-archived
- MCP 协议规范: modelcontextprotocol.io
- MCP Inspector(调试工具): @modelcontextprotocol/inspector
- Python SDK: modelcontextprotocol/python-sdk
- TypeScript SDK: modelcontextprotocol/typescript-sdk
- Claude Desktop 配置指南: modelcontextprotocol.io/quickstart/user
- VS Code MCP 配置: code.visualstudio.com/docs/copilot/customization/mcp-servers


