mcp-toolforge
mcp-toolforge
Ein Meta-MCP-Server, der neue MCP-Server aus natürlicher Sprache beschriebenen Werkzeugbeschreibungen erzeugt.
Anhand eines Projektnamens, einer kurzen Beschreibung und einer Liste von Werkzeugbeschreibungen in natürlicher Sprache (z. B. "fetches the weather for a string city and returns a string summary") schreibt mcp-toolforge ein vollständiges, ausführbares MCP-Server-Projekt – Schema, Implementierung, Tests mit echten Assertions, README, LICENSE – bereit zur Installation und Ausführung.
flowchart TD
subgraph Client_Layer["AI Client / Claude Desktop"]
A["Client (Claude, Cursor, etc.)"]
end
subgraph Meta_Server["mcp-toolforge (this repo)"]
M["mcp_toolforge.server"]
G["mcp_toolforge.generator"]
end
subgraph Generated["Generated Server Project"]
P["src/<pkg>/__init__.py"]
S["src/<pkg>/server.py"]
T["tests/test_<pkg>.py"]
R["README.md"]
L["LICENSE"]
PP["pyproject.toml"]
end
A -- "MCP stdio JSON-RPC" --> M
M -- "generate_server tool call" --> G
G -- "writes files" --> P
G -- "writes files" --> S
G -- "writes files" --> T
G -- "writes files" --> R
G -- "writes files" --> L
G -- "writes files" --> PPArchitektur
┌─────────────────────┐ ┌──────────────────────────┐
│ AI Client │ stdio │ mcp-toolforge server │
│ (Claude, Cursor) │──JSON──│ (this repo) │
└─────────────────────┘ RPC └────────┬───────────────┘
│ generate_server
│ (name, description,
│ tool_descriptions, dest)
▼
┌────────────────────────────────────┐
│ generator.generate_project() │
│ parses NL → ToolSpec → ServerSpec │
│ renders: pyproject, server.py, │
│ tests, README, LICENSE │
└────────────────────────────────────┘
│
┌─────────────────┴─────────────────┐
│ Example generated servers │
│ • examples/weather_server │
│ • examples/todo_server │
│ • examples/math_server │
└────────────────────────────────────┘Related MCP server: mcp-creator
Schnellstart
mcp-toolforge installieren
pip install -e ".[dev]"mcp-toolforge selbst ausführen (Meta-Server)
Als MCP-Server (stdio-Transport):
{
"mcpServers": {
"mcp-toolforge": {
"command": "python",
"args": ["-m", "mcp_toolforge.server"],
"cwd": "/path/to/mcp-toolforge"
}
}
}Oder als CLI, die ein eigenständiges Server-Projekt erzeugt:
# Interactive wizard
mcp-toolforge -i
# One-shot
mcp-toolforge \
--name my_server \
--description "A server that does X" \
--tool "fetches the weather for a string city and returns a string summary" \
--dest ./my_serverVerwendung des generate_server-Tools
Wenn mcp-toolforge als MCP-Server registriert ist, kann ein KI-Agent Folgendes aufrufen:
generate_server(
name="my_server",
description="A server that does X",
tool_descriptions=[
"fetches the weather for a string city and returns a string summary",
"adds a string task and returns a string confirmation"
],
dest="/path/to/output" # optional, defaults to /tmp/mcp-toolforge-gen
)Das Tool schreibt ein vollständiges Projekt in dest/<package_name>/ und gibt eine zusammenfassende Zeichenkette zurück. Der erzeugte Server kann anschließend eigenständig installiert und bei deinem MCP-Client registriert werden.
So funktioniert das Parsing natürlicher Sprache
Jede Werkzeugbeschreibung sollte dem folgenden Muster folgen:
<VERB> [a/an] <type> <name> [, <type> <name>] ... and returns <type> <description>Beispiele:
Beschreibung | Werkzeugname | Parameter |
|
|
|
|
|
|
|
|
|
|
|
|
Erkannte Parametertypen: string, integer, number, boolean, array.
Werden keine typisierten Parameter erkannt, wird ein Freitext-Parameter query: string abgeleitet.
Beispiele
Drei Beispielserver werden in examples/ erzeugt:
Server | Paket | Werkzeuge | Beschreibung |
WeatherServer |
|
| Ruft Wetterinformationen ab |
TodoServer |
|
| Verwaltet eine To-do-Liste |
MathServer |
|
| Arithmetische Werkzeuge |
Jedes Beispiel ist ein voll funktionsfähiger MCP-Server mit eigenen Tests:
cd examples/math_server
pip install -e .
pytestEntwicklung
# Install with dev dependencies
pip install -e ".[dev]"
# Run all tests
pytest
# Run end-to-end test against the meta-server over stdio
python e2e_test.py
# Regenerate examples
python make_examples.pyTests
tests/test_generator.py– 16 Tests für den Generator (Parsing, Schema-Inferenz, Datei-Rendering, Projekterstellung)tests/test_server.py– 5 Tests für den Meta-MCP-Server (Tool-Auflistung, Tool-Aufruf, Fehlerbehandlung)e2e_test.py– End-to-End-Test, der den Meta-Server als echten stdio-Subprozess ausführt und mit einem MCP-ClientverbindetJeder Beispielserver enthält 4 Tests (12 Testfälle insgesamt bei 3 Beispielen)
Alle Tests verwenden echte Assertions und überprüfen die tatsächliche Dateiausgabe bzw. die tatsächlichen Tool-Ergebnisse.
Lizenz
MIT – siehe LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for generating rough-draft project plans from natural-language prompts.
Create guides as MCP servers to instruct coding agents to use your software (library, API, etc).
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn intelligent tool that automates the setup of new Model Context Protocol (MCP) server projects through a conversational interface. It generates project structures, technical specifications, and context-rich documentation to streamline AI-assisted development in TypeScript or Python.103MIT
- AlicenseAqualityBmaintenanceA tool that enables AI assistants to conversationally scaffold, build, and publish Python MCP servers to PyPI. It automates the entire development lifecycle, including package naming, tool scaffolding, GitHub repository setup, and package publishing.10MIT
- AlicenseAqualityCmaintenanceGenerates production-ready MCP servers with dual-mode (MCP + CLI) architecture, tests, and documentation. Includes progressive disclosure tools for AI agents and best practices guidance.7Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to generate complete, runnable MCP server projects from natural-language tool descriptions, including schema, implementation, tests, README, and license.MIT