AI MCP 入门:让大模型连接你的工具与数据

什么是 MCP?

MCP(Model Context Protocol,模型上下文协议) 是由 Anthropic 提出的一种开放协议,旨在标准化 AI 模型与外部工具、数据源之间的交互方式。

简单来说,MCP 就像 AI 世界的「USB-C 接口」——它定义了一套统一的规范,让任何 AI 应用都能以相同的方式接入各种工具和数据。

为什么需要 MCP?

在 MCP 出现之前,如果你想让 AI 助手调用数据库、读取文件、发送 HTTP 请求,通常需要:

  1. 定制化开发:为每个工具单独编写集成代码
  2. Prompt Engineering:在提示词里塞大量上下文,效率低下
  3. 厂商锁定:不同 AI 平台的工具调用方式各不相同

MCP 解决了这些问题:

  • 标准化:一套协议,所有 AI 应用通用
  • 可复用:写一次 MCP Server,到处使用
  • 动态发现:AI 可以自动发现可用的工具和数据源
  • 安全可控:精细的权限管理

MCP 的核心架构

MCP 采用 客户端-服务器 架构:

1
2
3
4
5
6
┌──────────────┐     MCP Protocol     ┌──────────────┐
│ │ ◄──────────────────► │ │
│ AI Client │ │ MCP Server │
│ (Claude/ │ │ (你的工具) │
│ Cursor等) │ │ │
└──────────────┘ └──────────────┘
  • MCP Client:运行在 AI 应用中,负责与 Server 通信
  • MCP Server:封装具体工具逻辑,暴露标准化的接口

快速上手:搭建一个 MCP Server

以下是一个简单的 Node.js MCP Server 示例,提供「获取天气」功能:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";

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

// 注册工具
server.setRequestHandler("tools/list", async () => ({
tools: [
{
name: "get_weather",
description: "获取指定城市的天气信息",
inputSchema: {
type: "object",
properties: {
city: { type: "string", description: "城市名称" }
},
required: ["city"]
}
}
]
}));

// 处理工具调用
server.setRequestHandler("tools/call", async (request) => {
const { name, arguments: args } = request.params;
if (name === "get_weather") {
const city = args?.city;
// 这里接入真实天气 API
return {
content: [{ type: "text", text: `${city}今天晴,25°C,适合出门!` }]
};
}
throw new Error(`未知工具: ${name}`);
});

// 启动服务
const transport = new StdioServerTransport();
await server.connect(transport);

在 AI 客户端中配置 MCP

CodeBuddy / Cursor 为例,在 .codebuddy/mcp.json 中配置:

1
2
3
4
5
6
7
8
9
10
11
{
"mcpServers": {
"weather-mcp": {
"command": "node",
"args": ["./weather-server.js"],
"env": {
"API_KEY": "your-api-key"
}
}
}
}

配置完成后,AI 助手就能自动发现并调用 get_weather 工具了。

实战场景

场景MCP Server 示例
数据库查询连接 MySQL / PostgreSQL,AI 直接写 SQL
文件管理读写本地文件系统
API 集成封装第三方服务(GitHub、Jira、飞书等)
浏览器自动化Playwright MCP,让 AI 操控浏览器
知识库检索RAG 增强,AI 实时查询企业内部文档

安全注意事项

  1. 最小权限原则:只暴露必要的工具和操作
  2. 参数校验:Server 端严格校验所有输入
  3. Token 鉴权:敏感操作需要身份验证
  4. 审计日志:记录所有工具调用,便于追溯

总结

MCP 正在改变 AI 应用与外部世界的交互方式。它让 AI 不再是「孤岛」,而是可以像人类一样使用各种工具的智能体。

如果你也在开发 AI 应用,不妨试试为你的工具编写一个 MCP Server——一次编写,处处运行。