Agent与AI优化更新于:2026-09-10
MCP 最佳实践:生产环境沉淀的硬核工程约定
提炼 MCP 在生产环境沉淀的硬核实践,避开常见反模式。
核心内容深度解析
MCP(Model Context Protocol)是 2024 年开源的开放标准,让大模型以统一协议连接工具与数据源;开发者写一次 Server,任意兼容 MCP 的 Agent(Claude Desktop、Cursor)即可发现并调用。 生产环境沉淀的硬核约定围绕「单一真相源 + 显式边界」,避开常见反模式。
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"] } } }工程落地最佳实践:包管理器唯一(pnpm),锁文件进版本控制;密钥一律占位符,文档与代码彻底分离。
架构避坑:stdio 与 SSE/HTTP 传输不能混用;远程端点必须带 Bearer 鉴权且 scope 最小化到只读,否则等于把源码裸奔出去;工具清单要显式声明,别暴露全部文件读权限。 包管理器必须唯一(pnpm),锁文件进版本控制,禁止 npm/yarn 混用。
MCP 最佳实践 · 静态阅读自查清单
- 配置已集中到单一来源
- CI 锁 --frozen-lockfile
- 密钥一律占位符不入代码
- 文档与代码分离
常见问答 (FAQ)
如何快速上手 MCP?
先用官方脚手架或参考本站的 MCP 专项指南初始化项目,再按主题落地核心配置并本地验证。
← 返回首页矩阵Target Keyword: MCP best practices