MCP介绍
前面我们知道MCP是什么,用来让 LLM 与外部工具/数据源通信.即接入LLM的标准。那么这篇文章来讲如何来写一个最小可用的MCP。 
用什么来写

怎么写
MCP暴漏三个核心能力
| 类型 | 作用 |
|---|---|
| Tools | AI 调用函数 |
| Resources | 提供数据 |
| Prompts | 提供模板 |
| 以JS为例 |
- STEP1 新建目录:
bash
mkdir my-mcp
cd my-mcp- STEP2 初始化&安装 MCP SDK:
bash
npm init -y
npm install @modelcontextprotocol/sdk- STEP3 创建一个简单的MCP
js
// server.js
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
// 1. 创建服务器实例
const server = new McpServer({
name: "MCP TEST",
version: "1.0.0",
});
// 2. 用 server.tool() 方法定义一个工具
server.tool(
"say_hello", // 工具名称
{ name: z.string().describe("要问候的名字") }, // 参数定义 (使用 Zod 进行验证)
async ({ name }) => {
// 处理函数
return {
content: [{ type: "text", text: `你好, ${name}! 欢迎使用MCP。` }],
};
},
);
// 3. 启动服务器,使用标准输入输出作为通信层
async function main() {
const transport = new StdioServerTransport();
await server.connect(transport);
console.error("天气 MCP 服务器运行中...");
}
main().catch((error) => {
console.error("服务器启动失败:", error);
process.exit(1);
});- STEP4 修改package.json
json
{
"name": "my-mcp",
"version": "1.0.0",
"type": "module"
}- STEP5 以 trae 为例链接MCP

JSON
{
"mcpServers": {
"demo": {
"command": "node",
"args": ["/Users/你的用户名/my-mcp/server.js"]
}
}
}经常会用来干什么
| 功能 | MCP tool |
|---|---|
| 读文件 | read_file |
| 数据库 | query_db |
| 执行 shell | run_command |
| git | git_log |
| 公司 API | get_user |
举几个常用的例子
figma mcp
Dida mcp
oss mcp
xiaohongshu mcp
如何唤醒
当你与AI模型对话时,你的提问方式直接影响它是否会调用你的工具。你需要将你的自然语言需求,与MCP工具的能力关联起来。
- 比如写一个天气的mcp,你可以说“帮我查一下今天北京的天气。”
- 比如你写了一个ECS实例的MCP,你可以说“请帮我查询regionId为cn-chengdu的ECS实例列表,并设置x_mcp_region_id”