Repository navigation
mcp-forge 3.0: MCP SDK 2.x / 2026-07-28, new features, plugins & skills - #1
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Generated projects imported mcp.server.fastmcp with mcp[cli]>=1.6.0, which now resolves mcp 2.x where FastMCP was removed. Templates now use MCPServer and pin mcp>=2.3,<3; tests use the in-process Client. Protocol features: resource-templates, completions, annotations, structured-output, media, sampling, roots, lifespan, http, apps. Elicitation/sampling/roots use Resolve parameters so they work on both 2026-07-28 (MRTR) and handshake-era clients. Auth is now a real TokenVerifier + AuthSettings. Distribution features: skill, plugin, mcpb, registry. add is idempotent, resolves feature requirements, accepts multiple features, and a new features command lists them. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- http reads MCP_HOST/MCP_PORT from the environment so auth advertises the resource URL the server actually listens on (MCP_PUBLIC_URL overrides); previously --port != 8000 advertised the wrong URL. - http configures RequestStateSecurity from MCP_REQUEST_STATE_KEY so elicitation/sampling round-trips work across replicas. - Template sets the server version; .mcpbignore excludes plugin/docker files. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…eatures Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
mcp-forge 3.0 targets the
mcpPython SDK 2.x and the 2026-07-28 protocol revision. It also adds 14 protocol features, 5 distribution features (Claude Code plugin, Agent Skill, MCPB, Docker, MCP Registry), and ships mcp-forge itself as a Claude Code plugin with a skill.Why this is urgent:
mcp2.0 (2026-07-28) removedmcp.server.fastmcp. Projects generated by mcp-forge 2 declaremcp[cli]>=1.6.0, so a fresh install resolves 2.x andserver.pyfails withModuleNotFoundError.Plan:
docs/superpowers/plans/2026-10-11-mcp-forge-v3.mdChanges
MCPServerfrommcp.server.mcpserver,mcp[cli]>=2.3,<3, and tests using an in-processClient.contextcalled async logging withoutawait(and protocol logging is now deprecated).elicitationbroke on 2026 clients.authwas only comments; it is now a realTokenVerifier+AuthSettings.resource-templates,completions,annotations,structured-output,mediaerrors,notifications,sampling,rootslifespan,middleware,http,apps(MCP Apps)Resolveparameters, so they work over the 2026-07-28 retry flow and with handshake-era clients.httpreadsMCP_HOST/MCP_PORT, soauthadvertises the correct resource URL (MCP_PUBLIC_URLoverrides it).MCP_REQUEST_STATE_KEYmakes multi-replica deployments work.skill:SKILL.mdlisting the server's tools.plugin:.claude-plugin/plugin.json+marketplace.json.mcpb:manifest.json.docker:Dockerfile.registry:server.json.addtakes several features at once, is idempotent, and resolves requirements (authaddshttp). A newmcp-forge featurescommand lists them.mcp-forgeskill.Testing
mcpb validateandmcpb packpass, and the unpacked bundle'suv runcommand works.claude plugin validate --strictpasses. A generated plugin loaded with--plugin-dirconnected, and Claude called its tools.docker build(no daemon access on the test box) and the MCP Inspector web UI.Before releasing: PyPI name
The PyPI name
mcp-forgebelongs to an unrelated project: click/jinja2-based, versions 0.2.0–1.0.0, first upload 2025-03-21. This repo has never been published. Taggingv3.0.0will run the publish workflow and fail on that name. Also, the README'spip install mcp-forgecurrently installs the other package. Pick a free name before the first release (e.g.mcpforge-cli,mcp-forge-kit) and updatepyproject.toml, the README and the skill.🤖 Generated with Claude Code