mcp解析器
 ](https://www.npmjs.com/package/mcp-parser) 
快照、解析、验证和记录 模型上下文协议 服务器。
MCP协议兼容性
建造反对 MCP规范支持所有已发布的协议版本:
| 协议版本 | 状态 |
|---|---|
2025-11-25 | 目前稳定 |
2025-06-18 | 支持 |
2025-03-26 | 支持 |
2024-11-05 | 支持 |
支持所有三种MCP传输: 标准, 上海证券交易所,以及 可流式传输HTTP.
安装
npm install mcp-parser快速开始
import { snapshot, validate, generateMarkdown } from "mcp-parser";
import { writeFile } from "node:fs/promises";
const spec = await snapshot({
transport: { type: "stdio", command: "node", args: ["server.js"] },
});
const result = validate(spec);
if (!result.valid) {
for (const d of result.diagnostics) {
console.error(`${d.severity}: ${d.path} - ${d.message}`);
}
}
await writeFile("mcp.json", JSON.stringify(spec, null, 2));
await writeFile("mcp.md", generateMarkdown(spec));什么是mcp.json?
MCP服务器功能的静态快照:它的工具、资源和提示。把它看作是 openapi.json 对于MCP服务器。
看 mcp模式 完整的类型定义和JSON模式。
API
parse(path, options?)
解析 mcp.json 将文件转换为键入 McpSpec 对象。
const spec = await parse("./mcp.json");
console.log(spec.server.name); // "my-server"
console.log(spec.tools?.length); // 5选项:
dereference(默认值:true).解决$ref使用规范的指针$defs.
parseString(content, options?)
直接解析JSON字符串。
const spec = parseString('{ "mcpSpec": "0.3.1", ... }');validate(spec)
验证 McpSpec 正确性和最佳实践。
const result = validate(spec);
// result.valid: boolean (true if no errors)
// result.diagnostics: array of { severity, path, message }检查:
- 必填字段(mcpSpec、服务器、工具名称、inputSchema)
- 重复的工具/资源/提示名称
- 缺少描述(警告)
- 无效的inputSchema类型
snapshot(options)
连接到正在运行的MCP服务器并捕获静态快照。支持所有三个MCP 运输.
import { snapshot } from "mcp-parser";
import { writeFile } from "node:fs/promises";
// stdio
const spec = await snapshot({
transport: { type: "stdio", command: "node", args: ["server.js"] },
});
// SSE
const spec = await snapshot({
transport: { type: "sse", url: "http://localhost:3000/sse" },
});
// Streamable HTTP
const spec = await snapshot({
transport: { type: "streamable-http", url: "http://localhost:3000/mcp" },
});
await writeFile("mcp.json", JSON.stringify(spec, null, 2));所有传输都支持可选 timeout (默认值:30秒)。SSE和HTTP传输接受 headers 用于身份验证的对象。
generateMarkdown(spec)
生成完整的markdown参考文档。
generateLlmsTxt(spec, baseUrl?)
生成紧凑型 llms.txt-风格指数。这是对已经使用该约定的工具和文档站点的兼容性导出,并不保证模型提供者会自动发现或获取它。
const txt = generateLlmsTxt(spec, "https://docs.example.com");generateLlmsFullTxt(spec)
使用内联的服务器上下文生成完整的markdown引用。
const full = generateLlmsFullTxt(spec);命令行界面
# Parse and pretty-print
mcp-parser parse ./mcp.json
# Validate
mcp-parser validate ./mcp.json
# Snapshot via stdio
mcp-parser snapshot --stdio "node server.js" -o mcp.json
# Snapshot via SSE
mcp-parser snapshot --sse http://localhost:3000/sse -o mcp.json
# Snapshot via streamable HTTP
mcp-parser snapshot --http http://localhost:3000/mcp -o mcp.json
# With auth headers
mcp-parser snapshot --sse http://localhost:3000/sse --header "Authorization:Bearer tok" -o mcp.json
# Generate markdown reference (default)
mcp-parser generate ./mcp.json -o mcp.md
# Generate compact context index
mcp-parser generate ./mcp.json --format llms-txt -o llms.txt
# Generate full context reference
mcp-parser generate ./mcp.json --format llms-full-txt -o llms-full.txtMCP规范资源
- MCP规范 (目前稳定)
- 规范仓库 (包括每个协议版本的JSON模式)
- TypeScript SDK (
@modelcontextprotocol/sdk) - 开发包 (
mcp在PyPI上)
相关
许可证
麻省理工学院
