Token导航 LogoToken导航TokenDH.com
Deno MCP Template logo
开发工具未说明官方级别未说明来源级核验

Deno MCP Template

MCP Server

A template repo for writing and publishing MCP servers using Deno.

工具数

11

提示词数

0

GitHub Stars

30

资源数

0
服务器模板AI代理TypeScriptClaudeClaude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

phughesmcr

提供方

phughesmcr

最后核验

2026/5/18 03:27

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Deno MCP服务器模板

Typescript ![JSR](https://jsr.io/@phughesmcr/deno-mcp-template) ![JSR Score](https://jsr.io/@phughesmcr/deno-mcp-template) Repo Size License

Sponsor

这些电池包括在TypeScript中构建生产MCP服务器的起点。

克隆,运行安装程序,开始构建。附带STDIO+HTTP传输、安全中间件、持久状态、沙盒执行、CI/CD工作流以及您需要的每种分发格式——JSR包、本机二进制文件、DXT扩展或托管在Deno Deploy上。

为什么是这个模板?

您将在2分钟内获得一个可用的MCP服务器。 不是玩具——一个真正的服务器,具有速率限制、CORS、会话管理、TLS支持和结构化日志记录功能。

Deno赋予你其他运行时所没有的超能力。 内置KV数据库(无需设置Postgres/Redis),本机cron调度,在microVM中执行沙盒代码,编译为二进制,以及一流的Deploy托管。此模板使所有这些都能工作。

船在任何地方,任何方式。 一个代码库产生:

  • 用于Cursor、Claude Desktop或任何MCP客户端的本地STDIO服务器
  • 具有流式HTTP传输的远程HTTP服务器
  • 任何人都可以使用JSR包 deno run 不进行克隆
  • 独立的本机二进制文件(无需运行时)
  • 一键安装Claude Desktop的DXT扩展
  • 一个用于托管云托管的Deno Deploy应用程序

AI代理友好的代码库。 小文件(\ \ --app \ --source local \ --runtime-mode dynamic \ --entrypoint main.ts \ --build-timeout 5 \ --build-memory-limit 1024 \ --region us

Deploy

deno deploy --prod


集 `DENO_DEPLOY_TOKEN`, `DENO_DEPLOY_ORG`,以及 `DENO_DEPLOY_APP` 在GitHub Actions secrets中自动部署。移除 `.github/workflows/deploy.yml` 如果不使用Deploy。

## 生产清单

- \[\]运行 `deno task setup` 并验证是否替换了所有占位符名称
- \[\]删除或替换您不会发布的演示工具/资源/提示
- \[\]更新 `static/.well-known/openapi.yaml` 和 `static/dxt-manifest.json`
- \[\]配置 `MCP_ALLOWED_ORIGINS` 和 `MCP_ALLOWED_HOSTS` 适合您的环境
- \[\]替换 `src/app/http/kvEventStore.ts` 有一个生产级的活动商店(包括一个演示)
- \[\]从以下位置切换 `deno run -A` 到 [显式权限](https://docs.deno.com/runtime/fundamentals/security/) 用于生产
- \[\]审查 `--allow-net` 任何出站工具调用的范围
- \[\]在CI和托管提供程序中设置环境变量
- \[\]运行 `deno task ci` (格式、棉绒、类型检查、测试)

## 配置

|变量|标志|默认值|描述|
| --- | --- | --- | --- |
| `MCP_NO_HTTP` | `--no-http` | `false` |禁用HTTP服务器|
| `MCP_NO_STDIO` | `--no-stdio` | `false` |禁用STDIO传输|
| `MCP_HOSTNAME` | `-n` | `localhost` |HTTP侦听主机名|
| `MCP_PORT` | `-p` | `3001` |HTTP侦听端口|
| `MCP_PUBLIC_BASE_URL` | `--public-base-url` ||公开 `http(s)://` 浏览器链接的来源(URL提取);没有尾随斜线|
| `MCP_TLS_CERT` | `--tls-cert` || PEM证书路径(需要 `--tls-key`) |
| `MCP_TLS_KEY` | `--tls-key` || PEM私钥路径(需要 `--tls-cert`) |
| `MCP_HEADERS` | `-H` ||响应标头(集合)|
| `MCP_JSON_RESPONSE` | `--json-response` | `false` |仅JSON响应(禁用SSE)|
| `MCP_DNS_REBINDING` | `--dnsRebinding` | `false` |启用传输级别的源/主机检查(环回绑定已获得主机验证)|
| `MCP_ALLOWED_ORIGINS` | `--origin` ||允许的CORS来源(集合)|
| `MCP_ALLOWED_HOSTS` | `--host` ||允许的主机名(集合)|
| `MCP_KV_PATH` | `--kv-path` ||自定义Deno KV数据库路径|
| `MCP_MAX_TASK_TTL_MS` | `--max-task-ttl-ms` | `86400000` (24小时)|实验MCP任务的最大客户端请求TTL(ms);夹紧 `KvTaskStore` (最小60秒,最大1年——见 `src/shared/validation/config.ts`) |
| `DENO_DEPLOY_TOKEN` ||部署令牌(需要 `execute-code` 沙盒工具)|

CLI标志覆盖环境变量。集合值(`-H`, `--origin`, `--host`)从两个来源合并。

### 集合配置示例

集合样式值可以设置为逗号分隔的字符串 `.env`:

MCP_HEADERS=x-api-key:demo,cache-control:no-store MCP_ALLOWED_ORIGINS=http://localhost:6274,https://app.example.com MCP_ALLOWED_HOSTS=localhost,127.0.0.1,app.example.com


或重复的CLI标志:

deno task start -- \ -H "x-api-key:demo" \ -H "cache-control:no-store" \ --origin "http://localhost:6274" \ --origin "https://app.example.com" \ --host "localhost" \ --host "app.example.com"


使用 `--origin` 完整的起源(例如。 `https://example.com`)以及 `--host` 用于主机名或IP(例如。 `example.com`, `127.0.0.1`).

## 发展

|命令|它的作用|
| --- | --- |
| `deno task start` |启动服务器|
| `deno task dev` |从MCP检查器+监视模式开始|
| `deno task build:mcp-ui` |将MCP应用程序HTML构建到 `static/mcp-apps/` (全部+ `mcp-ui/deno.lock`;没有Node.js)|
| `deno task ci` |跑步 `build:mcp-ui`,然后进行格式化、lint、类型检查和测试|
| `deno task test:integration` |运行集成测试|
| `deno task test:coverage` |带有覆盖率报告的测试|
| `deno task bench` |运行基准测试|

`deno task ci` 跑 `build:mcp-ui` 首先,它只使用Deno下的install+Vite `mcp-ui/` (参见 `mcp-ui/README.md`).CI只需要 **德诺** 对于这一步。

### 运行时权限

该应用程序在启动时验证所需的权限,并在可操作的指导下快速失败。对于生产,更喜欢显式权限而不是 `-A`:

HTTP + STDIO (local defaults)

deno run --env-file=.env \ --allow-env --allow-read --allow-write --allow-sys \ --allow-net=localhost:3001 \ main.ts

STDIO only (no HTTP listener)

deno run --env-file=.env \ --allow-env --allow-read --allow-write --allow-sys \ main.ts --no-http


如果您保留联网工具(例如 `fetch-website-info`),包括他们的目的地 `--allow-net`.

### 锁定文件和再现性

此模板跟踪 `deno.lock` 用于确定性依赖解析。

- 刷新锁数据: `deno install --entrypoint main.ts --frozen=false`
- 验证锁定分辨率(CI): `deno install --frozen --entrypoint main.ts`
- 提交 `deno.lock` 随着依赖关系的改变。

## 项目结构

main.ts # Entry point src/ app/ # Runtime shell: transports, HTTP, KV, cron, signals mcp/ # MCP server: tools, resources, prompts, tasks, apps shared/ # Constants, types, validation, utilities mcp-ui/ # Vite + ext-apps front-end for MCP App HTML bundles static/ # Static files, OpenAPI spec, DXT manifest, mcp-apps/*.html scripts/ # Setup, build, and packaging helpers test/ # Integration tests and benchmarks .github/workflows/ # CI, release, deploy, publish


有关带注释的源代码树、传输内部和开发注意事项,请参阅
[`.cursor/rules/project.mdc`](.cursor/rules/project.mdc).

## 额外内容

包含的生活质量文件:

- `.cursor/rules/` --此项目的游标代理规则
- `.cursor/skills/` --实现工具、资源和提示的代理技能(见下文)
- `.cursorignore` --告诉Cursor除了 `.gitignore`
- `.vscode/` --推荐的扩展名,默认格式为Deno
- `.github/` --CI/CD工作流程、赞助商配置、问题模板
- `CLAUDE.md` --可选的Claude Code项目上下文
- `CODE_OF_CONDUCT.md`, `CONTRIBUTING.md`等等。--GitHub的社区管理文件

### 技能

这 `.cursor/skills/` 目录包含代理技能,这些技能指导Cursor在此模板中实现MCP功能。每种技能都提供了文件模板、注册步骤、类型签名和工作示例。

|技能|它涵盖了什么|
| --- | --- |
| [`implementing-mcp-tools`](.cursor/skills/implementing-mcp-tools/SKILL.md) |标准工具、采样、表单和URL提取、资源支持工具、通知|
| [`implementing-mcp-resources`](.cursor/skills/implementing-mcp-resources/SKILL.md) |静态资源、KV支持的资源、资源模板、订阅|
| [`implementing-mcp-prompts`](.cursor/skills/implementing-mcp-prompts/SKILL.md) |使用静态参数或动态补全提示|

这些技能在相关时由Cursor自动提取。让代理“添加新工具”或“创建资源”,它将遵循项目的模式。

## 参考文献

- [MCP规范](https://modelcontextprotocol.io/specification/2025-06-18)
- [MCP应用程序/ `@modelcontextprotocol/ext-apps`](https://www.npmjs.com/package/@modelcontextprotocol/ext-apps) (交互式工具UI)
- [MCP概念](https://modelcontextprotocol.io/docs/concepts/)
- [Deno文档](https://docs.deno.com/)
- [Deno部署](https://docs.deno.com/deploy/)
- [Deno沙盒](https://docs.deno.com/sandbox/)
- [荣誉](https://hono.dev/docs/)

## 致谢

如果您使用此模板,请考虑贡献修复程序和功能,在仓库中担任主角,并赞助。

这不是Deno的官方项目。

## 许可证

麻省理工学院——这是一个模板,不是一个库。在交付生产之前,您需要对其进行修改。

目录标签

目录标签

服务器模板AI代理TypeScriptClaudedeveloper-toolsMCP服务器本地部署Deno

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

11

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP