Skip to main content
Glama

mcp-toolforge

자연어 도구 설명을 바탕으로 새로운 MCP 서버를 생성하는 메타-MCP 서버입니다.

프로젝트 이름, 짧은 설명, 그리고 자연어 도구 설명 목록(예: "fetches the weather for a string city and returns a string summary")이 주어지면 mcp-toolforge는 스키마, 구현, 실제 어셔는 테스트, README, LICENSE를 포함하는 완전하고 실행 가능한 MCP 서버 프로젝트를 작성하고 설치하여 실행할 수 있는 상태로 만듭니다.

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

Architecture

┌─────────────────────┐     ┌──────────────────────────┐
│   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 Server Generator

Quickstart

mcp-toolforge 설치

pip install -e ".[dev]"

mcp-toolforge 자체 실행 (meta-server)

MCP 서버(stdio transport)로서 실행:

{
  "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 서버로 등록되어 있으면, AI 에이전트는 다음을 호출할 수 있습니다:

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 having 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

세 개의 예제 서버는 examples/에 생성됩니다:

Server

Package

Tools

Description

WeatherServer

weather_server

fetch, forecast

weather 정보를 가져옵니다

TodoServer

todo_server

add, list, remove

todo 목록을 관리합니다

MathServer

math_server

add, multiply, compute

산술 연산 도구들입니다

각 예제는 자체 테스트가 포함된 완전히 작동하는 MCP server입니다:

cd examples/math_server
pip install -e .
pytest

Development

# 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

Testing

  • tests/test_generator.py — generator의 16개 테스트 (파싱, 스키마 추론, 파일 렌더링, 프로젝트 생성)

  • tests/test_server.py — meta-MCP 서버의 5개 테스트 (도구 목록, 도구 호출, 오류 처리)

  • e2e_test.py — meta-server를 실제 stdio 하위 프로세스로 실행하고 MCP Client로 연결하는 종단 간 테스트

  • 각 예제 서버는 4개 테스트를 포함합니다 (3개 예제에서 총 12개)

모든 테스트는 실제로 assert하며 실제 파일 출력/도구 결과를 검증합니다.

License

MIT — LICENSE 참조.

Related MCP Connectors

Related MCP Servers

  • 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
    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
  • A
    license
    Not graded
    quality
    D
    maintenance
    Automatically generates MCP server tools from OpenAPI specifications, enabling LLMs to interact with any API defined by an OpenAPI spec through natural language.
    13 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Generates complete, runnable MCP server projects from natural-language tool descriptions, including schema, implementation, tests, README, and license. It enables AI agents to scaffold standalone MCP servers ready to install and run.
    MIT