servers - MCP官方服务器参考实现库,用于构建AI工具生态系统
你是否想象过这样的场景:你的AI助手可以像人类一样使用各种工具——读取本地文件、操作数据库、管理云资源、发送邮件、浏览网页……所有这些能力都不需要为每个AI单独开发,而是通过一个统一的协议,让AI与现有工具无缝对接。这就是Model Context Protocol(MCP)正在做的事情,而servers项目正是MCP生态系统的核心——一个汇集了官方参考实现和社区贡献的MCP服务器集合。
servers是MCP(Model Context Protocol)官方维护的服务器仓库,包含了大量参考实现和社区贡献的服务器。这个项目是MCP生态的基石,它展示了如何将各种工具和服务封装成AI可调用的标准接口,让AI能够真正“连接”到现实世界。
项目基本信息
| 信息项 | 详情 |
|---|---|
| 项目名称 | servers |
| GitHub地址 | https://github.com/modelcontextprotocol/servers |
| 项目描述 | Model Context Protocol Servers |
| 作者 | modelcontextprotocol |
| 开源协议 | Other |
| Stars | 82370 |
| Forks | 10115 |
| 支持平台 | Windows / macOS / Linux |
| 最后更新 | 2026-03-29 |
一、项目介绍
servers是MCP官方维护的服务器参考实现仓库。MCP是一个开放协议,旨在标准化AI应用与外部工具之间的交互方式。你可以把它理解为AI世界的“USB接口”——不同的工具只要遵循MCP协议,就能被任何支持MCP的AI应用识别和使用。
这个项目的核心价值在于:
- 参考实现:提供了各种MCP服务器的参考实现,包括文件系统、数据库、API集成、浏览器自动化等,开发者可以学习如何构建自己的MCP服务器。
- 社区生态:汇集了社区贡献的MCP服务器,涵盖从开发工具到云服务的广泛领域,形成了丰富的AI工具生态。
- 最佳实践:每个服务器都遵循MCP协议的最佳实践,展示了如何设计工具接口、处理错误、管理资源等。
- 快速上手:开发者可以直接使用这些服务器,快速为自己的AI应用添加各种能力。
servers仓库包含了数十个MCP服务器,主要分为以下几类:
文件系统与数据
filesystem:本地文件系统操作sqlite:SQLite数据库查询和管理postgres:PostgreSQL数据库连接mongodb:MongoDB数据库操作
开发工具
github:GitHub API集成git:Git版本控制操作gitlab:GitLab API集成jira:Jira项目管理slack:Slack消息发送discord:Discord机器人
云服务
aws:AWS云资源管理gcp:Google Cloud Platformazure:Microsoft Azure
浏览器与Web
playwright:浏览器自动化puppeteer:Web抓取和自动化fetch:HTTP请求工具
AI与LLM
brave-search:Brave搜索引擎memory:AI记忆管理vector-store:向量数据库
其他
weather:天气查询calendar:日历管理email:邮件发送和接收notion:Notion笔记管理linear:Linear项目管理
二、核心优势
servers项目作为MCP生态的核心,具有以下独特优势:
- 官方权威:由MCP官方团队维护,确保了服务器的质量和协议兼容性。每个参考实现都严格遵循MCP规范,是学习MCP开发的最佳范例。
- 丰富的开箱即用能力:提供了数十个现成的MCP服务器,覆盖了开发、运维、办公、数据等各个领域。开发者可以直接使用这些服务器,为自己的AI应用快速添加功能。
- 多种编程语言支持:服务器使用不同的编程语言实现,包括TypeScript/JavaScript、Python、Go等,开发者可以选择自己熟悉的语言进行学习和扩展。
- 活跃的社区生态:拥有超过8.2万颗星和1万多个Forks,社区非常活跃。每天都有新的服务器被贡献,新的功能被添加,问题被快速响应。
- 完善的学习资源:每个服务器都配有详细的README文档,包括安装步骤、配置方法、使用示例。官方还提供了MCP协议规范文档,帮助开发者深入理解协议设计。
- 标准化接口:所有服务器都遵循统一的MCP协议接口,这意味着它们可以被任何支持MCP的AI客户端使用,实现了“一次开发,到处运行”。
- 安全的设计:服务器设计时考虑了安全性,支持多种认证方式,遵循最小权限原则。用户可以精细控制AI可以访问哪些资源和执行哪些操作。
三、适用场景
servers项目适用于多种AI工具集成的场景:
- AI应用开发:当你开发一个AI应用时,可以使用servers中的现成服务器快速添加功能。例如,添加文件读写能力、数据库查询能力、网络搜索能力等,无需从头实现。
- 个人生产力提升:将servers中的服务器配置到Claude Desktop等AI客户端,让AI助手能够操作本地文件、管理项目、发送消息,成为真正的生产力工具。
- 企业工作流集成:企业可以基于servers构建内部工具,让AI能够访问内部数据库、Jira项目、Slack频道,自动化处理日常任务。
- 学习和研究:对于想了解MCP协议和AI工具生态的开发者,servers是最好的学习资源。通过阅读源码,你可以理解如何设计工具接口、如何处理异步操作、如何管理资源生命周期。
- 二次开发和扩展:你可以fork现有的服务器,根据自身需求进行修改和扩展,快速构建定制化的AI工具。
- 测试和验证:在开发自己的MCP服务器时,可以使用servers中的参考实现作为测试基准,验证协议兼容性。
四、安装教程
系统要求
| 工具 | 用途 | 下载/安装方式 |
|---|---|---|
| Node.js | 运行TypeScript/JavaScript服务器 | [https://nodejs.org/] (版本要求:18.0 或以上) |
| Python | 运行Python服务器 | [https://python.org/] (版本要求:3.8 或以上) |
| Git | 下载项目代码 | [https://git-scm.com/] |
方法一:直接使用预构建的服务器
大多数MCP客户端(如Claude Desktop)支持直接配置使用这些服务器。
Claude Desktop配置
配置文件位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
添加服务器配置示例:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/dir"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your-token"
}
},
"sqlite": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sqlite", "--db-path", "/path/to/database.db"]
},
"brave-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": {
"BRAVE_API_KEY": "your-api-key"
}
}
}
}方法二:从源码运行
- 克隆仓库
git clone https://github.com/modelcontextprotocol/servers.git
cd servers- 安装依赖
对于TypeScript/JavaScript服务器:
npm install
npm run build对于Python服务器:
pip install -r requirements.txt- 运行特定服务器
# 运行TypeScript服务器
npx @modelcontextprotocol/server-filesystem /path/to/dir
# 运行Python服务器
python src/sqlite/server.py --db-path /path/to/db方法三:使用特定服务器的安装指南
每个服务器都有独立的安装说明,以filesystem服务器为例:
# 全局安装
npm install -g @modelcontextprotocol/server-filesystem
# 运行
mcp-server-filesystem /allowed/directory五、使用示例
核心服务器使用示例
示例1:文件系统服务器
配置filesystem服务器后,AI可以读取、写入和管理本地文件。
用户输入:
读取我桌面上的README.md文件内容
AI调用read_file工具,返回文件内容。
用户输入:
在当前目录创建一个名为notes.txt的文件,内容是“这是AI创建的笔记”
AI调用write_file工具,创建文件并写入内容。
用户输入:
列出下载目录中的所有文件
AI调用list_directory工具,返回文件列表。
示例2:GitHub服务器
配置GitHub服务器后,AI可以管理GitHub仓库。
用户输入:
查看我的仓库modelcontextprotocol/servers的最近5个issue
AI调用list_issues工具,返回issue列表。
用户输入:
创建一个新的issue,标题是“文档改进建议”,内容是“README需要添加中文翻译”
AI调用create_issue工具,创建新issue。
用户输入:
搜索所有包含“MCP”关键字的仓库
AI调用search_repositories工具,返回搜索结果。
示例3:SQLite服务器
配置SQLite服务器后,AI可以查询和操作数据库。
用户输入:
查询users表中的所有数据
AI调用query工具,执行SQL并返回结果。
用户输入:
创建一个新表products,包含id、name、price字段
AI调用execute工具,执行CREATE TABLE语句。
示例4:Brave Search服务器
配置Brave Search服务器后,AI可以进行网络搜索。
用户输入:
搜索最近关于MCP协议的最新消息
AI调用search工具,返回搜索结果列表。
示例5:Git服务器
配置Git服务器后,AI可以执行Git操作。
用户输入:
查看当前仓库的状态
AI调用git_status工具,返回修改的文件列表。
用户输入:
提交所有更改,提交信息是“通过AI自动提交”
AI调用git_commit工具,执行提交操作。
高级组合使用示例
示例6:代码审查自动化
结合filesystem和github服务器,AI可以自动审查PR。
用户输入:
审查PR #123,分析代码变更,如果有问题就创建issue
AI会:
- 使用github服务器获取PR的代码变更
- 分析代码质量问题
- 如果发现问题,使用github服务器创建issue
示例7:文档生成器
结合filesystem和sqlite服务器,AI可以生成数据库文档。
用户输入:
分析这个SQLite数据库,生成一份包含所有表和字段说明的Markdown文档
AI会:
- 使用sqlite服务器查询所有表结构
- 分析字段类型和关系
- 使用filesystem服务器生成Markdown文档
示例8:智能搜索系统
结合brave-search和sqlite服务器,AI可以实现搜索和存储。
用户输入:
搜索关于MCP的文章,把结果保存到数据库的search_results表中
AI会:
- 使用brave-search服务器搜索关键词
- 解析搜索结果
- 使用sqlite服务器将结果插入数据库
示例9:监控和告警系统
结合sqlite和slack服务器,AI可以实现监控告警。
用户输入:
每隔5分钟检查一下数据库中的errors表,如果有新的错误,通过Slack发送告警
AI会:
- 定期查询数据库
- 检测新错误
- 使用slack服务器发送消息
自定义服务器开发示例
示例10:创建简单的天气服务器
下面展示如何创建一个简单的MCP服务器。
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import {
CallToolRequestSchema,
ListToolsRequestSchema,
} from "@modelcontextprotocol/sdk/types.js";
// 创建服务器实例
const server = new Server(
{
name: "weather-server",
version: "1.0.0",
},
{
capabilities: {
tools: {},
},
}
);
// 列出可用工具
server.setRequestHandler(ListToolsRequestSchema, async () => {
return {
tools: [
{
name: "get_weather",
description: "获取指定城市的天气信息",
inputSchema: {
type: "object",
properties: {
city: {
type: "string",
description: "城市名称",
},
},
required: ["city"],
},
},
],
};
});
// 处理工具调用
server.setRequestHandler(CallToolRequestSchema, async (request) => {
if (request.params.name === "get_weather") {
const city = request.params.arguments?.city;
// 这里应该调用真实的天气API
const weather = {
city: city,
temperature: "22°C",
condition: "晴朗",
humidity: "65%",
};
return {
content: [
{
type: "text",
text: JSON.stringify(weather, null, 2),
},
],
};
}
throw new Error(`未知工具: ${request.params.name}`);
});
// 启动服务器
async function main() {
const transport = new StdioServerTransport();
await server.connect(transport);
console.error("天气服务器已启动");
}
main().catch(console.error);六、常见问题
问题1:如何找到特定功能的服务器
浏览servers仓库的README文件,所有服务器按类别组织。你也可以搜索issue和discussion,查看社区推荐。
问题2:服务器无法连接到MCP客户端
检查以下几点:
- 确认服务器命令和参数正确
- 检查环境变量是否设置
- 查看客户端日志获取详细错误信息
- 尝试手动运行服务器命令,确认其可以正常启动
问题3:如何配置多个服务器
在MCP客户端的配置文件中,可以添加多个服务器配置。每个服务器使用不同的名称,互不干扰。
问题4:服务器性能如何
MCP服务器的性能取决于具体实现。官方参考实现经过优化,性能良好。对于高频调用场景,可以考虑使用连接池、缓存等优化手段。
问题5:如何调试服务器
可以使用以下方法调试:
- 查看服务器日志(stderr输出)
- 使用MCP Inspector工具:
npx @modelcontextprotocol/inspector - 手动发送MCP请求进行测试
问题6:如何为MCP生态做贡献
你可以:
- 使用现有服务器,报告bug
- 改进文档
- 创建新的服务器并提交PR
- 参与GitHub Discussions讨论
问题7:服务器支持哪些认证方式
不同服务器支持不同的认证方式,通常包括:
- API密钥(通过环境变量)
- OAuth2
- 个人访问令牌
- 本地凭证文件
问题8:如何确保服务器安全
安全建议:
- 只授予AI必要的最小权限
- 使用专用账户运行服务器
- 定期更新服务器版本
- 审查服务器代码(尤其是社区贡献的服务器)
七、总结
servers项目是MCP生态系统的核心,它汇集了丰富的官方参考实现和社区贡献,为AI应用提供了连接现实世界的能力。通过这个项目,开发者可以:
- 快速上手MCP:通过研究参考实现,理解MCP协议的设计理念和最佳实践。
- 构建强大AI应用:直接使用现成的服务器,为AI助手添加各种工具能力。
- 参与生态建设:贡献自己的服务器,丰富MCP生态。
随着MCP协议的发展和AI技术的进步,servers项目将继续增长,涵盖更多的工具和服务。未来,我们可以期待:
- 更多官方参考实现
- 更完善的文档和教程
- 更强大的工具能力
- 更活跃的社区生态
无论你是AI应用开发者、工具链维护者,还是对AI技术感兴趣的开发者,servers项目都值得深入探索。它代表了AI与工具集成的未来方向,是构建下一代AI应用的重要基础设施。
The memory server is underrated. It gives AI persistent memory across conversations. Very useful for long-running projects.
Git服务器让我可以在AI对话中直接提交代码。写完代码让AI commit,一条指令搞定,不用切换终端。
This repository is a goldmine for anyone working with MCP. The official servers demonstrate best practices for error handling, resource management, and tool design.
每个服务器都支持环境变量配置,敏感信息不用写死在配置文件里。安全实践很到位。
The Python implementations are well done. I've extended the sqlite server to add custom functions. The code is clean and well-structured.