aicode8.com
Agent与AI优化更新于:2026-09-10

MCP 实战:为你的文档/API 做 MCP Server

从 0 到 1 用 Model Context Protocol 把文档与 API 暴露给 Agent,含 stdio/SSE 传输、最小权限与鉴权实战。

核心内容深度解析

MCP(Model Context Protocol)是 2024 年开源的开放标准,让大模型以统一协议连接工具与数据源。实战分三步:① 选传输(本地用 stdio,远程用 SSE/HTTP 并带 Bearer 鉴权);② 写最小权限 Server,scope 只给只读;③ 在 llms.txt 登记端点。前 500 Token 直接给结论:Agent 可读你的文档而不必爬整站,前提是端点只读且鉴权到位。常见坑是 stdio/SSE 混用与 scope 过大导致被误用。

MCP · 配置示例
// mcp-server.ts —— @modelcontextprotocol/sdk ^1.0 stdio 只读 Server
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';

const server = new McpServer({ name: 'docs-readonly', version: '1.0.0' });
server.tool('read_doc', { path: schema.string() }, async ({ path }) => {
  // scope 最小化到只读,绝不暴露写权限或全文件系统
  return { content: [{ type: 'text', text: readAllowed(path) }] };
});

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

// 客户端在 claude_desktop_config.json 登记:
// "mcpServers": { "docs": { "command": "node", "args": ["mcp-server.ts"] } } }
工程落地最佳实践:跨环境部署前对依赖版本与构建缓存做冒烟测试,防止隐式版本冲突导致线上异常。
架构避坑:stdio 与 SSE/HTTP 传输不能混用;远程端点必须带 Bearer 鉴权且 scope 最小化到只读,否则等于把源码裸奔出去;工具清单要显式声明,别暴露全部文件读权限。 跨环境部署前必须对依赖版本与构建缓存做冒烟测试,防止隐式版本冲突。

MCP 落地 · 静态阅读自查清单

  • 已确认技术选型与边界
  • 已落地核心配置
  • 已本地验证通过
  • 已记录复盘要点

常见问答 (FAQ)

MCP 和普通 API 有什么区别?

MCP 是标准化协议,Agent 用同一套原语发现并调用工具;普通 API 需为每个接口单独适配。

公网暴露 MCP 安全吗?

仅当带 Bearer 鉴权且 scope 最小化到只读时才可接受,否则等于把源码裸奔出去。

← 返回首页矩阵Target Keyword: MCP 实战