MCP Tool Builder is an MCP server that enables Large Language Models to dynamically construct and deploy new tools directly from natural language prompts. Designed for developers and AI engineers experimenting with autonomous agent extensibility, the project bridges MCP clients like Claude Desktop with a local Python execution environment. When requested, the connected model defines custom functions, which the server persists locally as executable Python scriptlets inside a dedicated tools directory while simultaneously updating a central tools JSON definition file. Out of the box, the server includes starter utilities such as fetching live Bitcoin prices from CoinGecko and looking up weather forecasts via US ZIP codes using geopy. By exposing a dedicated tool creation function, it allows models to inspect their own toolset gaps and implement new capabilities on the fly. Note that dynamically generated tools require an MCP client restart before becoming active in the session.
Category: AI & LLM Tooling
Tags: agent-framework, automation, dynamic-tools, extensibility
bash git clone https://github.com/hanweg/mcp-tool-builder cd mcp-tool-builder 2. Set up the virtual environment and install dependencies: bash uv venv .venv\Scripts\activate uv pip install -e . 3. Add the server definition to your claude_desktop_config.json: json { "mcpServers": { "tool-builder": { "command": "uv", "args": [ "--directory", "PATH_TO\\mcp-tool-builder", "run", "tool-builder" ] } } } Replace PATH_TO with the actual file path on your local Windows system.Part of MCP Servers
MCP Tool Builder is an MCP server that allows language models connected through clients like Claude Desktop to write and register new tools. It saves tools as Python scriptlets and stores their definitions in a local configuration file.
Clone the GitHub repository, create a virtual environment using uv, activate the virtual environment, and run uv pip install -e . to complete the setup. Then add the server command and local path to your client configuration.
No. Once the language model creates a tool via the create_tool function, you must restart your MCP client, such as Claude Desktop, so the interface can reload the updated tools configuration and expose the newly generated command.
The project is currently listed as a work in progress tested primarily on Windows, using Windows-style directory conventions and script paths, so users on other operating systems should proceed with caution.