快速掌握 MCP 精髓,让 AI 为我们提效
想象一下,你正在使用一个强大的 AI 助手,它能理解你的问题、生成文案、甚至帮你写代码。但当你问它 "今天北京的天气如何" 时,它却支支吾吾 —— 因为它的知识库停留在 2023 年,无法联网获取实时数据。这就是大语言模型(LLM)的 "能力边界":海量的预训练数据让它很聪明,但缺乏实时感知世界的能力。
快速掌握 MCP 精髓,让 AI 为我们提效
一、前言:当 LLM 遇到 "能力焦虑"
想象一下,你正在使用一个强大的 AI 助手,它能理解你的问题、生成文案、甚至帮你写代码。但当你问它 "今天北京的天气如何" 时,它却支支吾吾 —— 因为它的知识库停留在 2023 年,无法联网获取实时数据。这就是大语言模型(LLM)的 "能力边界":海量的预训练数据让它很聪明,但缺乏实时感知世界的能力。
为了解决这个痛点,AI 领域涌现出许多创新方案,比如 Function Calling 让 LLM 能调用外部工具,AI Agent 赋予它自主决策能力。而今天要介绍的MCP 协议(Model Context Protocol),则通过标准化的 "接口语言",让 AI 模型与外部世界的交互变得像 "插 U 盘" 一样简单。
二、MCP:AI 与世界对话的 "通用语言"
2.1 什么是 MCP?
MCP 的官方定义是 "为应用程序向 LLM 提供上下文的开放协议"。如果把 LLM 比作一个 "超级大脑",那么 MCP 就是大脑与外界的 "神经接口"—— 它规定了 AI 如何安全地访问数据、调用工具、执行操作,让原本 "两眼一抹黑" 的 LLM 瞬间拥有了 "动手能力"。
2.2 MCP 的核心架构
MCP 采用C/S(客户端 - 服务器)模型,但这里的 "服务器" 并非传统意义上的云端服务,而是运行在本地的轻量级程序。其核心角色包括:
- MCP Hosts:如 Claude Desktop、VS Code 等支持 MCP 的工具,作为 AI 与用户的交互入口
- MCP Clients:与本地 MCP Server 建立持久连接的 "信使"
- MCP Servers:提供数据、工具、提示词的 "能力中枢",可理解为 "AI 的工具箱"
2.3 传输与通信机制
MCP 基于JSON-RPC 2.0协议进行消息传递,支持两种通信方式:
- Stdio 传输:适用于本地进程间通信(如 IDE 插件与本地服务)
- HTTP/SSE 传输:支持远程服务调用(如云端 API)
生命周期则遵循标准化流程:
- Client 向 Server 发送初始化请求(包含协议版本和能力列表)
- Server 返回自身能力清单
- 建立连接后,通过 "请求 - 响应" 或 "通知" 模式进行数据交互
三、MCP 的四大核心模块
3.1 Resource:数据的 "高速公路"
Resource 定义了 MCP 可访问的数据来源,通过 URI(如system://info、https://example.com/data)统一标识。每个 Resource 包含:
- URI:唯一标识符
- 加载逻辑:如何获取或生成数据(如读取本地文件、调用 API)
- MIME 类型:数据格式(JSON、文本、图片等)
示例:获取系统信息
mcp.addResource({
uri: "system://info",
name: "系统信息",
mimeType: "application/json",
load: async () => {
const os = await import('os');
return {
uri: "system://info",
text: JSON.stringify({
platform: os.platform(),
arch: os.arch(),
memory: `${Math.round(os.totalmem()/1024/1024)}MB总内存`,
uptime: `${Math.round(os.uptime()/60)}分钟运行时间`
})
};
}
});
3.2 Tools:AI 的 "超能力装备"
Tools 让 LLM 能执行具体操作,比如计算数学题、爬取网页内容、发送邮件等。每个 Tool 需定义:
- 名称与描述:让 LLM 知道自己能做什么
- 参数校验:通过 Zod 等工具确保输入合法性
- 执行逻辑:具体的功能实现
示例:网页内容提取工具
mcp.addTool({
name: "get_article_by_link",
description: "通过URL获取网页正文内容",
parameters: z.object({
link: z.string().url("请输入有效的URL")
}),
execute: async ({ link }) => {
const response = await axios.get(link);
const $ = cheerio.load(response.data);
// 提取文章正文(移除广告、导航等冗余内容)
const content = $('article').text().trim();
return { content: `网页内容:${content.substring(0, 2000)}...` };
}
});
3.3 Prompts:AI 的 "角色剧本"
Prompts 允许 Server 定义可复用的提示模板,让 LLM 快速切换角色。例如:
mcp.addPrompt({
name: "code_analyzer",
description: "分析代码并提供改进建议",
arguments: [
{ name: "lang", description: "编程语言(如JavaScript/TypeScript)", required: true },
{ name: "code", description: "待分析的代码片段", required: true }
],
load: ({ lang, code }) => ({
messages: [{
role: "user",
content: `请分析以下${lang}代码:\n\`\`\`${lang}\n${code}\n\`\`\`\n重点关注:性能优化、可读性、潜在bug`
}]
})
});
3.4 Sampling:AI 的 "决策策略"
通过 Sampling 模块,Server 可控制 LLM 的响应风格(如严谨 / 创新),同时确保安全性(如过滤危险指令)。
四、5 分钟上手:构建你的第一个 MCP Server
4.1 环境准备
# 安装FastMCP框架
npm install fastmcp zod axios cheerio
4.2 核心代码实现
import { FastMCP } from "fastmcp";
import { z } from "zod";
import axios from "axios";
import cheerio from "cheerio";
// 创建MCP服务器实例
const mcp = new FastMCP({
name: "MyMCPAgent",
version: "1.0.0",
roots: ["system://", "https://"], // 允许访问的资源范围
});
// 添加工具:数学计算
mcp.addTool({
name: "calculator",
description: "执行数学表达式计算",
parameters: z.object({
expression: z.string().regex(/^[\d+\-*/().\s]+$/),
}),
execute: async ({ expression }) => {
const result = eval(expression); // 实际应用中需替换为安全计算库
return { content: `${expression} = ${result}` };
},
});
// 添加工具:网页解析
mcp.addTool({
name: "web_scraper",
description: "提取网页标题和正文",
parameters: z.object({ url: z.string().url() }),
execute: async ({ url }) => {
const { data } = await axios.get(url);
const $ = cheerio.load(data);
return {
title: $("title").text(),
content: $("main").text().substring(0, 1000),
};
},
});
// 启动服务器(支持HTTP/SSE或Stdio模式)
mcp.start({ type: "stdio" });
4.3 集成到开发工具
在 VS Code 中安装 MCP 插件后,配置本地 Server 路径:
// .vscode/settings.json
{
"mcp.servers": [
{
"name": "MyAgent",
"type": "stdio",
"command": "node",
"args": ["path/to/your/mcp-server.js"]
}
]
}
五、MCP 的实战价值与场景
5.1 研发提效:AI 辅助开发
- 代码审查:调用
code_analyzer工具自动检查代码质量 - 自动化测试:通过
web_scraper爬取测试报告,生成测试用例
5.2 业务场景:智能客服
- 接入天气 API(
system://weather)、订单查询(https://api.example.com/orders)等 Resource - 通过
Sampling控制回答风格(正式 / 口语化)
5.3 数据处理:实时报表生成
- 整合数据库(
mysql://user:pass@localhost/db)、API 数据,生成动态报表
六、总结:MCP 让 AI"落地" 更简单
MCP 通过标准化协议,解决了 AI 模型与外部系统的交互难题。无论是 5 分钟搭建本地智能助手,还是构建跨平台的 AI 应用,MCP 都像一把 "万能钥匙",让开发者能快速扩展 AI 的能力边界。
《AI 编程从开发到变现小白入门》手册
https://drgphlxsfa.feishu.cn/wiki/LK9pwfT7piXZuhkMHE0cokT3nXd
VicroCode,AI 编程时代的代码部署交易平台。支持代码快速在线部署与发布,无需复杂配置,一键上线应用。同时搭建代码交易生态,让开发者的优质代码直接转化为收益,助力个人与企业高效实现技术价值,让每一段代码都能创造商业与实用价值。
能钥匙",让开发者能快速扩展 AI 的能力边界。
更多推荐



所有评论(0)