MCP 服务器模板 - TypeScript
 ](https://nodejs.org/downloads/)  
使用官方库在TypeScript中实现的一个模型上下文协议(MCP)服务器的模板 MCP TypeScript SDK。 此模板展示了如何构建支持MCP(机器通信协议)且使用HTTP传输的服务器,这些服务器可以与支持MCP的客户端集成,以增强人工智能交互和工具集成能力。
📑 目录
- 📑 目录 - ✨ 特点 - 🚀 快速入门 - 📋 先决条件 - 💻 安装 - 🔧 使用方法 - 在本地运行服务器 - 测试您的服务器 - 📁 项目结构 - ❓ 故障排除 - 常见问题 - 👥 参与贡献 - 🆘 支持 - 📄 许可证
✨ 特点
- 官方MCP TypeScript SDK实现
- 使用可流式传输的HTTP(最新MCP协议)进行HTTP传输
- 多并发连接的会话管理
- 使用Zod模式进行工具注册验证
- 使用TypeScript 5.8+构建,确保现代类型安全性
- 适用于生产环境的Express.js服务器,用于处理HTTP请求
- 使用MCP Inspector轻松调试
- 与所有支持MCP的客户端兼容
🚀 快速入门
对于那些想要快速起床并投入运动的人来说:
# Clone the repository
git clone https://github.com/yourusername/template-mcp-ts.git
# Navigate to the project directory
cd template-mcp-ts
# Install dependencies
npm install
# Start the MCP server
npm run dev
# In another terminal, test with MCP Inspector
npm run inspect📋 前提条件
- Node.js: 18.0或更高版本
- npm、yarn 或 pnpm: 您选择的包管理器
💻 安装
克隆仓库并安装依赖项:
git clone https://github.com/yourusername/template-mcp-ts.git
cd template-mcp-ts
npm install环境变量(可选):
PORT- 服务器端口(默认:1338)HOST- 服务器主机(默认:0.0.0.0)
🔧 使用方法
在本地运行服务器
启动开发服务器并启用热重载:
npm run dev用于生产构建和运行:
# Build TypeScript to JavaScript
npm run build
# Run the compiled server
npm run prod_注:_ 当你对源代码进行更改时,开发服务器会自动重启。
测试您的服务器
您可以使用MCP Inspector来测试您的MCP服务器:
npm run inspect或者手动:
npx @modelcontextprotocol/inspector --transport http --server-url http://localhost:1338/mcp这将启动MCP Inspector用户界面,通过该界面可以借助网页调试服务器功能。 您可以连接到您的MCP服务器,并测试您的工具/资源/提示。
服务器在(某个地址)暴露了一个HTTP端点 /mcp 接受MCP协议请求。
📁 项目结构
- src/server.ts 翻译为中文是:源代码/服务器文件(或:服务器端代码文件,具体根据上下文可能有所不同) - 主MCP服务器实现,采用HTTP传输
- \
package.json\- npm 包配置 - tsconfig.json - TypeScript 编译器配置
- dist/(这个单词或短语在中文中没有直接对应的翻译,它通常是一个文件夹或目录的名称,可以翻译为“dist(分布/目录)/”或者根据上下文具体解释为“发布目录/”、“构建输出目录/”等。) - 编译后的JavaScript输出(构建完成后生成)
❓ 故障排除
常见问题
- 端口已被占用:
- 通过设置更改端口 PORT 环境变量 - 示例: PORT=3001 npm run dev - 检查哪个程序正在使用端口1338: lsof -i :1338 (Mac/Linux)
- MCP协议错误:
- 确保您使用的是MCP SDK 1.20.0或更高版本 - 检查MCP Inspector版本是否兼容 - 检查服务器启动日志中的初始化错误
- 工具注册问题:
- 确保使用Zod正确定义工具模式 - 检查工具参数验证 - 验证工具处理程序是否返回正确的响应格式
- 连接问题:
- 验证服务器是否正在运行: curl http://localhost:1338/mcp - 如果从浏览器连接,请检查CORS问题 - 确保 /mcp 终端路径是正确的
- MCP检查器连接:
- 验证服务器URL是否包含 /mcp 路径 - 检查传输设置是否为 http - 确保没有防火墙阻止连接
- TypeScript 编译问题:
- 跑步 npm run build 检查编译错误 - 确保所有依赖项都已安装: npm install - 验证 Node.js 版本是否为 18 或更高版本
如需更多帮助,请 提交一个问题 在GitHub上。
👥 贡献(或参与贡献)
欢迎投稿!以下是投稿方式:
- 叉 仓库
- 创造 一个特性分支:
git checkout -b feature/amazing-feature- 提交 您的更改:
git commit -m 'Add amazing feature'- 推动;推送 到分公司:
git push origin feature/amazing-feature- 提交 一个拉取请求
请确保适时更新测试,并遵循MCP协议标准。
🆘 支持
如果你需要关于这个模板的帮助:
- 提交一个问题 用于报告错误或提出功能请求
- 参观 Blaxel 文档 用于平台指导
- 检查一下 模型上下文协议文档 对于协议规范
- 加入我们 Discord 社区 以提供实时帮助
📄 许可证
这个项目遵循MIT许可证进行授权。请参阅 许可证 文件中包含更多详细信息。
