MCP HubMCP Hub
hanweg

mcp-tool-builder

by: hanweg

MCP server that creates its own tools as needed

17created 24/12/2024
Visit
automation
tools

📌Overview

Purpose: The MCP Tool Builder enables LLMs to dynamically create new tools, enhancing functionality and user experience within MCP clients like Claude Desktop.

Overview: This server provides a seamless interface for LLMs to generate custom tools based on user input in natural language, storing both the tool logic and definitions for easy access and reuse.

Key Features:

  • Dynamic Tool Creation: Users can describe new tools in natural language, allowing for on-demand generation and expansion of functionality.

  • Persistent Storage: Newly created tools are saved as python scriptlets and their definitions are recorded in a centralized JSON file, ensuring easy retrieval and management.


WORK IN PROGRESS - USE WITH CAUTION - Windows

MCP Tool Builder

An MCP server that empowers LLMs to dynamically create new tools through MCP clients such as Claude Desktop.

Features

  • Create new tools by describing them in natural language
    • Requires client restart to use new tools (Claude Desktop)
  • New tools are saved as python scriptlets in ...\mcp-tool-builder\tools
  • New tool definitions are saved in ...\mcp-tool-builder\tools\tools.json

Example tools included at installation

  • get_bitcoin_price: Fetches current Bitcoin price from CoinGecko
  • get_weather_forecast: Gets weather for US ZIP codes (uses geopy)

Creating New Tools

Use the create_tool command in Claude Desktop (or suggest strongly!!) to create new tools dynamically

Installation

  1. Clone this repository
  2. Install dependencies:
cd mcp-tool-builder
uv venv
.venv\Scripts\activate
uv pip install -e .

Usage with Claude Desktop

Add to claude_desktop_config.json:

{
    "mcpServers": {
        "tool-builder": {
            "command": "uv",
            "args": [
                "--directory", 
                "PATH_TO\\mcp-tool-builder",
                "run",
                "tool-builder"
            ]
        }
    }
}