MCP 是什么?以及为什么开发者都在关注它

0 阅读3分钟

最近 MCP 这个词在开发者圈里频繁出现。Cursor、Claude Desktop、各种 AI 编程工具都开始支持它。但它到底是什么,解决了什么问题,值不值得现在就上手?

这篇文章从开发者视角把它说清楚。

01_封面.png

MCP 是什么

MCP(Model Context Protocol)是 Anthropic 在 2024 年底开源的一个协议,全称"模型上下文协议"。

你可以把它理解成 AI 应用和外部工具之间的标准接口。类比一下:以前 AI 能做的事仅限于"读文本、写文本",MCP 出现之后,AI 可以直接调用本地文件、数据库、外部 API、系统工具——而且是标准化的调用方式,不是临时凑的 hack。

核心概念就三个:

  • Host:运行 AI 的宿主应用(比如 Claude Desktop、Cursor)
  • Client:Host 内部的连接管理器
  • Server:提供能力的服务端(本地进程或远端服务)

Host 通过 MCP 协议与 Server 通信,AI 就能感知并调用 Server 提供的工具(Tools)、资源(Resources)、提示词模板(Prompts)。

02_插图.png

它解决了什么问题

在 MCP 出现之前,如果你想让 AI 助手查你的数据库,你得:

  1. 自己写 API wrapper,把数据库查询封装成接口
  2. 把接口文档喂给 AI,让它知道怎么调用
  3. 写 function calling 的适配层
  4. 每换一个 AI 服务商就重写一遍

这套流程每个项目都要重复一次,而且没有标准——OpenAI 的 function calling 和 Claude 的 tool use 格式不一样,迁移成本高。

MCP 统一了这一层。你只需要实现一个 MCP Server,所有支持 MCP 协议的 AI Host 都能直接用。一次实现,多处复用。

实战:接一个 MCP Server

以 Node.js 为例,接一个读取文件系统的 MCP Server:

npm install @modelcontextprotocol/sdk

基础结构:

import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";

const server = new Server(
  { name: "my-fs-server", version: "1.0.0" },
  { capabilities: { tools: {} } }
);

// 注册工具
server.setRequestHandler("tools/list", async () => ({
  tools: [{
    name: "read_file",
    description: "读取指定路径的文件内容",
    inputSchema: {
      type: "object",
      properties: { path: { type: "string" } },
      required: ["path"]
    }
  }]
}));

// 处理调用
server.setRequestHandler("tools/call", async (req) => {
  const { path } = req.params.arguments;
  const content = fs.readFileSync(path, "utf-8");
  return { content: [{ type: "text", text: content }] };
});

const transport = new StdioServerTransport();
await server.connect(transport);

在 Claude Desktop 的配置文件(~/Library/Application Support/Claude/claude_desktop_config.json)里加上:

{
  "mcpServers": {
    "my-fs-server": {
      "command": "node",
      "args": ["/path/to/your/server.js"]
    }
  }
}

重启 Claude Desktop,你的 AI 就能直接读你的本地文件了。

配合 AI API 使用

写 MCP Server 的过程中需要频繁测试——让 AI 帮你生成代码、调试逻辑、理解协议细节。这里就需要一个稳定可用的 AI API 服务。

国内开发者用 OpenAI 官方 API 有网络和支付问题,产灵 API(xdhdancer.top/?aff=Hysv)是… GPT-5、Claude Opus 等主流模型,OpenAI 协议兼容,直接替换 base_url 就能用,不用改其他代码。

现在值不值得学

值得,理由如下:

生态已经起来了。  Cursor、Windsurf、Claude Desktop 都已原生支持,GitHub、Cloudflare、Stripe 等主流服务都在发布官方 MCP Server。

协议足够简单。  核心接口就三个(Resources/Tools/Prompts),一个下午能上手,一周能写出生产可用的 Server。

先发优势明显。  现在公司里能写 MCP Server 的还是少数,这是差异化能力。

MCP 不是 AI 应用的终点,但它大概率会成为 AI 工具集成的基础协议层——就像 REST 之于 HTTP 时代的 Web 服务。

关注我,持续更新 AI 开发者实战内容。有问题欢迎评论区交流。

03_收尾.png