返回市场
丹诺-MCP模板

丹诺-MCP模板

作者:phughesmcr26 星标更新:2025-08-15

项目介绍

Deno MCP 模板仓库

GitHub Actions 工作流状态 GitHub Actions 工作流状态 GitHub Actions 工作流状态 GitHub Actions 工作流状态

Typescript License Repo Size Sponsor

Repo Logo

这是一个使用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 denocurl -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"
        },
    }
}

手动使用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 Compile 文档

开发

⚠️ 您必须在本仓库中搜索"phughesmcr"、"P. Hughes"、"github@phugh.es"和"deno-mcp-template",并将其替换为您自己的信息。

⚠️ 记得在您的Github仓库设置和Deno Deploy项目设置(如适用)中设置任何环境变量。

⚠️ 记得检查routes/static/中的所有文件,因为这些文件(例如openapi.yaml)可能需要修改以匹配您的MCP服务器的功能/端点。

ℹ️ 示例服务器使用deno run -A运行,这启用了Deno的所有权限。在部署到生产之前,您应微调权限

ℹ️ 运行deno task prep以运行格式化程序、代码检查器和代码检查。

在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的llms.txt文件;添加身份验证路由等。

要使这起作用,您需要设置您的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,它已经内置其中,无需额外配置。

此模板服务器实现了来自ModelContextProtocol Github知识图谱内存服务器示例,使用KV来存储和检索图。

额外内容

该仓库包括以下提高生活质量的文件,虽然它们对于服务器运行不是必要的,但可以增强您的编程体验:

  • .cursor/rules/ 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仓库添加各种标签和标签,并有助于社区管理。

更多信息

介绍模型上下文协议

ModelContextProtocol Github

致谢

vendor/schema.ts是来自Anthropic的2-2025-03-26 MCP模式(MIT许可证)。

许可证

MIT