mcpField
M
Mcp Forge

Mcp Forge

Local
github.com/iddvDeveloper Tools6Updated 2w ago

About Mcp Forge

MCP-Forge is a CLI framework for scaffolding MCP server projects, adding capabilities, and preparing them for distribution. It also registers servers with supported MCP clients.

Key features

  1. 01Scaffold server projects with tests
  2. 02Add protocol capabilities to projects
  3. 03Register servers in MCP clients
  4. 04Generate distribution files and packages
  5. 05Support HTTP transport and OAuth

Use cases

  1. 01Start an MCP server project with an example tool
  2. 02Add resources, prompts, or HTTP transport
  3. 03Register a server in an installed client
  4. 04Prepare a server for plugin or registry distribution

MCP support

Generates MCP servers using the official Python SDK and adds protocol features such as resources, prompts, and HTTP transport. Its install command registers generated servers in supported MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

MCP-Forge

Scaffold, extend, install, and distribute MCP servers in seconds.

Generated servers target the official mcp Python SDK 2.x (MCPServer) and the 2026-07-28 protocol revision, and stay compatible with handshake-era clients.

Install

mcp-forge is not on PyPI. The mcp-forge package there is an unrelated project, so install from GitHub:

uv tool install git+https://github.com/iddv/mcp-forge

or

pipx install git+https://github.com/iddv/mcp-forge

Quick Start

# Scaffold a new MCP server project
mcp-forge new my-server
cd my-server

# Add features
mcp-forge add resources prompts annotations

# Package as a Claude Code plugin (with an Agent Skill)
mcp-forge add plugin

# Register in your MCP clients
mcp-forge install

Commands

mcp-forge new <name>

Create a new FastMCP server project with working tests, dependencies, and a ready-to-run example tool.

mcp-forge new my-server
cd my-server

# Install, then run with the MCP Inspector
pip install -e ".[test]"
mcp dev server.py

# Run tests (in-process MCP client, no subprocess)
pytest
mcp-forge add <feature>

Add MCP capabilities to an existing project. Pass one or more features. Adding a feature that is already present does nothing, and features pull in what they depend on (e.g. auth adds http).

mcp-forge add resources completions   # Several at once
mcp-forge add auth                    # Also adds http
mcp-forge features                    # List everything available
mcp-forge install

Register your server in MCP client applications. Auto-detects installed clients or targets a specific one.

# Auto-detect and install in all found clients
mcp-forge install

# Target a specific client
mcp-forge install --client claude
mcp-forge install --client cursor
mcp-forge install --client vscode

Supported Clients

ClientConfig LocationScope
Claude DesktopPlatform-specificGlobal
Cursor~/.cursor/mcp.jsonGlobal
Windsurf~/.codeium/windsurf/mcp_config.jsonGlobal
VS Code.vscode/mcp.jsonProject
Kiro.kiro/settings/mcp.jsonProject
Zed~/.config/zed/settings.jsonGlobal
JetBrains.junie/mcp.jsonProject
Claude Code.mcp.jsonProject
Continue~/.continue/config.jsonGlobal
Cline~/Documents/Cline/mcp_settings.jsonGlobal
Roo Code~/.roo-code/mcp.jsonGlobal
Amazon Q~/.aws/amazonq/mcp.jsonGlobal

Available Features

Protocol features
FeatureWhat it adds
resources@mcp.resource() endpoint with title and MIME type
resource-templatesParameterised resource URIs (users://{user_id}/profile)
prompts@mcp.prompt() template
completions@mcp.completion() argument autocompletion for prompts and templates
annotationsTool title and behaviour hints (read_only_hint, destructive_hint, ...)
structured-outputTool returning a pydantic model, giving outputSchema and structuredContent
mediaImage content and ResourceLink results
errorsToolError for expected failures that the model sees and can recover from
notificationsResource-updated and tools-list-changed notifications, with a tool registered at runtime
contextProgress reporting and request metadata via Context
elicitationAsk the user for structured input with Resolve + Elicit
samplingAsk the client's LLM with Resolve + Sample (deprecated in the 2026-07-28 spec)
rootsRead the client's workspace roots with Resolve + ListRoots (deprecated in the 2026-07-28 spec)
lifespanTyped startup/shutdown context shared with every request
middlewareRequest middleware (timing/audit logging) wrapping every MCP request
httpStreamable HTTP transport (python server.py --http [--stateless], address via MCP_HOST/MCP_PORT), a /health route, and a shared MCP_REQUEST_STATE_KEY for multi-replica deployments
authOAuth 2.1 resource server: TokenVerifier + AuthSettings (requires http; set MCP_PUBLIC_URL behind a proxy)
appsMCP Apps extension: an interactive ui:// HTML view bound to a tool

Elicitation, sampling and roots use Resolve parameters rather than calling ctx.elicit() directly. That way they work on both stateless 2026-07-28 connections (Multi Round-Trip Requests) and older clients.

Distribution features
FeatureGenerates
skillskills/<name>/SKILL.md: an Agent Skill describing when and how to use the server's tools
plugin.claude-plugin/plugin.json (bundles the server via ${CLAUDE_PLUGIN_ROOT}) and marketplace.json; also adds skill
mcpbmanifest.json + .mcpbignore for an MCP Bundle (Claude Desktop one-click install)
dockerDockerfile + .dockerignore serving the server over Streamable HTTP (requires http)
registryserver.json for the MCP Registry and the mcp-name README marker

Add distribution features after your tools: skill and mcpb record the tools present at generation time. Existing files are never overwritten. Delete a file and re-run add to regenerate it.

Once the project is pushed to GitHub, anyone can install the plugin in Claude Code:

/plugin marketplace add <you>/<repo>
/plugin install <name>@<name>

Use mcp-forge from Claude Code

This repo is itself a Claude Code plugin. Its mcp-forge skill teaches Claude the workflow, the feature catalogue, and SDK 2.x patterns:

/plugin marketplace add iddv/mcp-forge
/plugin install mcp-forge@mcp-forge

Then ask Claude to "build an MCP server that ...", or run /mcp-forge.

Generated Project

my-server/
  server.py           # MCPServer with an example tool
  pyproject.toml       # Dependencies and entry point
  tests/
    test_server.py     # Async tests using an in-process Client
  .env.example
  .gitignore
  README.md

Upgrading from mcp-forge 2.x

mcp-forge 3 generates code for mcp 2.x. Projects created by mcp-forge 2 import mcp.server.fastmcp and declare mcp[cli]>=1.6.0, so a fresh install now resolves mcp 2.x and fails to import. Either pin mcp[cli]>=1.28,<2 in those projects, or migrate them: FastMCP becomes MCPServer from mcp.server.mcpserver. See the SDK migration guide.

Development

git clone https://github.com/iddv/mcp-forge.git
cd mcp-forge
pip install -e ".[test]"
pytest

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.