Skip to main content
Glama

mcp-toolforge

Мета-MCP-сервер, который генерирует новые MCP-серверы из описаний инструментов на естественном языке.

Учитывая имя проекта, краткое описание и список описаний инструментов на естественном языке (например, "fetches the weather for a string city and returns a string summary"), mcp-toolforge записывает полный, готовый к запуску проект MCP-сервера — схему, реализацию, тесты с реальными проверками, README, LICENSE — готовый к установке и запуску.

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" --> PP

Архитектура

┌─────────────────────┐     ┌──────────────────────────┐
│   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 Project Initializer

Быстрый старт

Установка mcp-toolforge

pip install -e ".[dev]"

Запуск самого mcp-toolforge (мета-сервера)

Как MCP-сервер (транспорт stdio):

{
  "mcpServers": {
    "mcp-toolforge": {
      "command": "python",
      "args": ["-m", "mcp_toolforge.server"],
      "cwd": "/path/to/mcp-toolforge"
    }
  }
}

Или как CLI, который создаёт автономный проект сервера:

# 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_server

Использование инструмента generate_server

Когда mcp-toolforge зарегистрирован как MCP-сервер, ИИ-агент может вызвать:

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
)

Инструмент записывает полный проект в dest/<package_name>/ и возвращает строку с итогом. Сгенерированный сервер затем можно независимо установить и зарегистрировать в вашем MCP-клиенте.

Как работает разбор естественного языка

Каждое описание инструмента должно соответствовать шаблону:

<VERB> [a/an] <type> <name> [, <type> <name>] ... and returns <type> <description>

Примеры:

Описание

Имя инструмента

Параметры

fetches the weather for a string city and returns a string summary

fetch

city: string

adds a string task and returns a string confirmation

add

task: string

multiplies two numbers given a number a and number b and returns a number product

multiply

a: number, b: number

lists all todos and returns an array of todo items

list

query: string (fallback)

Распознаваемые типы параметров: string, integer, number, boolean, array. Если типизированные параметры не обнаружены, выводится свободный параметр query: string.

Примеры

В каталог examples/ генерируются три примера серверов:

Сервер

Пакет

Инструменты

Описание

WeatherServer

weather_server

fetch, forecast

Получает информацию о погоде

TodoServer

todo_server

add, list, remove

Управляет списком дел

MathServer

math_server

add, multiply, compute

Арифметические инструменты

Каждый пример — это полностью рабочий MCP-сервер с собственными тестами:

cd examples/math_server
pip install -e .
pytest

Разработка

# 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.py

Тестирование

  • tests/test_generator.py — 16 тестов для генератора (разбор описаний, вывод схемы от подсказок, рендеринг файлов, создание проекта)

  • tests/test_server.py — 5 тестов для мета-MCP-сервера (список инструментов, вызовы инструментов, обработка ошибок)

  • e2e_test.py — сквозной тест, который запускает мета-сервер как реальный файловый подпроцесс с stdio и подключается к нему через MCP Client

  • Каждый пример сервера по состава 4 теста (всего 12 в трёх примерах)

Все тесты используют реальные assert-и и проверяют фактический вывод файлов / результаты инструментов.

Лицензия

MIT — см. LICENSE.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    A basic starter project for building Model Context Protocol (MCP) servers that enables standardized interactions between AI systems and various data sources through secure, controlled tool implementations.
    2
  • A
    license
    B
    quality
    D
    maintenance
    An 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.
    10
    3
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    A 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.
    10
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Generates production-ready MCP servers with dual-mode (MCP + CLI) architecture, tests, and documentation. Includes progressive disclosure tools for AI agents and best practices guidance.
    7
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • MCP server for generating rough-draft project plans from natural-language prompts.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/itsPremkumar/mcp-toolforge'

If you have feedback or need assistance with the MCP directory API, please join our Discord server