Cover image
Try Now
2025-04-14

A handy scaffolding tool for MCP servers

3 years

Works with Finder

2

Github Watches

2

Github Forks

7

Github Stars

MCP-Forge

MCP-Forge is a scaffolding tool designed to quickly bootstrap new MCP (Model Context Protocol) server projects. It generates a well-structured project with boilerplate code, example tools, resources, and testing utilities, allowing you to focus on building your server's capabilities.

⚠️ Early Project: This is an early version of MCP-Forge. The API, generated structure, and features might change as the MCP ecosystem evolves. Feedback and contributions are welcome!

Support Development

If you find this project useful, please consider supporting its development by making a donation:

Donate with PayPal

Your support helps maintain and improve the project!

Features

  • Generates a complete Python project structure for an MCP server.
  • Includes separate server entry points for SSE and stdio transports.
  • Provides example HelloWorld tool and HelloWorld/UserProfile resources.
  • Sets up Pydantic models for clear input/output schemas.
  • Uses uv for dependency management and task running.

Installation

It's recommended to run mcp-forge using uvx (from uv), which handles temporary environments:

# Ensure uv is installed
uvx mcp-forge --help

Alternatively, you can install it globally or in a dedicated environment using pip:

pip install mcp-forge
mcp-forge --help

Usage

Creating a New MCP Server

The primary command is new, which scaffolds a new server project.

# Example using uvx (recommended)
uvx mcp-forge new my-awesome-server

# Example if installed globally/in environment
# mcp-forge new my-awesome-server

This command will:

  1. Create a new directory named my-awesome-server.
  2. Generate a complete project structure inside this directory (see below).
  3. Set up a basic server with example tools and resources ready to run.

Options for new command:

  • --description or -d: Provide a custom description for your project (used in pyproject.toml and README.md).
    uvx mcp-forge new my-project -d "My amazing MCP server"
    
  • --python-version or -p: Specify the minimum required Python version (default: >=3.10).
    uvx mcp-forge new my-project -p ">=3.11"
    

Generated Project Structure

MCP-Forge creates a project with the following structure:

my-awesome-server/
├── my_awesome_server/           # Python package for your server code
│   ├── __init__.py              # Package initialization
│   ├── server_stdio.py          # Entry point for running the server with stdio transport
│   ├── server_sse.py            # Entry point for running the server with SSE transport (HTTP)
│   ├── interfaces/              # Base classes/interfaces for tools and resources
│   │   ├── __init__.py
│   │   ├── resource.py
│   │   └── tool.py
│   ├── resources/               # Implementation of resources
│   │   ├── __init__.py
│   │   ├── hello_world.py       # Example static resource
│   │   └── user_profile.py      # Example dynamic resource with URI parameters
│   ├── services/                # Services for managing tools and resources
│   │   ├── __init__.py
│   │   ├── resource_service.py  # Handles resource registration and routing
│   │   └── tool_service.py      # Handles tool registration and execution
│   └── tools/                   # Implementation of tools
│       ├── __init__.py
│       └── hello_world.py       # Example tool with input/output schemas
├── pyproject.toml               # Project metadata and dependencies (using Hatch)
└── README.md                    # README template for the generated project

Next Steps After Generation

  1. Navigate into the newly created project directory:
    cd my-awesome-server
    
  2. Set up the Python environment and install dependencies:
    uv venv
    uv pip install -e .
    
  3. Run the server using either SSE or stdio:
    # Run SSE server (default: http://0.0.0.0:6969)
    uv run python -m my_awesome_server.server_sse
    
    # OR Run stdio server
    # uv run python -m my_awesome_server.server_stdio
    

About MCP

The Model Context Protocol (MCP) is a specification for enabling communication between language models (or other clients) and external tools/services (servers). It defines how servers can expose capabilities like tools and resources in a standardized way.

Learn more at the official MCP Documentation.

Contributing

Contributions to MCP-Forge are welcome! This is an early project, so there's plenty of room for improvements and new features.

  1. Fork the repository (mcp-forge)
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file (if generated) or the source repository for details.

相关推荐

  • NiKole Maxwell
  • I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Yasir Eryilmaz
  • AI scriptwriting assistant for short, engaging video content.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • Daren White
  • A supportive coach for mastering all Spanish tenses.

  • momi
  • Provides initial medical assessments and advice.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • J. DE HARO OLLE
  • Especialista en juegos de palabras en varios idiomas.

  • albert tan
  • Japanese education, creating tailored learning experiences.

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • huahuayu
  • A unified API gateway for integrating multiple etherscan-like blockchain explorer APIs with Model Context Protocol (MCP) support for AI assistants.

  • deemkeen
  • control your mbot2 with a power combo: mqtt+mcp+llm

  • zhaoyunxing92
  • 本项目是一个钉钉MCP(Message Connector Protocol)服务,提供了与钉钉企业应用交互的API接口。项目基于Go语言开发,支持员工信息查询和消息发送等功能。

  • ShrimpingIt
  • Micropython I2C-based manipulation of the MCP series GPIO expander, derived from Adafruit_MCP230xx

  • justmywyw
  • Short and sweet example MCP server / client implementation for Tools, Resources and Prompts.

    Reviews

    2.5 (2)
    Avatar
    user_ZXI14tbk
    2025-04-16

    As a steadfast user of mcp-forge, I can vouch for its robust functionalities and user-friendly interface. KennyVaneetvelde has done an exceptional job in crafting this tool, making it an essential asset for any developer. Its seamless integration and comprehensive features streamline the coding process efficiently. Highly recommended for those seeking a reliable and effective forge tool. More details can be found on its GitHub page: https://github.com/KennyVaneetvelde/mcp-forge.

    Avatar
    user_Z8oGQosl
    2025-04-16

    I've been using mcp-forge and I'm impressed with its functionality and ease of use. Developed by KennyVaneetvelde, this tool offers efficient management for Minecraft Forge projects. The detailed documentation and supportive community make it an essential resource for mod developers. Highly recommend checking it out: https://github.com/KennyVaneetvelde/mcp-forge.