@contextvm/mcp-sdk (英语) 
概览
@contextvm/mcp-sdk 是用于ContextVM的上层MCP TypeScript SDK和其他仅需要MCP协议核心+的局部进程集成的轻量级叉 stdio 运输.
此分叉保留了核心协议运行时间和高端客户端/服务器API,同时有意去除HTTP,SSE,WebSocket,Express,Hono等面向OAuth的表面,这些表面增加了重量而无助于stdio使用大小写.
这使得:
- 创建曝光资源、提示和工具的 MCP 服务器
- 构建可连接本地 MCP 服务器的 MCP 客户端
- 使用保留
stdio依赖足迹较小的运输
分叉范围
在此软件包中支持 :
- MCP 协议类型和计划
- 核心协议运行时间
- 高级别
Client财务报告和审定财务报表ServerAPIs 密码 McpServerStdioClientTransport财务报告和审定财务报表StdioServerTransport- 实验任务支持
此分叉显然未包含:
- 可流式HTTP运输
- 遗留的SSE运输
- 捷运和Hono一体化
- OAuth/自动帮助堆栈
- 浏览器/网络传输层
安装
npm install @contextvm/mcp-sdk zod
此 SDK 对等端依赖 zod 用于计划验证. 包内部从 zod/v4,同时仍然与使用 Zod v3.25 或以后的项目相兼容.
快速启动
import { McpServer } from '@contextvm/mcp-sdk/server';
import { StdioServerTransport } from '@contextvm/mcp-sdk/server/stdio';
import { z } from 'zod';
const server = new McpServer({
name: 'example-server',
version: '1.0.0'
});
server.tool('echo', { message: z.string() }, async ({ message }) => ({
content: [{ type: 'text', text: message }]
}));
const transport = new StdioServerTransport();
await server.connect(transport);
核心概念
服务器和运输
MCP 服务器一般用 McpServer 连接到 StdioServerTransport 用于当地、由流程产生的整合.
工具、资源、提示
- 工具 让 LLM 请求您的服务器采取行动( 计算、 副作用、 网络呼叫) .
- 资源 将客户端能够向用户或模型显示的只读数据曝光.
- 提示 用于帮助用户以一致的方式与模型交谈的可重复使用的模板.
保留的服务器表面仍然包括工具、资源、提示、完成、记录、引出、取样和实验任务.
能力:取样、诱导和任务
SDK包括更高级的更丰富的工作流程能力:
- 取样:服务器侧工具可以要求连接客户端运行LLM补全.
- 形式诱导:工具可以通过结构化形式请求非敏感输入.
- URL 诱导:服务器可以要求用户在浏览器中完成安全流(例如API密钥条目,支付,OAuth).
- 任务(实验): 长期的工具呼叫可以被转换成任务,由您进行投票或稍后恢复.
JSON Schema 验证( opt- in)
工具 outputSchema (在客户端)验证和(在服务器上)引出响应验证 选入默认情况下, SDK 不捆绑一个 JSON Schema 校验器, 因此这些响应无需验证即可返回 .
要启用校验, 导入 AjvJsonSchemaValidator 从专用子路径传到客户端和/或服务器:
import { Client } from '@contextvm/mcp-sdk/client';
import { AjvJsonSchemaValidator } from '@contextvm/mcp-sdk/validation/ajv';
const client = new Client(
{ name: 'my-client', version: '1.0.0' },
{ jsonSchemaValidator: new AjvJsonSchemaValidator() }
);
保持验证选择性意味着 ajv 运行时间只有在您实际导入验证器时才会被加载——不需要输出验证的消费者会用更小的捆绑. 请注意: McpServer 仍直接(通过Zod)验证其自己的工具输入/输出,独立于这个可选的JSON Schema验证器.
这些更高级的能力被保存在以斯地迪奥为主的分叉中.
客户
高级别 Client 类连接 MCP 服务器于保留位置 StdioClientTransport 并揭露援助者 listTools, (中文(简体) ), callTool, (中文(简体) ), listResources, (中文(简体) ), readResource, (中文(简体) ), listPrompts,以及 getPrompt。 。 。 .
节点.js 兼容性
这个分叉目标为Node.js 18+并被优化为以地铁为主的集成.
软件包导出
@contextvm/mcp-sdk@contextvm/mcp-sdk/client@contextvm/mcp-sdk/client/stdio@contextvm/mcp-sdk/server@contextvm/mcp-sdk/server/stdio@contextvm/mcp-sdk/experimental@contextvm/mcp-sdk/experimental/tasks
出版说明
本套件拟作为公共 npm 套件在 @contextvm/mcp-sdk 名称。 公布的柏球只包括: dist 输出.
文档
释放工作流程
以 npm run build,检查柏油球 npm pack --dry-run,并与 npm publish --access public 一经 @contextvm/mcp-sdk 范围准备好了.
捐款
GitHub网站欢迎提出问题和拉动请求 https://github.com/ ContextVM/mcp-sdk 互联网档案馆的存檔,存档日期2013-12-21。 。 。 .
许可证
这个项目根据麻省理工学院许可证获得许可——见 自由主义 详细文件.