使用说明
MCP服务器——最小示例
这个存储库是一个用TypeScript实现的小型MCP服务器示例。它演示了如何使用模型上下文协议(MCP)公开简单的“工具”和资源。
这个回购中有什么
server.ts--MCP服务器实现(使用@modelcontextprotocol/sdk和StdioServerTransport).package.json--项目清单和开发依赖关系。
先决条件
- Node.js(建议使用v16+)
- npm(与Node捆绑在一起)
安装
安装生产和开发依赖关系:
npm install
如果你想直接运行TypeScript文件,你还需要一个运行时助手,比如 ts-node:
npm install --save-dev ts-node
此服务器的运行方式
服务器使用stdio传输(StdioServerTransport)并通过标准输入/输出连接。这使得它适合由MCP主机/检查器生成或直接启动进行本地测试。
运行选项
- 启动官方MCP检查员(项目
start脚本):
npm start
这个项目s 开始 script runs the MCP inspector (npx@modelcontextprotocol/inspector@latest`)因此,您可以在本地检查和驱动服务器。
- 直接运行服务器(建议用于开发):
# (ensure ts-node is installed as shown above)
npx ts-node-esm server.ts
如果您更喜欢编译,请添加 tsconfig.json,编译 npx tsc,然后运行编译后的JS node.
服务器暴露了什么
工具(名称和输入形状):
-
trackPackage--输入:{trackingNumber:string}- 返回一个简单的文本响应,指示正在检查的跟踪号。
-
getWeather--输入:{城市:字符串}- 返回一个类似JSON的小负载
temp和forecast,或者在城市不受支持时出错。
- 返回一个类似JSON的小负载
资源(URI->内容):
flights://airports--支持的机场代码(JFK、LAX、ORD)的纯文本列表。weather://cities--支持的城市(纽约、伦敦)的纯文本列表。
快速测试笔记
- 跑步
npx ts-node-esm server.ts将启动服务器并将其连接到stdio。使用MCP检查器(参见npm start)在本地开发循环中驱动服务器。 - 服务器将启动/调试行写入stderr(这些行在终端中可见)。
JSON有效载荷示例(供参考)
- trackPackage输入:
{ "trackingNumber": "ABC123" }
- getWeather输入:
{ "city": "London" }
故障排除
- 如果
npx ts-node-esm server.ts失败:安装ts-node(dev依赖关系)或使用编译tsc. - 如果
npm start未显示检查器UI,请验证您是否有网络访问权限npx并且可以访问检查器包。
您可能想要的下一步
- 添加a
tsconfig.json和一个短dev使用文件监视器运行服务器的脚本(例如。,ts-node-dev). - 为每个工具处理程序添加单元测试,并添加一个小型集成测试,该测试生成服务器并通过stdio发送MCP消息。
- 添加将MCP客户端连接到此服务器的文档。
如果你愿意,我也可以:
- 添加a
tsconfig.json和dev脚本(快速),或 - 添加一个通过stdio与此服务器通信的示例客户端代码段。
此README已更新,以反映实际的项目文件(server.ts 和 package.json)并指出MCP入门文档是示例设计的来源。