使用说明
项目简介
本项目 'deno-mcp-server-template' 是一个使用 Deno 构建 MCP (Model Context Protocol) 服务器的模板。它旨在帮助开发者快速搭建基于 MCP 协议的后端服务,以便为大型语言模型 (LLM) 应用提供上下文信息和功能扩展。该模板预置了一个简单的字符串处理工具作为示例,展示了如何注册和使用工具。
主要功能点
- MCP 服务器基础框架: 实现了 MCP 协议服务器的基本结构,可以处理来自 MCP 客户端的请求。
- 工具注册与执行: 允许注册和执行外部工具,例如本例中提供的 'getStringLength' 工具,用于获取字符串长度。
- Stdio 传输协议: 使用 Stdio (标准输入输出) 作为默认的传输协议,方便本地开发和部署。
- 可扩展性: 通过模块化的设计,可以轻松添加和扩展资源、工具和 Prompt 模板处理逻辑。
- 示例工具: 内置 'getStringLength' 工具,演示了如何定义和实现工具的功能。
安装步骤
- 安装 Deno: 确保您的系统已安装 Deno 运行时环境。您可以访问 https://deno.land/ 按照官方指南进行安装。
- 克隆仓库: 将 'deno-mcp-server' 仓库克隆到本地。
git clone https://github.com/mazrean/deno-mcp-server.git cd deno-mcp-server - 无需构建: Deno 项目无需显式构建步骤,可以直接运行。
服务器配置
MCP 客户端需要配置以下信息以连接到此 MCP 服务器。请注意,以下配置为 JSON 格式,您需要将其填入 MCP 客户端的相应配置项中。
{ "serverName": "traQ", "command": "deno", "args": ["run", "main.ts"] }
配置参数说明:
- 'serverName': 服务器名称,此处设置为 'traQ',与 'mcp/server.ts' 中 'McpServer' 构造函数的 'name' 字段一致。
- 'command': 启动服务器的命令,这里使用 'deno' 命令来运行 Deno 程序。
- 'args': 传递给 'command' 的参数列表。
- '"run"': Deno 命令的 'run' 子命令,用于执行 Deno 脚本。
- '"main.ts"': 要执行的 Deno 脚本文件,即 'main.ts',它是服务器的入口文件。
重要提示: 请确保 MCP 客户端能够找到 'deno' 命令,或者在 'command' 中使用 'deno' 的完整路径。 'main.ts' 文件路径是相对于 MCP 客户端启动命令的执行目录而言的,如果两者目录结构不同,您可能需要调整 'args' 中的路径。
基本使用方法
-
启动服务器: 在仓库根目录下,打开终端并执行以下命令启动 MCP 服务器:
deno run main.ts服务器将通过 Stdio 监听来自 MCP 客户端的请求。
-
配置 MCP 客户端: 在您的 MCP 客户端应用中,配置服务器连接信息,使用上面提供的 JSON 配置。
-
调用工具: MCP 客户端连接成功后,即可调用服务器提供的工具。例如,您可以使用客户端发送请求调用 'getStringLength' 工具,并传入字符串参数,服务器将返回字符串的长度。 具体工具的调用方式请参考 MCP 客户端的文档。
示例工具调用 (getStringLength):
假设您使用 MCP 客户端发送调用 'getStringLength' 工具的请求,并传入参数 '{"input": "Hello MCP Server"}',服务器将返回包含字符串长度 '16' 的响应。
// 客户端请求示例 (JSON-RPC) { "jsonrpc": "2.0", "method": "call_tool", "params": { "tool_name": "getStringLength", "input": { "input": "Hello MCP Server" } }, "id": 1 } // 服务器响应示例 (JSON-RPC) { "jsonrpc": "2.0", "result": { "content": [ { "type": "text", "text": "16" } ], "isError": false }, "id": 1 }
请注意,以上 JSON 示例仅为演示工具调用过程,实际的请求和响应格式可能需要根据您使用的 MCP 客户端库进行调整。
信息
分类
开发者工具