MCP(Model Context Protocol)是 2026 年 AI 领域最重要的协议标准之一。它解决了一个人人头疼的问题:每换一个 AI 工具,就要重新写一套接口适配代码。MCP 把这个「M×N」问题变成了「M+N」——写一次 Server,所有支持 MCP 的 AI 都能用。Claude Desktop、Cursor、VS Code 已原生支持,社区已有数百个现成 Server。
MCP 核心架构
MCP 采用 C/S 架构,三个核心组件:
- Host(宿主):你用的 AI 应用,如 Claude Desktop、Cursor,提供对话界面并内置 MCP Client
- Client(客户端):宿主内部的连接器,把 AI 的请求打包成 MCP 标准格式发给 Server
- Server(服务器):对接外部资源的程序,接收请求、执行操作、返回结果。可以读文件、查数据库、调 API
2026 年 7 月发布的 RC 版规范引入了无状态请求/响应模式,取代了旧的会话绑定机制,让 MCP Server 可以像普通 HTTP API 一样水平扩展,这对企业级部署意义重大。
第一步:环境准备
- 安装 Node.js 18+(下载 LTS 版本,安装时勾选 Add to PATH)
- 安装 Python 3.10+(安装时勾选 Add Python to PATH)
- 安装 Claude Desktop(claude.ai/download)或 Cursor(cursor.sh)
- 验证:终端运行 node -v 和 python --version,能显示版本号即可
第二步:配置 Filesystem Server(让 AI 读写本地文件)
这是最常用也最实用的 MCP Server。配置后 AI 可以直接读取、创建、修改你指定目录下的文件,不用手动上传下载。
打开 Claude Desktop → 设置 → Developer → Edit Config,会打开一个 claude_desktop_config.json 文件。写入以下配置:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"C:\\Users\\你的用户名\\Desktop",
"C:\\Users\\你的用户名\\Documents"
]
}
}
}保存后重启 Claude Desktop。测试:在对话框输入「读取桌面的 test.txt 文件」,AI 会直接返回文件内容。Windows 路径必须用双反斜杠,Mac 用正斜杠。
第三步:配置多个 Server 协同
MCP 的威力在于多个 Server 同时工作。在同一个配置文件中添加更多 Server:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "C:\\Users\\你\\Desktop"]
},
"time": {
"command": "python",
"args": ["-m", "mcp_server_time", "--tz", "Asia/Shanghai"]
},
"sqlite": {
"command": "python",
"args": ["-m", "mcp_server_sqlite", "--db-path", "./mydata.sqlite"]
}
}
}- filesystem:读写本地文件(npx 自动下载,无需预装)
- time:获取精确时间,消除 AI 的「时间幻觉」(pip install mcp-server-time)
- sqlite:查询本地数据库(pip install mcp-server-sqlite)
配置多个 Server 后,AI 能跨工具协作。比如「搜索 2026 年 React 状态管理方案,然后把结果保存到桌面的 react-research.md」——AI 会先调 Brave Search 搜索,再调 Filesystem 写文件,全程自主完成。
第四步:开发自定义 MCP Server(Python)
如果现成 Server 不能满足需求,可以用 Python SDK 快速开发自己的 Server。以「任务管理」为例:
pip install mcp
# task_server.py
from mcp.server import Server
from mcp.types import Tool, TextContent
import json
server = Server("task-manager")
tasks = []
@server.list_tools()
async def list_tools():
return [
Tool(name="add_task", description="添加任务",
inputSchema={"type": "object",
"properties": {"title": {"type": "string"}},
"required": ["title"]}),
Tool(name="list_tasks", description="列出所有任务",
inputSchema={"type": "object", "properties": {}}),
]
@server.call_tool()
async def call_tool(name, arguments):
if name == "add_task":
tasks.append({"title": arguments["title"], "done": False})
return [TextContent(type="text", text=f"已添加:{arguments['title']},共 {len(tasks)} 条")]
elif name == "list_tasks":
return [TextContent(type="text", text=json.dumps(tasks, ensure_ascii=False))]
if __name__ == "__main__":
import asyncio
from mcp.server.stdio import stdio_server
asyncio.run(stdio_server(server.run))在 claude_desktop_config.json 中注册你的 Server:
{
"mcpServers": {
"task-manager": {
"command": "python",
"args": ["C:\\path\\to\\task_server.py"]
}
}
}第五步:调试与排错
- Server 不生效:检查 JSON 格式(用 jsonlint.com 校验),确认路径正确,重启 Claude
- 日志查看:Claude Desktop 日志在 %APPDATA%\Claude\Logs,Cursor 在 Output 面板选 MCP
- npx 下载慢:设置 npm 镜像 npm config set registry https://registry.npmmirror.com
- 权限问题:macOS 可能需要在「系统设置 → 隐私与安全」中允许终端完全磁盘访问
- MCP Inspector:官方调试工具,运行 npx @modelcontextprotocol/inspector 可可视化测试 Server
第六步:进阶——接入 GitHub 和数据库
社区已有丰富的 MCP Server 生态,常用包括:
- GitHub Server:管理 Issue、PR、仓库(npx @modelcontextprotocol/server-github)
- PostgreSQL Server:直接查询数据库(pip install mcp-server-postgres)
- Brave Search Server:让 AI 联网搜索(npx @modelcontextprotocol/server-brave-search)
- Puppeteer Server:浏览器自动化(npx @modelcontextprotocol/server-puppeteer)
企业场景可以把内部 API 封装成 MCP Server,让 AI 安全地访问企业数据,数据不出本地。
MCP 的核心价值不是技术多复杂,而是标准化。就像 USB-C 统一了充电线,MCP 统一了 AI 和工具的连接方式。写一次 Server,Claude、Cursor、VS Code 都能用——这才是协议的力量。