5.3 MCP 生态全景——官方 Server、Registry、客户端集成
MCP 不是孤立的技术——它有一个庞大的生态系统。小周在技术评审会后,团队决定采用 MCP。他最后想了解:生态里有什么现成的东西可以用?团队如何高效地使用 MCP?
官方 MCP Server
Anthropic 提供了 7 个官方参考实现:
此外还有社区维护的常用 Server(GitHub、Postgres、Slack 等),配置方式相同。
MCP Registry
MCP Registry 是公开 MCP Server 的集中式元数据仓库。
- API: https://registry.modelcontextprotocol.io
- GitHub: https://github.com/modelcontextprotocol/registry
功能:
- 命名空间管理:通过 DNS 验证的组织命名空间
- REST API:发现和搜索 Server
- 标准化格式:
server.json元数据
定位:Registry 旨在被下游聚合器/市场消费,而非直接被 Host 应用使用。
server.json 元数据示例
发布到 Registry 的 Server 需要一个 server.json 文件:
{
"name": "my-database-server",
"version": "1.2.0",
"description": "MCP Server for querying PostgreSQL databases",
"repository": {
"url": "https://github.com/example/mcp-db-server"
},
"tools": [
{ "name": "query", "description": "Execute read-only SQL queries" },
{ "name": "list-tables", "description": "List all tables in the database" }
],
"transport": "stdio",
"runtime": "python",
"installCommand": "pip install mcp-db-server"
}客户端集成
哪些 AI 工具支持 MCP:
| 客户端 | Resources | Prompts | Tools | Sampling | OAuth |
|---|---|---|---|---|---|
| Claude Desktop | ✅ | ✅ | ✅ | ✅ | ✅ |
| Claude (Web) | ✅ | ✅ | ✅ | ❌ | ✅ |
| VS Code | ✅ | ✅ | ✅ | ❌ | ✅ |
| Cursor | ✅ | ✅ | ✅ | ❌ | ✅ |
| ChatGPT | ❌ | ❌ | ✅ | ❌ | ✅ |
| Windsurf | ✅ | ✅ | ✅ | ❌ | ✅ |
配置方式
Claude Desktop:编辑 claude_desktop_config.json
VS Code:在 Settings 中配置 mcp.servers
Cursor:Settings → MCP,格式与 Claude Desktop 相同
Claude Code:在 .claude/settings.json 中配置
// 通用配置格式
{
"mcpServers": {
"my-server": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path"],
"env": { "API_KEY": "xxx" }
}
}
}MCPB——一键安装
MCPB(Desktop Extensions)提供一键安装 MCP Server 的方式:
- 开发者将 Server 打包为
.mcpb文件 - 用户双击
.mcpb文件 - Claude Desktop 等应用自动安装和配置
- 无需手动编辑 JSON
适合企业内部工具分发和非技术用户。
CI/CD 中的 MCP
小周的团队用 GitHub Actions 做持续集成。MCP Inspector CLI 模式可以集成到 CI/CD pipeline 中:
# .github/workflows/mcp-test.yml
name: MCP Server Tests
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- run: pip install mcp
# 列出工具(验证 Server 能启动、工具正确注册)
- name: List tools
run: |
npx @modelcontextprotocol/inspector --cli python server.py \
--method tools/list
# 调用工具(验证核心功能)
- name: Test create-task tool
run: |
npx @modelcontextprotocol/inspector --cli python server.py \
--method tools/call --tool-name create-task \
--tool-arg title="CI测试任务" --tool-arg priority="low"关键实践:
- 每次 push 自动验证 Server 能启动、工具正确注册
- 核心工具的参数变更会被自动发现
tools/list输出可用于对比工具 Schema 是否意外变更
Agent 框架集成
MCP 不只能在 Claude Desktop 中使用——主流 Agent 框架都支持 MCP 工具:
langchain_mcp_adapters
MCPToolset
内置 MCP Client
LangChain / LangGraph
# langchain_mcp_agent.py
from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent
from langchain_anthropic import ChatAnthropic
async def main():
# 连接 MCP Server
async with MultiServerMCPClient({
"todo": {
"command": "python",
"args": ["server.py"],
"transport": "stdio"
}
}) as client:
# MCP 工具自动转换为 LangChain 工具
tools = client.get_tools()
agent = create_react_agent(ChatAnthropic(model="claude-sonnet-4-20250514"), tools)
result = await agent.ainvoke({"messages": "添加待办:学习 MCP 与 Agent 框架集成"})
print(result["messages"][-1].content)Google ADK
# adk_mcp_agent.py
from google.adk.tools.mcp_tool import MCPToolset
from google.adk.agents import Agent
agent = Agent(
name="todo_agent",
model="gemini-2.0-flash",
tools=[MCPToolset(
server_command="python",
server_args=["server.py"]
)]
)关键点:无论用什么框架,MCP Server 的实现方式完全相同——只需写一次 Server,所有 Agent 框架都能用。
社区生态
社区 Server 覆盖的领域:数据库、云服务、通信工具、开发工具、AI 服务、搜索、监控...
小周的工具箱
小周给自己的项目选了这些 MCP Server:
本节核心要点
- 7 个官方参考 Server + 社区数千个 Server 覆盖各种场景
- MCP Registry 是集中式元数据仓库,供聚合器消费
- 主流 AI 工具(Claude Desktop、VS Code、Cursor、ChatGPT)都支持 MCP
- MCPB 提供一键安装方式
- 选择 Server 时遵循最小权限原则——只连接你需要的
思考题:搜索一下 MCP 社区生态,看看有没有适合你项目需求的现成 Server。如果有,还需要自己开发吗?
参考思路
先在 Smithery(smithery.ai)或 awesome-mcp-servers 列表中搜索你的需求关键词。如果找到合适的 Server,评估:活跃度(最近更新时间)、安全性(代码是否开源可审计)、功能覆盖度。只有在现有 Server 无法满足需求时,才需要自己开发。