Deno MCP Template Repo
一个使用 Deno 编写和发布 MCP 服务器的模板仓库。
phughesmcr
README
Deno MCP 模板仓库
一个简单的模板,用于使用 Deno 编写 MCP 服务器,使用 JSR.io 发布它们,并可选择使用 Deno Deploy 上的托管。
该示例服务器还使用 Deno KV 来实现一个简单的知识图谱工具,并允许会话可恢复性。
‼️ 默认情况下,此模板服务器调用 await Deno.openKv()
- 所有 KV 功能将在通过 "command": "deno run -A --unstable-kv jsr:@your-scope/your-package"
访问您的服务器的用户之间共享。您可能不希望在生产环境中这样做。请确保用户只能读取他们应该有权访问的内容!
ℹ️ 需要 Deno。使用 npm install -g deno
或 curl -fsSL <https://deno.land/install.sh> | sh
用法
替换以下示例中的服务器名称和包位置,以对应于您自己的 MCP 服务器。
如果需要,可以在 .env
中设置 HOSTNAME 和 PORT。
使用 JSR 上发布的 MCP 服务器的 claude-desktop-config.json
{
"mcpServers": {
"my-mcp-server": {
"command": "deno run -A --unstable-kv jsr:@your-scope/your-package"
},
}
}
手动使用 SSE 端点的 claude-desktop-config.json
使用 deno task start
启动服务器。
{
"mcpServers": {
"my-mcp-server": {
"url": "http://localhost:3001/sse"
},
}
}
手动使用 HTTP 端点的 claude-desktop-config.json
使用 deno task start
启动服务器。
{
"mcpServers": {
"my-mcp-server": {
"url": "http://localhost:3001/mcp"
},
}
}
使用 STDIO 服务器的 claude-desktop-config.json
{
"mcpServers": {
"my-mcp-server": {
"command": "deno run -A --unstable-kv absolute/path/to/main.ts"
},
}
}
编译为二进制文件
运行 deno task compile
。
然后,您可以像任何其他 MCP 服务器一样使用您的二进制文件,例如:
{
"mcpServers": {
"my-local-mcp-server": {
"command": "absolute/path/to/binary"
},
}
}
有关更多信息,请参见 Deno 编译文档。
开发
⚠️ 您必须在此仓库中搜索 "phughesmcr"、"P. Hughes"、"github@phugh.es" 和 "deno-mcp-template",并将它们替换为您自己的信息。
⚠️ 记住在您的 Github 仓库设置和您的 Deno Deploy 项目设置(如果适用)中设置任何环境变量。
⚠️ 记住检查 routes/
和 static/
中的所有文件,因为其中一些文件(例如 openapi.yaml
)需要修改以匹配您的 MCP 服务器的功能/端点。
ℹ️ 示例服务器使用 deno run -A
运行,这启用了 Deno 的所有权限。在部署到生产环境之前,您应该微调权限。
ℹ️ 运行 deno task prep
以运行格式化程序、linter 和代码检查器。
在 JSR 上发布
为了让用户能够从互联网运行您的服务器,此示例使用 JSR.io 来发布服务器。
JSR 是“适用于现代 JavaScript 和 TypeScript 的开源包注册表”,其工作方式类似于 NPM。
以这种方式发布您的服务器允许用户使用 deno run jsr:@your_scope/your_server_name
运行它,而不必克隆仓库并设置绝对路径。
为此,您需要设置您的 JSR.io 帐户,并将代码库中的相关值替换为与您的包名称和范围匹配的值。
如果您不想在 JSR 上发布,请删除 .github/workflows/publish.yml
。
在 Deno Deploy 上托管
如果您只想通过 JSR 发布您的服务器,则不需要使用 Deno Deploy。但是,使用 Deno Deploy 实现一个简单的服务器在几个方面可能很有用。例如,托管一个 llms.txt
文件,该文件向 LLM 描述您的服务器;添加身份验证路由;等等。
为此,您需要设置您的 Deno Deploy 并替换代码库中的相关值以匹配您的包名称。
如果您不打算使用 Deploy,请删除 .github/workflows/deploy.yml
。
使用 Deno KV 进行数据库操作
“Deno KV 是一个直接构建到 Deno 运行时中的键值数据库,可在 Deno.Kv 命名空间中使用。它可用于多种数据存储用例,但在存储受益于非常快速的读取和写入的简单数据结构方面表现出色。Deno KV 在 Deno CLI 和 Deno Deploy 中可用。” - Deno KV 手册
Deno KV 可以在没有任何其他依赖项或安装的情况下使用。在本地,它将创建一个基于文件的数据库,如果您使用的是 Deploy,它会内置在其中,无需额外的配置。
此模板服务器实现了 知识图谱内存服务器 示例,来自 The ModelContextProtocol Github,使用 KV 存储和检索图。
额外功能
该仓库包含以下提高生活质量的文件,这些文件对于服务器运行不是必需的,但会增强您的 vibecoding:
.cursor/mcp.json
将 MCP 服务器添加到 Cursor。.github/
将 Github 赞助商信息添加到您的仓库,以及其他 Github 功能,例如工作流。.vscode/
有一些推荐的扩展,并使 Deno 成为默认格式化程序。vendor/schema.ts
是 Anthropic 的 2025-03-26 MCP 模式。CLAUDE.md
是 Claude Code 的起始文件。在您第一次更改后运行claude init
以保持最新。.cursorignore
告诉 Cursor 除了.gitignore
之外还要排除文件。*.md
。这些 markdown 文件,例如 "CODE_OF_CONDUCT.md",将各种选项卡和标签添加到您的 Github 仓库,并有助于社区管理。
更多信息
The ModelContextProtocol Github。
致谢
vendor/schema.ts
是 Anthropic 的 2025-03-26 MCP 模式 (MIT 许可证)。
许可证
MIT
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
MCP Package Docs Server
促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。
Claude Code MCP
一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。
@kazuph/mcp-taskmanager
用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。
mermaid-mcp-server
一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。
Jira-Context-MCP
MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

Linear MCP Server
一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。
Curri MCP Server
通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。