当前位置: 首页 > ai >正文

MCP 基于 TypeScript 的完整示例,包含stdio、sse多种用法和调试,对于构建自己的API工具链很有用

typescript-mcp-demo

这是一个基于 Model Context Protocol (MCP) 的 TypeScript 示例项目,展示了如何创建一个简单的 MCP 服务器,包含基本的工具(tools)和资源(resources)功能。

官网:https://github.com/tuonioooo/typescript-mcp-demo

功能特性

  • 提供一个简单的加法工具(add tool)
  • 提供一个动态问候资源(greeting resource)
  • 使用 TypeScript 开发
  • 支持标准输入/输出通信

相关文档

  • MCP TypeScript SDK - 官方 TypeScript SDK 文档
  • MCP Inspector - MCP 服务测试工具文档
  • Model Context Protocol - MCP 协议规范文档

环境要求

  • Node.js >= 20.10.0
  • pnpm >= 8.0.0

安装步骤

  1. 安装依赖:
pnpm i
  1. 编译项目
pnpm run build

编译后的文件将输出到 dist 目录。

示例

  • 有关标准输入输出 (stdio) 传输方式的详细信息,请参考 stdio 传输说明。
  • 对于远程服务器,使用服务器发送事件(SSE)端点和单独的端点启动web服务器,请参考HTTP with SSE
  • OpenAI 绑定函数 与 自定义的MCP工具集成指南
  • OpenAI 自定义指令 与 自定义的MCP工具集成示例

开发新功能

要添加新的工具或资源,请在 src/index.ts 中:

  1. 使用 server.tool() 添加新工具
  2. 使用 server.resource() 添加新资源
  3. 使用 Zod 定义输入参数的类型
  4. 实现相应的处理逻辑
  5. 创建对应的测试用例文件

故障排除

如果遇到问题:

  1. 确保所有依赖都已正确安装
  2. 检查编译输出是否有错误
  3. 验证测试用例 JSON 格式是否正确
  4. 检查进程输入输出是否正确配置

注意事项

  • 确保测试时使用编译后的 JavaScript 文件(在 dist 目录中)
  • 使用 @modelcontextprotocol/inspector 工具进行测试
  • 遵循 JSON-RPC 2.0 规范编写请求
  • 正确处理异步操作和错误情况
http://www.xdnf.cn/news/1333.html

相关文章:

  • Spring JDBC 的开发步骤(注解方式)
  • LLama-factory微调和推理过程
  • 分布式理论和事务
  • OpenCV 中的角点检测方法详解
  • 3DGS之齐次坐标
  • 【Java面试笔记:基础】13.谈谈接口和抽象类有什么区别?
  • 基于nodeJS代码的通过爬虫方式实现tiktok发布视频(2025年4月)
  • 云原生时代的双轮驱动
  • 基于GMM的语音识别
  • 抱佛脚之学SSM五
  • Linux之彻底掌握防火墙-----安全管理详解
  • 【KWDB 创作者计划】_上位机知识篇---MQTT协议
  • 软考资料分享
  • K8S安全认证
  • 【论文阅读】Hierarchical Group-Level Emotion Recognition
  • 国产RK3568+FPGA以 ‌“实时控制+高精度采集+灵活扩展”‌ 为核心的解决方案
  • 远程控制Firefox浏览器实例的挑战与Playwright的CDP和Selenium Marionette解决方案
  • Python中的“,”
  • 【OceanBase相关】02-OceanBase数据库NFS备份实践
  • C++笔记-stack_queue(含deque,priority_queue,仿函数的讲解)
  • ADW600防护等级与电气安全设计要点详解
  • 深入探究Linux项目自动化构建工具:make与Makefile
  • Kafka 主题设计与数据接入机制
  • windos端远程控制ubuntu运行脚本程序并转发ubuntu端脚本输出的网页
  • Uniapp 中缓存操作指南
  • 【笔记】CentOS7部署K8S集群
  • unity编辑器的json验证及格式化
  • 明远智睿2351开发板:性价比之选,赋能智能硬件创新
  • QT6 源(45):分隔条 QSplitter 允许程序的用户修改布局,程序员使用 IDE时,就是分隔条的用户,以及其 QSplitter 源代码
  • 【playwright】学习--持续汇总