Skip to main content
Glama
hanweg

mcp-tool-builder

by hanweg
README.md
# 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.

<a href="https://glama.ai/mcp/servers/1ziiztkcx1"><img width="380" height="200" src="https://glama.ai/mcp/servers/1ziiztkcx1/badge" alt="mcp-tool-builder MCP server" /></a>

## 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:
```bash
cd mcp-tool-builder
uv venv
.venv\Scripts\activate
uv pip install -e .
```

## Usage with Claude Desktop
Add to `claude_desktop_config.json`:

```json
{
    "mcpServers": {
        "tool-builder": {
            "command": "uv",
            "args": [
                "--directory", 
                "PATH_TO\\mcp-tool-builder",
                "run",
                "tool-builder"
            ]
        }
    }
}
```
![Screenshot 2024-12-24 105318](https://github.com/user-attachments/assets/c1bf9293-7b66-4600-99a0-bf96692e58d1)

![image](https://github.com/user-attachments/assets/0c5a78ea-4c22-48d9-bad2-1392e59ec544)

TDQS

B3/5.0

Scored across 4 tools

Disambiguation3/5

The tools have distinct purposes (tool creation, Bitcoin price, weather forecast, tool listing), but the domain is unclear—'create_tool' and 'list_available_tools' suggest a tool management server, while the other two are unrelated utilities. This mismatch could confuse agents about the server's scope, though individual tools are not directly overlapping.

Naming Consistency4/5

Three tools follow a consistent verb_noun pattern (create_tool, get_bitcoin_price, get_weather_forecast), but 'list_available_tools' uses 'list' instead of 'get', breaking full consistency. Overall, naming is mostly predictable and readable with only minor deviation.

Tool Count3/5

With 4 tools, the count is reasonable for a small utility set, but it feels thin for a 'tool-builder' server that might imply more comprehensive tool management. The inclusion of unrelated utilities (Bitcoin, weather) makes the scope ambiguous, affecting appropriateness.

Completeness2/5

If the domain is tool management, there are significant gaps: no update, delete, or test tools, and the unrelated utilities don't fit. If it's a general utility server, coverage is sparse and random. In either case, the surface is incomplete for coherent agent workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues