mcp tool builder

Local 2025-08-31 23:42:47 0

MCP server that builds itself by creating new tools as needed based on user requests (Requires restart of Claude Desktop to use newly created tools).


MCP Tool Builder

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

mcp-tool-builder MCP server

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-buildertools
  • New tool definitions are saved in ...mcp-tool-buildertools ools.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
    .venvScriptsactivate
    uv pip install -e .

Usage with Claude Desktop

Add to claude_desktop_config.json:

{
    "mcpServers": {
        "tool-builder": {
            "command": "uv",
            "args": [
                "--directory", 
                "PATH_TOmcp-tool-builder",
                "run",
                "tool-builder"
            ]
        }
    }
}
Screenshot 2024-12-24 105318

image

[
  {
    "description": "Create a new Python tool with specified functionality",
    "inputSchema": {
      "properties": {
        "code": {
          "description": "Python code implementing the tool",
          "type": "string"
        },
        "description": {
          "description": "Description of what the tool should do",
          "type": "string"
        },
        "tool_name": {
          "description": "Name of the new tool",
          "type": "string"
        }
      },
      "required": [
        "tool_name",
        "description",
        "code"
      ],
      "type": "object"
    },
    "name": "create_tool"
  },
  {
    "description": "List all currently available tools",
    "inputSchema": {
      "properties": {},
      "required": [],
      "type": "object"
    },
    "name": "list_available_tools"
  },
  {
    "description": "Gets current Bitcoin price in USD from CoinGecko API",
    "inputSchema": {
      "properties": {},
      "required": [],
      "type": "object"
    },
    "name": "get_bitcoin_price"
  },
  {
    "description": "Retrieves weather forecast for a given ZIP code using NWS API",
    "inputSchema": {
      "properties": {
        "zip_code": {
          "type": "string"
        }
      },
      "required": [
        "zip_code"
      ],
      "type": "object"
    },
    "name": "get_weather_forecast"
  }
]