mcp-toolforge
mcp-toolforge
Un servidor meta-MCP que genera nuevos servidores MCP a partir de descripciones de herramientas en lenguaje natural.
Dado un nombre de proyecto, una descripción breve y una lista de descripciones de herramientas en lenguaje natural (p. ej. "fetches the weather for a string city and returns a string summary"), mcp-toolforge escribe un proyecto de servidor MCP completo y ejecutable — esquema, implementación, pruebas con aserciones reales, README, LICENSE — listo para instalar y ejecutar.
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" --> PPArquitectura
┌─────────────────────┐ ┌──────────────────────────┐
│ 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
Inicio rápido
Instalar mcp-toolforge
pip install -e ".[dev]"Ejecutar mcp-toolforge directamente (meta-servidor)
Como servidor MCP (transporte stdio):
{
"mcpServers": {
"mcp-toolforge": {
"command": "python",
"args": ["-m", "mcp_toolforge.server"],
"cwd": "/path/to/mcp-toolforge"
}
}
}O como CLI que genera un proyecto de servidor independiente:
# 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_serverUso de la herramienta generate_server
Cuando mcp-toolforge está registrado como servidor MCP, un agente de IA puede llamar a:
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
)La herramienta escribe un proyecto completo en dest/<package_name>/ y devuelve un resumen en forma de cadena. El servidor generado puede instalarse y registrarse de forma independiente con tu cliente MCP.
Cómo funciona el análisis de lenguaje natural
Cada descripción de herramienta debe seguir el patrón:
<VERB> [a/an] <type> <name> [, <type> <name>] ... and returns <type> <description>Ejemplos:
Descripción | Nombre de la herramienta | Parámetros |
|
|
|
|
|
|
|
|
|
|
|
|
Los tipos de parámetros reconocidos son string, integer, number, boolean y array. Si no se detecta ningún parámetro tipado, se infiere un parámetro query: string de forma libre.
Ejemplos
Se generan tres servidores de ejemplo en examples/:
Servidor | Paquete | Herramientas | Descripción |
WeatherServer |
|
| Obtiene información meteorológica |
TodoServer |
|
| Gestiona una lista de tareas |
MathServer |
|
| Herramientas aritméticas |
Cada ejemplo es un servidor MCP totalmente funcional con sus propias pruebas:
cd examples/math_server
pip install -e .
pytestDesarrollo
# 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.pyPruebas
tests/test_generator.py— 16 pruebas del generador (análisis sintáctico, inferencia de esquema, renderizado de archivos, creación de proyectos)tests/test_server.py— 5 pruebas del servidor meta-MCP (listado de herramientas, invocación de herramientas, manejo de errores)e2e_test.py— prueba de extremo a extremo que ejecuta el meta-servidor como un subproceso stdio real y se conecta con unClientde MCPCada servidor de ejemplo incluye 4 pruebas (12 en total entre los 3 ejemplos)
Todas las pruebas usan aserciones reales y verifican la salida real de archivos o los resultados de las herramientas.
Licencia
MIT — consulta 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