使用说明
项目简介
本项目是一个基于 Deno 开发的 MCP (Model Context Protocol) 服务器模板,旨在帮助开发者快速构建符合 MCP 协议的应用后端服务。该模板预置了服务器基础框架和示例代码,开发者可以基于此模板扩展和定制功能,以满足 LLM 应用对上下文信息和外部功能的需求。
主要功能点
- 资源管理:支持托管和管理各种类型的资源,例如知识库、文档、数据库等,并提供数据访问能力,使 LLM 可以获取外部信息。
- 工具注册与执行:允许注册和执行外部工具,例如搜索引擎、计算器、API 接口等,扩展 LLM 的功能边界,使其能够调用外部功能完成更复杂的任务。
- Prompt 模板:支持定义和渲染 Prompt 模板,允许根据不同的场景和需求定制 LLM 的交互模式,优化 LLM 的输出结果。
- 多种传输协议:支持 Stdio, SSE, HTTP 等多种传输协议,方便与不同类型的 MCP 客户端集成。
- 会话管理:服务器端负责会话管理,保证客户端连接的稳定性和安全性。
- 能力声明:服务器声明自身支持的功能和特性,方便客户端了解服务器的能力。
安装步骤
-
安装 Deno:如果您的机器上没有安装 Deno,请先安装 Deno 运行时环境。推荐使用以下命令安装:
curl -fsSL https://deno.land/install.sh | sh或参考 Deno 官网 的安装指南。
-
克隆仓库:将 GitHub 仓库 'deno-mcp-template' 克隆到本地:
git clone https://github.com/phughesmcr/deno-mcp-template cd deno-mcp-template -
替换占位符:根据您的项目信息,替换仓库中 'phughesmcr'、'P. Hughes'、'[email protected]' 和 'deno-mcp-template' 等占位符。
服务器配置
MCP 服务器需要配置在 MCP 客户端中才能使用。以下是一些常用的配置示例,以 'claude-desktop-config.json' 为例:
-
通过 JSR 运行 (推荐发布到 JSR 的服务器使用)
{ "mcpServers": { "my-mcp-server": { "command": "deno run -A --unstable-kv jsr:@your-scope/your-package" // command: 运行 MCP 服务器的命令。 // jsr:@your-scope/your-package 表示从 JSR (JavaScript Package Registry) 下载并运行指定 scope 和 package 的服务器。 // -A 参数表示授予服务器所有权限,--unstable-kv 参数表示启用不稳定的 Deno KV 功能。 } } } -
手动运行 SSE 端点 (开发和本地测试常用) 首先使用 'deno task start' 命令启动服务器。
{ "mcpServers": { "my-mcp-server": { "url": "http://localhost:3001/sse" // url: MCP 服务器的 SSE 端点 URL。 // http://localhost:3001/sse 表示服务器在本地 3001 端口的 SSE 服务端点。 } } } -
手动运行 HTTP 端点 (不常用,SSE 端点更佳) 首先使用 'deno task start' 命令启动服务器。
{ "mcpServers": { "my-mcp-server": { "url": "http://localhost:3001/mcp" // url: MCP 服务器的 HTTP 端点 URL。 // http://localhost:3001/mcp 表示服务器在本地 3001 端口的 HTTP 服务端点。 } } } -
手动运行 STDIO 服务器 (适用于 command 行工具集成)
{ "mcpServers": { "my-mcp-server": { "command": "deno run -A --unstable-kv absolute/path/to/main.ts" // command: 运行 MCP 服务器的命令。 // deno run -A --unstable-kv absolute/path/to/main.ts 表示使用 Deno 运行本地 main.ts 文件, // absolute/path/to/main.ts 需要替换为 main.ts 文件的绝对路径。 // -A 参数表示授予服务器所有权限,--unstable-kv 参数表示启用不稳定的 Deno KV 功能。 } } } -
编译为二进制文件运行 运行 'deno task compile' 命令将服务器编译为二进制可执行文件。
{ "mcpServers": { "my-local-mcp-server": { "command": "absolute/path/to/binary" // command: 运行 MCP 服务器的命令。 // absolute/path/to/binary 需要替换为编译后的二进制文件的绝对路径。 } } }
基本使用方法
-
启动服务器:根据您选择的运行方式,启动 MCP 服务器。例如,使用 'deno task start' 命令启动基于 HTTP 或 SSE 的服务器。
-
配置 MCP 客户端:在您的 MCP 客户端(例如 Claude Desktop)中,配置上述生成的 'claude-desktop-config.json' 文件,指定 MCP 服务器的连接方式和地址。
-
连接和使用:客户端将根据配置连接到 MCP 服务器,并可以使用服务器提供的资源、工具和 Prompt 模板来增强 LLM 的能力。
开发提示
- 修改 'src/mcp/mod.ts' 文件以扩展和定制 MCP 服务器的功能,例如添加新的工具、资源和 Prompt 模板。
- 配置文件 '.env' 设置 'HOSTNAME' 和 'PORT' 环境变量以更改服务器的监听地址和端口。
- 运行 'deno task prep' 命令进行代码格式化、检查和 lint。
- 详细开发指南请参考仓库 README.md 文件。
信息
分类
开发者工具