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

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:
- Looks up the requested tool in a MySQL table
- Fetches its code
- Passes parameters as context
- Runs it in a Deno subprocess with restricted permissions
- 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.
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
👀 See Also

Hawkeye Update Adds Swarm Orchestration, Remote Tasks, and Local Model Support
Hawkeye v1.0+ now supports multi-agent swarm orchestration, remote task queuing, and improved Ollama/LM Studio integration. The local-first AI agent flight recorder helps developers track what happens when agents work in repositories.

OpenClaw users report planning and review bottlenecks with AI agents
OpenClaw users describe planning and review workflows as 'MS-DOS-like' despite effective code generation, citing manual intervention, document fragmentation, and loss of reasoning during agent collaboration. Some are experimenting with agent-native document editors like comment.io and Proof by Every.

Visdiff: Visual Feedback Loop for Claude's Frontend Code Generation
Visdiff addresses the visual accuracy gap in Claude's frontend code generation by comparing rendered output pixel-by-pixel with Figma designs and feeding differences back into the loop until they match.

Stage CLI: Local AI-Generated Changes Reviewed as Logical Chapters
Stage CLI groups your local diff into logical chapters (via any AI agent) and opens a browser UI for step-by-step review. Install with 'npm install -g stagereview' and add the skill via 'npx skills add ReviewStage/stage-cli'.