🚀 快速安装

复制以下命令并运行,立即安装此 Skill:

npx @anthropic-ai/skills install github/awesome-copilot/typescript-mcp-server-generator

💡 提示:需要 Node.js 和 NPM

生成 TypeScript MCP 服务器

使用以下规范创建一个完整的模型上下文协议(MCP)TypeScript 服务器:

要求

  1. 项目结构:创建一个新的 TypeScript/Node.js 项目,并具有正确的目录结构
  2. NPM 包:包含 @modelcontextprotocol/sdk、zod@3,以及 express(用于 HTTP)或 stdio 支持
  3. TypeScript 配置:带有 ES 模块支持的 tsconfig.json
  4. 服务器类型:选择基于 HTTP(使用 Streamable HTTP 传输)或基于 stdio 的服务器
  5. 工具:创建至少一个具有正确模式验证的有用工具
  6. 错误处理:包含全面的错误处理和验证

实现细节

项目设置

  • 使用 npm init 初始化并创建 package.json
  • 安装依赖项:@modelcontextprotocol/sdkzod@3 和特定于传输的包
  • 使用 ES 模块配置 TypeScript:在 package.json 中添加 "type": "module"
  • 添加开发依赖项:tsxts-node 用于开发
  • 创建正确的 .gitignore 文件

服务器配置

  • 使用 McpServer 类进行高级实现
  • 设置服务器名称和版本
  • 选择合适的传输方式(StreamableHTTPServerTransport 或 StdioServerTransport)
  • 对于 HTTP:使用 Express 设置并包含适当的中间件和错误处理
  • 对于 stdio:直接使用 StdioServerTransport

工具实现

  • 使用 registerTool() 方法,并提供描述性名称
  • 使用 zod 为输入和输出验证定义模式
  • 提供清晰的 titledescription 字段
  • 在结果中同时返回 contentstructuredContent
  • 使用 try-catch 块实现正确的错误处理
  • 在适当的地方支持异步操作

资源/提示设置(可选)

  • 使用 registerResource() 添加资源,并对动态 URI 使用 ResourceTemplate
  • 使用 registerPrompt() 添加提示,并为提示参数定义模式
  • 考虑为更好的用户体验添加自动补全支持

代码质量

  • 使用 TypeScript 确保类型安全
  • 一致地遵循 async/await 模式
  • 在传输关闭事件上实现正确的清理
  • 使用环境变量进行配置
  • 为复杂逻辑添加内联注释
  • 以清晰的关注点分离组织代码

可考虑的工具类型示例

  • 数据处理和转换
  • 外部 API 集成
  • 文件系统操作(读取、搜索、分析)
  • 数据库查询
  • 文本分析或总结(带有采样)
  • 系统信息检索

配置选项

  • 对于 HTTP 服务器
    • 通过环境变量配置端口
    • 为浏览器客户端配置 CORS
    • 会话管理(无状态与有状态)
    • 为本地服务器提供 DNS 重新绑定保护
  • 对于 stdio 服务器
    • 正确的标准输入/标准输出处理
    • 基于环境的配置
    • 进程生命周期管理

测试指南

  • 解释如何运行服务器(npm startnpx tsx server.ts
  • 提供 MCP Inspector 命令:npx @modelcontextprotocol/inspector
  • 对于 HTTP 服务器,包括连接 URL:http://localhost:端口/mcp
  • 包含示例工具调用
  • 针对常见问题添加故障排除技巧

可考虑的其他功能

  • 为 LLM 驱动的工具提供采样支持
  • 为交互式工作流提供用户输入收集功能
  • 支持动态工具注册,具备启用/禁用能力
  • 为批量更新提供通知去抖动功能
  • 为高效数据引用提供资源链接

生成一个完整的、可用于生产的 MCP 服务器,包含全面的文档、类型安全和错误处理。

📄 原始文档

完整文档(英文):

https://skills.sh/github/awesome-copilot/typescript-mcp-server-generator

💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。