使用说明
MCP服务器模板
在TypeScript中创建模型上下文协议(MCP)服务器的模板。此模板为使用适当的工具、类型安全和最佳实践构建MCP兼容服务器提供了坚实的基础。
特性
- 🚀 完全支持TypeScript
- 🏗️ 基于容器的依赖注入
- 📦 具有DataProcessor接口的基于服务的体系结构
- 🛠️ 带有测试的示例工具实现
- 🧪 Vitest测试框架
- 📝 类型定义
- 🔌 MCP SDK集成
入门指南
发展
-
安装依赖项:
npm install -
使用热重载启动开发服务器:
npm run dev -
构建项目:
npm run build -
运行测试:
npm test -
启动生产服务器:
npm start
项目结构
src/
├── index.ts # Entry point
├── interfaces/ # Interface definitions
│ └── tool.ts # DataProcessor interface
└── tools/ # Tool implementations
└── example.ts # Example tool
创建工具
-
按照中的示例导出工具和处理程序
src/tools/example.ts:// In your-tool.ts export const YOUR_TOOLS = [ { name: "your-tool-name", description: "Your tool description", parameters: { // Your tool parameters schema }, }, ]; export const YOUR_HANDLERS = { "your-tool-name": async (request) => { // Your tool handler implementation return { toolResult: { content: [{ type: "text", text: "Result" }], }, }; }, }; -
在中注册您的工具
ALL_TOOLS和ALL_HANDLERS常数在src/index.ts:// In src/index.ts import { YOUR_TOOLS, YOUR_HANDLERS } from "./tools/your-tool.js"; // Combine all tools const ALL_TOOLS = [...EXAMPLE_TOOLS, ...YOUR_TOOLS]; const ALL_HANDLERS = { ...EXAMPLE_HANDLERS, ...YOUR_HANDLERS };
服务器将自动:
- 在可用工具中列出您的工具
- 处理输入验证
- 处理对工具的请求
- 根据MCP协议格式化响应
测试
该模板包括用于本地测试的内置TestClient和用于可视化调试的MCP检查器。
使用测试客户端
TestClient提供了一种简单的方法来测试您的工具:
import { TestClient } from "./utils/TestClient";
describe("YourTool", () => {
const client = new TestClient();
it("should process data correctly", async () => {
await client.assertToolCall(
"your-tool-name",
{ input: "test" },
(result) => {
expect(result.toolResult.content).toBeDefined();
}
);
});
});
使用MCP检查器
该模板包括用于工具可视化调试的MCP检查器:
-
启动检查器:
npx @modelcontextprotocol/inspector node dist/index.js -
打开检查器UIhttp://localhost:5173
检查员提供:
- 测试工具的可视化界面
- 实时请求/响应监控
- 工具元数据检查
- 交互式测试环境
使用游标进行本地测试
要使用Cursor在本地测试MCP服务器,请执行以下操作:
-
构建并链接包:
npm run build npm run link -
验证二进制文件是否正常工作:
npx example-mcp-tool -
将服务器添加到游标:
- 打开光标设置
- 导航到“功能”选项卡
- 向下滚动到MCP服务器部分
- 点击“添加服务器”
- 选择“命令”类型
- 为其命名(例如,“本地示例工具”)
- 输入命令:
npx example-mcp-tool - 单击确认
-
通过检查MCP服务器部分是否显示您的服务器正在运行,验证服务器是否在Cursor中正确启动。
注意:如果您对代码进行了更改,请记住重建并重新链接:
npm run build
npm run link
测试完成后,您可以取消包的链接:
npm run unlink
这将删除开发过程中创建的全局符号链接。
