你有没有遇到过这种场景——想用 Claude 分析你本地的数据库,但 Claude 根本访问不了?或者想在 Cursor 里直接用你的 Notion 笔记来辅助写代码,却发现没有这个功能?
AI 很强,但它们被关在一个信息孤岛里。你给它的,只有你粘贴进去的那段文字。
MCP(Model Context Protocol)就是来解决这个问题的。它是 Anthropic 在 2024 年底推出的开放协议,目标是让 AI 工具能像插件一样连接任何外部数据源和工具。
说人话:MCP 就是 AI 工具的 USB 接口。 插上就能用,不用管它背后是什么。
MCP 到底是什么
MCP 全称 Model Context Protocol,模型上下文协议。
它定义了一套标准:AI 工具怎么请求外部数据,外部服务怎么回应,数据怎么传输。
核心设计思路很简单——把 AI 和外部世界之间的通信,标准化成客户端-服务器模型。
AI 工具(客户端) ←→ MCP 协议 ←→ 你的数据源(服务器)
AI 工具不用关心你用的是数据库还是文件系统。它只要按 MCP 协议发请求,数据源按协议回应,中间的传输由 MCP 协议负责。
为什么需要 MCP
在没有 MCP 之前,每个 AI 工具都有自己的集成方式。
Claude Desktop 有自己的配置格式。Cursor 有自己的。VS Code 有自己的。你想让同一个数据源被多个工具访问,就得为每个工具写一套配置。
更麻烦的是,很多数据根本连不上。你想让 AI 访问你的 Git 仓库、你的文件系统、你公司的 API——要么手写脚本,要么根本不可能。
MCP 解决了两个问题:
第一,统一接口。 不管你是 Claude、Cursor、还是其他支持 MCP 的工具,配置方式一样。写一次,到处用。
第二,生态开放。 任何人都可以写一个 MCP Server,把你的数据或工具暴露给所有 AI 工具。不需要每个 AI 工具厂商单独对接。
MCP 的核心概念
理解 MCP,只需要搞懂三个概念:客户端、服务器、资源。
客户端(Client)
就是 AI 工具本身。Claude Desktop、Cursor、VS Code 的 MCP 扩展,都是客户端。
客户端负责:发起请求、接收响应、展示结果。
服务器(Server)
就是你想要 AI 访问的外部服务。比如一个访问你本地文件的 server,一个查询数据库的 server,一个读取你 GitHub 的 server。
服务器负责:暴露工具和数据、响应客户端请求。
资源(Resource)
资源是被 AI 可以读取的数据。比如一个文件的内容、一个数据库表的查询结果、一个 API 的返回值。
资源有三种:
- 静态资源:文件内容、配置等,不会变的
- 动态资源:数据库查询结果、API 数据等,会变的
- 工具(Tools):AI 可以调用的函数,比如执行命令、写入文件
一个简单的 MCP 实战
来,动手配置一个最实用的 MCP:让 AI 能直接读取你的项目文件。
第一步:安装 MCP 服务器
我们用一个现成的 MCP Server——filesystem MCP,它能让你用 AI 访问本地文件系统。
# 安装 filesystem MCP Server
npm install -g @modelcontextprotocol/server-filesystem
第二步:配置 AI 工具
以 Claude Desktop 为例。打开配置文件 ~/Library/Application Support/Claude/claude_desktop_config.json,添加:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/yourname/projects"
]
}
}
}
注意把 /Users/yourname/projects 换成你自己的项目目录。
第三步:测试
重启 Claude Desktop。现在你可以在对话里说:
帮我看看 projects/myapp 目录下的文件结构
Claude 会通过 MCP 协议访问你的文件系统,返回真实的结果。
再试一个:
读取 projects/myapp/src/main.py 的前50行
这次 Claude 真的读到了你本地的文件内容。
MCP 比你想的更有用
上面只是最基础的用法。MCP 的真正价值在于生态。
目前已经有不少现成的 MCP Server 可用:
| MCP Server | 功能 | 适合场景 |
|---|---|---|
| filesystem | 读取/写入本地文件 | 代码审查、文件分析 |
| github | 操作 GitHub 仓库 | PR 审查、issue 管理 |
| sqlite | 查询 SQLite 数据库 | 数据分析、数据库调试 |
| memory | 跨会话记忆 | AI Agent 长期记忆 |
| browser | 浏览器自动化 | 网页抓取、测试 |
| puppeteer | 浏览器控制 | 自动化测试 |
每一个都是独立的可插拔模块。你想让 AI 操作 GitHub?装一个 github MCP Server。想让它查数据库?装一个 sqlite MCP Server。
写一个自己的 MCP Server
MCP Server 本质就是一个 HTTP 服务。你可以用任何语言写。
来看一个最简单的 Python MCP Server:
from mcp.server import Server
from mcp.types import Tool, TextContent
app = Server("my-tool")
@app.tool()
async def get_weather(city: str) -> list[TextContent]:
"""获取城市天气"""
# 这里调用真实的天气 API
weather = fetch_weather(city)
return [TextContent(type="text", text=f"{city} 今天{weather}")]
if __name__ == "__main__":
app.run()
写好后,在 AI 工具里配置这个 server:
{
"mcpServers": {
"weather": {
"command": "python",
"args": ["/path/to/my_weather_server.py"]
}
}
}
之后你就可以对 AI 说:“帮我查一下北京的天气”——它会调用你自己的 server,拿到真实数据。
MCP 的现状和趋势
2026 年,MCP 已经成为 AI 工具的事实标准。
Anthropic 的 Claude Desktop 原生支持。Cursor 在 2025 年加入支持。VS Code 通过扩展支持。Google 的 Gemini 也在跟进。
越来越多的工具开始原生支持 MCP,而不是各自搞一套。这意味着你今天为 Claude 配置的 MCP Server,明天很可能在 Cursor 或 VS Code 里也能用。
对开发者来说,这意味着:
- 一次配置,多工具复用 —— 不用每个 AI 工具都重新配一遍
- 生态快速增长 —— 社区贡献的 MCP Server 越来越多
- 数据主权在用户手里 —— 你决定 AI 能访问什么,不能访问什么
开始你的第一个 MCP
MCP 不难。它就是一个标准化的接口协议。你不需要懂多少底层原理,只需要知道:
- 你要让 AI 访问什么数据或工具
- 有没有现成的 MCP Server 可以用
- 怎么在你的 AI 工具里配置它
现在就试试。打开你的 Claude Desktop 或 Cursor,装一个 filesystem MCP Server,让你喜欢的 AI 工具真正"看得见"你的世界。
AI 很强,但前提是你得让它知道你在做什么。MCP 就是那扇窗。
你的 AI 工具现在能访问哪些外部数据?也许装一个 MCP Server 就能解决。