MCP Server Enables Claude to Create and Run Custom Tools at Runtime

✍️ OpenClawRadar📅 Published: April 14, 2026🔗 Source
MCP Server Enables Claude to Create and Run Custom Tools at Runtime
Ad

A developer has built an MCP server that allows Claude to create, update, and run new tools at runtime without requiring redeployment. Unlike standard MCP setups where tools are fixed at deploy time, this system enables dynamic tool creation.

Core Architecture

The server implements five core MCP tools:

  • List Tools — returns available tools
  • Get Tool — fetches full tool definition including code
  • Create Tool — stores a new tool in a database registry
  • Update Tool — modifies an existing tool
  • Run Tool — executes any stored tool by name

Tool Execution Process

The Run Tool meta-tool works as follows:

  1. Looks up the requested tool in a MySQL table
  2. Fetches its code
  3. Passes parameters as context
  4. Runs it in a Deno subprocess with restricted permissions
  5. Returns the result

Sandbox Implementation

The developer evaluated Node VM, isolated-vm, and Docker before choosing Deno for sandboxing. Deno was selected because:

  • Clean permission model with granular network/filesystem/subprocess control
  • Native npm support
  • TypeScript built-in
  • ~50ms cold start vs 500ms+ for Docker

The sandbox uses these flags: --allow-net --deny-read --deny-write --deny-run --deny-ffi. This allows tool code to make HTTP requests and use npm packages, but prevents filesystem access or process spawning.

Ad

Tool Code Format

Tool code is JavaScript/TypeScript that receives a context object for parameters. Example from the source:

const response = await fetch(`https://api.example.com/${context.city}`);
const data = await response.json();
return { temp: data.temp, conditions: data.weather[0].description };

Self-Extension Capability

The system enables a self-extension loop: Claude identifies it needs a capability → creates the tool → uses it immediately → updates it if the result isn't right. This allows the system to become more capable over time without developer intervention.

The implementation is built on n8n as the MCP server with MySQL for tool storage and has been running in production for a few months.

📖 Read the full source: r/ClaudeAI

Ad

👀 See Also