mcpField
D
Deno MCP Server

Deno MCP Server

Local
github.com/Timtech4uDeveloper Tools6Updated 85w ago

About Deno MCP Server

Deno MCP Server lets LLMs execute Deno TypeScript or JavaScript code with configurable permissions. It also provides Deno version information and an option to enable unstable features.

Key features

  1. 01Execute TypeScript or JavaScript
  2. 02Configure runtime permissions
  3. 03Enable unstable features
  4. 04Check Deno version

Use cases

  1. 01Run Deno snippets through an assistant
  2. 02Allow network access for a code run
  3. 03Read or write files with granted permissions
  4. 04Check the installed Deno version

MCP support

The MCP server exposes tools to execute Deno code with specified permissions and to retrieve the installed Deno version.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Deno MCP Server

A Model Context Protocol (MCP) server for executing Deno TypeScript/JavaScript code. This server allows LLMs like Claude to run Deno code securely with configurable permissions.

Features

  • Execute Deno TypeScript or JavaScript code
  • Configure permissions (net, read, write, env, run, etc.)
  • Enable/disable unstable features
  • Get Deno version information

Prerequisites

Before using this MCP server, ensure you have:

Installation

  1. Clone this repository:
git clone https://github.com/Timtech4u/deno-mcp.git
cd deno-mcp
  1. Install dependencies:
npm install
  1. Build the project:
npm run build

Configuration

For Claude Desktop
  1. Open your Claude Desktop configuration file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Add the Deno MCP server configuration:

{
  "mcpServers": {
    "deno": {
      "command": "node",
      "args": [
        "/absolute/path/to/deno-mcp/dist/index.js"
      ],
      "disabled": false,
      "autoApprove": [
        "execute_deno_code",
        "check_deno_version"
      ]
    }
  }
}
  1. Replace /absolute/path/to/deno-mcp with the actual path where you cloned the repository.

  2. Restart Claude Desktop.

For Cline
  1. Open your Cline MCP settings file:

    • 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. Add the Deno MCP server configuration:

{
  "mcpServers": {
    "deno": {
      "command": "node",
      "args": [
        "/absolute/path/to/deno-mcp/dist/index.js"
      ],
      "disabled": false,
      "autoApprove": [
        "execute_deno_code",
        "check_deno_version"
      ]
    }
  }
}
  1. Replace /absolute/path/to/deno-mcp with the actual path where you cloned the repository.

  2. Restart Cline or reload the window.

How to Use

Once configured, you can ask Claude to run Deno code in various ways. Here are some examples:

Basic Usage

You can run simple Deno code without any special permissions:

Can you run this Deno code for me?

console.log("Hello from Deno!");
console.log("Version:", Deno.version);
console.log("Current directory:", Deno.cwd());
With Network Permissions

To make HTTP requests, you need to grant network permissions:

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();
With File System Permissions

To read or write files, you need to grant file system permissions:

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);
With Multiple Permissions

You can combine multiple permissions:

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");
Using Deno Standard Library

You can use Deno's standard library:

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 });

Available Tools

execute_deno_code

Executes Deno TypeScript/JavaScript code.

Parameters:

  • code (string, required): The Deno code to execute
  • permissions (array of strings, optional): List of permissions to grant (e.g., "net", "read", "write", "env", "run", etc.)
  • unstable (boolean, optional): Whether to enable unstable features
  • typescript (boolean, optional): Whether the code is TypeScript (true) or JavaScript (false)

Example usage through 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

Returns information about the installed Deno version.

Example usage through Claude:

Can you check what version of Deno I have installed?

Troubleshooting

Deno Not Found

If you see an error like "Deno is not installed", make sure Deno is installed and available in your system PATH.

Permission Errors

If your code fails with permission errors, make sure you're requesting the appropriate permissions:

  • Network requests: "net"
  • File system: "read" and/or "write"
  • Environment variables: "env"
  • Running subprocesses: "run"
Timeout Errors

The server has a 30-second timeout for code execution. If your code takes longer than that, it will be terminated.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.