关于 Deno MCP Server
Deno MCP Server 允许大模型在可配置权限下执行 Deno TypeScript 或 JavaScript 代码,也可查询 Deno 版本并选择启用不稳定功能。
主要功能
- 01执行 TypeScript 或 JavaScript
- 02配置运行时权限
- 03启用不稳定功能
- 04查询 Deno 版本
适用场景
- 01通过助手运行 Deno 代码片段
- 02为代码运行开放网络权限
- 03在授权后读写文件
- 04检查已安装的 Deno 版本
MCP 相关
该 MCP 服务提供工具,可按指定权限执行 Deno 代码,并查询已安装的 Deno 版本。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Deno MCP 服务
用于执行 Deno TypeScript/JavaScript 代码的模型上下文协议(MCP)服务。此服务允许 Claude 等大模型在可配置的权限下安全地运行 Deno 代码。
功能
- 执行 Deno TypeScript 或 JavaScript 代码
- 配置权限(net、read、write、env、run 等)
- 启用/禁用不稳定功能
- 获取 Deno 版本信息
前置条件
使用此 MCP 服务前,请确保已安装:
- Node.js 16 或更高版本
- Deno
- Claude Desktop 或 Cline
安装
- 克隆此仓库:
git clone https://github.com/Timtech4u/deno-mcp.git
cd deno-mcp
- 安装依赖:
npm install
- 构建项目:
npm run build
配置
Claude Desktop
-
打开 Claude Desktop 配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
添加 Deno MCP 服务配置:
{
"mcpServers": {
"deno": {
"command": "node",
"args": [
"/absolute/path/to/deno-mcp/dist/index.js"
],
"disabled": false,
"autoApprove": [
"execute_deno_code",
"check_deno_version"
]
}
}
}
-
将
/absolute/path/to/deno-mcp替换为克隆仓库的实际路径。 -
重启 Claude Desktop。
Cline
-
打开 Cline MCP 设置文件:
- macOS:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json - Windows:
%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
- macOS:
-
添加 Deno MCP 服务配置:
{
"mcpServers": {
"deno": {
"command": "node",
"args": [
"/absolute/path/to/deno-mcp/dist/index.js"
],
"disabled": false,
"autoApprove": [
"execute_deno_code",
"check_deno_version"
]
}
}
}
-
将
/absolute/path/to/deno-mcp替换为克隆仓库的实际路径。 -
重启 Cline 或重新加载窗口。
使用方法
配置完成后,你可以通过多种方式让 Claude 运行 Deno 代码。以下是一些示例:
基本用法
无需任何特殊权限即可运行简单的 Deno 代码:
Can you run this Deno code for me?
console.log("Hello from Deno!");
console.log("Version:", Deno.version);
console.log("Current directory:", Deno.cwd());
使用网络权限
如需发送 HTTP 请求,需要授予网络权限:
Run this Deno code with network permissions:
async function fetchData() {
const response = await fetch("https://jsonplaceholder.typicode.com/todos/1");
const data = await response.json();
console.log("Fetched data:", data);
}
await fetchData();
使用文件系统权限
如需读取或写入文件,需要授予文件系统权限:
Run this Deno code with file system permissions:
const text = "Hello, Deno File System!";
await Deno.writeTextFile("./hello.txt", text);
console.log("File written successfully");
const content = await Deno.readTextFile("./hello.txt");
console.log("File content:", content);
使用多个权限
可以组合多个权限:
Run this Deno code with network and file system permissions:
const response = await fetch("https://jsonplaceholder.typicode.com/todos/1");
const data = await response.json();
await Deno.writeTextFile("./todo.json", JSON.stringify(data, null, 2));
console.log("Todo data saved to file");
使用 Deno 标准库
可以使用 Deno 的标准库:
Run this Deno code with network permissions:
import { serve } from "https://deno.land/[email protected]/http/server.ts";
const handler = (req) => new Response("Hello, Deno Server!");
console.log("HTTP server running on http://localhost:8000");
serve(handler, { port: 8000 });
可用工具
execute_deno_code
执行 Deno TypeScript/JavaScript 代码。
参数:
code(字符串,必填):要执行的 Deno 代码permissions(字符串数组,可选):要授予的权限列表(例如"net"、"read"、"write"、"env"、"run"等)unstable(布尔值,可选):是否启用不稳定功能typescript(布尔值,可选):代码是 TypeScript(true)还是 JavaScript(false)
通过 Claude 使用的示例:
Can you run this Deno code with permissions for network and file system access?
const response = await fetch("https://api.github.com/users/denoland");
const data = await response.json();
await Deno.writeTextFile("./deno-github.json", JSON.stringify(data, null, 2));
console.log("GitHub data for Deno saved to file");
check_deno_version
返回已安装的 Deno 版本信息。
通过 Claude 使用的示例:
Can you check what version of Deno I have installed?
故障排除
找不到 Deno
如果看到类似“未安装 Deno”的错误,请确保已安装 Deno,且它位于系统 PATH 中。
权限错误
如果代码因权限错误而失败,请确保申请了适当的权限:
- 网络请求:
"net" - 文件系统:
"read"和/或"write" - 环境变量:
"env" - 运行子进程:
"run"
超时错误
服务为代码执行设置了 30 秒超时时间。如果代码运行时间超过此限制,就会被终止。
贡献
欢迎贡献!请随时提交 Pull Request。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。