MCP
MCP 入门:让 Claude 调你的工具
Model Context Protocol 从 0 到 1 — stdio 一个最小 server。
10 分钟2026-05-25
一句话定义
MCP (Model Context Protocol) = 让 LLM 显式调外部工具的标准协议。
类比:HTTP 是浏览器和服务器的通信协议;MCP 是 LLM 和工具的通信协议。
与 skill / hook 的边界
| 机制 | 谁主动 | 干什么 |
|---|---|---|
| skill | LLM | 加载知识 |
| hook | 系统 | 强制跑命令 |
| MCP | LLM | 调外部工具拿数据 / 执行操作 |
经典 MCP 用例:
- 让 Claude 查 Postgres
- 让 Claude 列 K8s pod
- 让 Claude 读 Notion / Linear
三种 transport
| transport | 协议 | 适合 |
|---|---|---|
| stdio | 标准输入输出 | 本地、单进程 |
| SSE | HTTP server-sent events | 远程、单向流 |
| HTTP | 普通 REST | 远程、轻量 |
入门用 stdio 最简单 — 不要 server / 不要 port。
最小 stdio MCP server (TypeScript)
// hello-mcp.ts
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
const server = new Server(
{ name: "hello-mcp", version: "0.1.0" },
{ capabilities: { tools: {} } }
);
server.setRequestHandler("tools/list", async () => ({
tools: [
{
name: "echo",
description: "Echo back what user says",
inputSchema: {
type: "object",
properties: { text: { type: "string" } },
required: ["text"],
},
},
],
}));
server.setRequestHandler("tools/call", async (req) => {
const { name, arguments: args } = req.params;
if (name === "echo") {
return { content: [{ type: "text", text: `Echo: ${args.text}` }] };
}
throw new Error("Unknown tool");
});
const transport = new StdioServerTransport();
await server.connect(transport);
跑:
bun add @modelcontextprotocol/sdk
bun run hello-mcp.ts
在 Claude Code 注册
.claude/settings.json:
{
"mcpServers": {
"hello": {
"command": "bun",
"args": ["run", "./hello-mcp.ts"]
}
}
}
重启 Claude Code。
在对话里用
> 用 hello mcp 让我看看 echo 工具能干啥
[Claude 调 hello.echo("test")]
> 工具返回: "Echo: test"
Claude 会自己判断什么时候调 tool。你也可以显式指定。
进阶方向
- 加更多 tool — list_files / read_db / call_api
- 加资源(resources) — 让 Claude 读静态文件 / 数据
- 加 prompt template — 让 server 提供可调用的 prompt 库
Lurus 现成的 MCP
zitadel-mcp— 让 Claude 管 Zitadel 账号k8s-mcp— 让 Claude 看 K3s pod / logplatform-mcp— 让 Claude 查 Lurus Platform 用户 / 计费
详见 Skills 商店 或 forge.lurus.cn。
一句话总结
MCP 是"给 LLM 装手"的标准。stdio + 一个 tool 就能起步,进阶再上 SSE / HTTP。