MCP服务器TypeScript模板
本项目是一个使用TypeScript开发的MCP服务器模板,旨在帮助开发者快速搭建能够与LLM客户端(如Claude Desktop)交互的后端应用。它展示了如何利用 Model Context Protocol (MCP) 协议,通过注册工具扩展LLM的功能,并提供结构化的上下文信息。
主要功能点:
- MCP协议实现: 遵循 Model Context Protocol 规范,能够处理来自LLM客户端的请求,并返回符合MCP协议的响应。
- 工具注册与调用: 支持注册自定义工具(如示例中的 'example_operation' 和 'addition' 工具),允许LLM客户端调用这些工具执行外部操作。
- JSON-RPC通信: 使用 JSON-RPC 协议与客户端进行通信,实现标准化的请求和响应交互。
- Stdio传输: 默认使用 Stdio 作为传输协议,方便本地开发和测试。
- 输入参数校验: 使用 Zod 进行工具输入参数的校验,确保数据类型安全。
- 可扩展性: 项目结构清晰,易于扩展和添加新的工具及功能。
安装步骤:
-
克隆仓库:
git clone https://github.com/minimind-org/mcp-server-typescript-template cd mcp-server-typescript-template -
安装依赖:
npm install -
构建项目:
npm run build -
启动服务器:
npm run start启动成功后,服务器将在stdio上运行,并输出 'Example MCP Server running on stdio' 信息。
服务器配置 (MCP客户端配置):
要让MCP客户端(例如 Claude Desktop)连接到此MCP服务器,您需要在客户端的配置文件中添加服务器信息。以 'claude_desktop_config.json' 为例,您需要配置 'mcpServers' 字段,指定服务器的名称、启动命令和参数。
{ "mcpServers": { "example": { // 服务器名称,客户端配置中引用 "command": "node", // 启动服务器的命令,这里使用 node "args": [ // 启动命令的参数 "/path/to/mcp-server-typescript-template/dist/index.js" // 指向编译后的服务器入口文件 index.js 的绝对路径,请替换为您的实际路径 ] } } }
注意:
- 请将 '/path/to/mcp-server-typescript-template/dist/index.js' 替换为您本地仓库 'dist/index.js' 文件的绝对路径。您可以使用 'pwd'/'cd' 命令和相对路径计算出绝对路径。
- 'example' 是您为该服务器定义的名称,在客户端配置中会使用这个名称来引用此服务器。您可以自定义服务器名称。
基本使用方法:
- 配置MCP客户端: 按照上述“服务器配置”部分修改您的MCP客户端配置文件,确保客户端能够找到并启动您的MCP服务器。
- 启动MCP服务器: 运行 'npm run start' 启动服务器。
- 在LLM客户端中使用工具: 在支持MCP协议的LLM客户端中,您应该能够看到并调用服务器提供的工具 (例如 'example_operation' 和 'addition')。具体使用方式请参考您的LLM客户端的文档。例如,在 Claude Desktop 中,您可能需要在对话中提及工具名称,客户端会自动识别并调用。
示例工具说明:
- example_operation: 一个示例操作,可能用于演示如何调用外部API(实际代码中调用了 'example.com')。
- addition: 一个简单的加法工具,接受两个数字作为输入,返回它们的和。
通过修改 'operations' 目录下的文件和 'index.ts',您可以轻松添加和扩展更多自定义工具,构建功能丰富的LLM后端应用。
信息
分类
开发者工具