mcpField
D
Deno MCP Server

Deno MCP Server

本地服务
github.com/Timtech4u开发工具685 周前更新

关于 Deno MCP Server

Deno MCP Server 允许大模型在可配置权限下执行 Deno TypeScript 或 JavaScript 代码,也可查询 Deno 版本并选择启用不稳定功能。

主要功能

  1. 01执行 TypeScript 或 JavaScript
  2. 02配置运行时权限
  3. 03启用不稳定功能
  4. 04查询 Deno 版本

适用场景

  1. 01通过助手运行 Deno 代码片段
  2. 02为代码运行开放网络权限
  3. 03在授权后读写文件
  4. 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 服务前,请确保已安装:

安装

  1. 克隆此仓库:
git clone https://github.com/Timtech4u/deno-mcp.git
cd deno-mcp
  1. 安装依赖:
npm install
  1. 构建项目:
npm run build

配置

Claude Desktop
  1. 打开 Claude Desktop 配置文件:

    • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows:%APPDATA%\Claude\claude_desktop_config.json
  2. 添加 Deno MCP 服务配置:

{
  "mcpServers": {
    "deno": {
      "command": "node",
      "args": [
        "/absolute/path/to/deno-mcp/dist/index.js"
      ],
      "disabled": false,
      "autoApprove": [
        "execute_deno_code",
        "check_deno_version"
      ]
    }
  }
}
  1. 将 /absolute/path/to/deno-mcp 替换为克隆仓库的实际路径。

  2. 重启 Claude Desktop。

Cline
  1. 打开 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
  2. 添加 Deno MCP 服务配置:

{
  "mcpServers": {
    "deno": {
      "command": "node",
      "args": [
        "/absolute/path/to/deno-mcp/dist/index.js"
      ],
      "disabled": false,
      "autoApprove": [
        "execute_deno_code",
        "check_deno_version"
      ]
    }
  }
}
  1. 将 /absolute/path/to/deno-mcp 替换为克隆仓库的实际路径。

  2. 重启 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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。