Skip to main content
Glama
ModernSoftware

Modern MCP Forge

⚒️ Modern MCP Forge

Build, test, and run MCP servers visually — without locking your tools to one language.

CI Docker GHCR License Platforms Bun MCP

Local-first · Multi-project · Language-neutral · Git-friendly

NOTE

Modern MCP Forge0.9.0 is the first public beta. Feedback, bug reports, ideas, and contributions are welcome as the project moves toward 1.0.

Modern MCP Forge is a local-first visual workbench for authoring and testing Model Context Protocol servers. It keeps the MCP boundary standard while letting Tool implementations run through a small, language-neutral Forge Tool ABI.

The result is a developer environment where MCP Tools, Resources, and Prompts can be managed visually without requiring every Tool to be implemented in the same runtime.

✨ Highlights

Capability

🗂️

Multi-project workspace with portable, Git-friendly forge.project.json manifests

🧰

Visual authoring for MCP Tools, Resources, and Prompts

🟨

Bun Tool execution through the Forge Tool ABI

🟩

Node.js Tool execution using the same ABI

🐍

Python Tool execution using the same ABI

🧠

Monaco-powered editing for Tool source, Resources, Prompts, and advanced JSON Schema

🧪

Execution history and diagnostics stored locally in SQLite

🌐

Streamable HTTP MCP transport at /mcp

🖥️

stdio MCP transport with explicit project selection

🌗

Light and dark themes with a local-first desktop-style workflow

Automated verification across Windows, macOS, and Linux

Related MCP server: Photon MCP Server

🧭 How it fits together

flowchart LR
    HOST["AI client / IDE / Agent"] <-- "MCP<br/>Streamable HTTP or stdio" --> FORGE["⚒️ Modern MCP Forge"]

    FORGE --> TOOLS["🧰 Tools"]
    FORGE --> RESOURCES["📚 Resources"]
    FORGE --> PROMPTS["💬 Prompts"]

    TOOLS --> ABI["Forge Tool ABI"]
    ABI --> BUN["🟨 Bun"]
    ABI --> NODE["🟩 Node.js"]
    ABI --> PYTHON["🐍 Python"]

Forge speaks standard MCP externally. The Forge Tool ABI is an internal execution boundary that allows Tool implementations to remain runtime-independent.

🚀 Quick start

Requirements

  • Bun — required

  • Node.js — optional, for Node Tools

  • Python — optional, for Python Tools

Install dependencies:

bun install

Run the development server:

bun run dev

Then open the local URL shown by Vite and create or open a Forge project.

Run the complete local release gate:

bun run test:all

🐳 Docker

Docker is also available as an optional distribution:

docker pull ghcr.io/modernsoftware/modern-mcp-forge:edge

For a persistent setup with host project folders mounted into Forge, use the included compose.yaml. See the Docker guide.

📦 Project model

A Forge project is intentionally portable:

my-mcp-project/
├── forge.project.json
├── tools/
├── resources/
└── prompts/

The project directory is the source of truth and can be committed directly to Git.

Machine-local state such as recent projects and execution history is kept outside the project in the user's application-data directory.

🔌 MCP transports

🌐 Streamable HTTP

With Forge running and a project open:

http://localhost:5173/mcp

Smoke test:

bun run mcp:smoke

🖥️ stdio

stdio launches Forge for one explicit project and does not depend on whichever project is open in the web UI:

bun run scripts/mcp-stdio.ts --project /path/to/forge-project

Smoke test:

bun run mcp:stdio:smoke -- --project /path/to/forge-project

This makes it suitable for MCP hosts that spawn local servers as child processes.

🧪 Quality and testing

Modern MCP Forge is tested at several levels:

Unit tests
    ↓
Integration tests
    ↓
HTTP + stdio MCP end-to-end tests
    ↓
Production build
    ↓
Windows + macOS + Linux GitHub Actions

Useful commands:

bun run check
bun run test:unit
bun run test:integration
bun run test:e2e
bun run test:coverage
bun run build
bun run test:all

The GitHub Actions workflow runs the verification suite on all three supported desktop operating-system families.

📚 Documentation

Additional documentation for architecture, the Tool ABI, security, troubleshooting, and contribution guidance will continue to grow during the public beta.

🔐 Security note

WARNING

Modern MCP Forge executes Tool code from the project you open. Treat an untrusted Forge project the same way you would treat any other untrusted source-code repository.

Local management endpoints are intentionally restricted to loopback traffic, and stdio reserves stdout exclusively for MCP protocol messages.

🤝 Contributors

Contributions, bug reports, ideas, and feedback are welcome.

See the contributors graph or open an issue.

📄 License

Modern MCP Forge is licensed under the Apache License 2.0.

Apache-2.0 is a permissive open-source license that allows commercial use, modification, and distribution while also providing an explicit patent grant.


Built by Modern Software

If Modern MCP Forge is useful to you, consider starring the repository and sharing feedback during the 0.9 public beta.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables LLMs to inspect and test other MCP servers by listing and calling their tools, reading resources, and getting prompts. Supports stdio, SSE, and HTTP transports for both local and remote MCP server inspection.
    7
    4 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A lightweight HTTP-based MCP server built with Bun, enabling tool discovery and execution via JSON-RPC 2.0 over HTTP.
    6 npm
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI clients to connect to example tools, resources, and prompts over MCP, demonstrating integration with IDEs, chatbots, and agent frameworks.
    -