CoreforgedMCP
One MCP server to dock them all.
CoreforgedMCP is a gateway that consolidates multiple MCP servers behind a single endpoint. Instead of configuring 5 separate servers in your .mcp.json, you configure one — and control which plugins load with a single environment variable.
Before: 5 servers × 5 processes × 5 config blocks
After: 1 server × 1 process × 1 config block
Quick Start
pip install coreforged-mcp
coreforged-mcp init
This adds CoreforgedMCP to your .mcp.json. Restart Claude Code — you're running.
What You Get
The Gateway (free, open source)
- Plugin docking — native Python plugins load in-process; proxy plugins spawn as subprocesses
- Named loadouts — switch your entire tool stack by setting
COREFORGED_LOADOUT=analytics - Plugin discovery — drop a plugin into
~/.coreforged/plugins/and it auto-loads - Cross-platform — Windows, Mac, Linux
KeyRing (bundled)
Your API keys never enter the conversation. The keyring retrieves the secret, makes the authenticated API call, and returns only the response data. Every checkout is logged.
Agent: "Call the GitHub API with my token"
→ KeyRing retrieves token from encrypted store
→ KeyRing makes the API call
→ KeyRing returns the response data
→ Token never appears in tool results or context
Usage
Basic (default plugins)
{
"mcpServers": {
"coreforged": {
"command": "coreforged-mcp",
"args": ["run"]
}
}
}
With a loadout
{
"mcpServers": {
"coreforged": {
"command": "coreforged-mcp",
"args": ["run"],
"env": {
"COREFORGED_LOADOUT": "analytics"
}
}
}
}
Specific plugins only
{
"mcpServers": {
"coreforged": {
"command": "coreforged-mcp",
"args": ["run"],
"env": {
"COREFORGED_PLUGINS": "keyring,my-custom-plugin"
}
}
}
}
Installing Plugins
From a zip file
coreforged-mcp install-plugin analytics-bundle.zip --key YOUR_LICENSE_KEY
Plugins install to ~/.coreforged/plugins/ and are discovered automatically on next restart.
From a directory
Drop any directory with a plugin.json manifest into ~/.coreforged/plugins/:
~/.coreforged/plugins/
├── my-plugin/
│ ├── plugin.json
│ └── server.py
Writing a Plugin
A plugin is any Python module with a FastMCP instance. If it runs standalone, it docks into the gateway.
1. Write the server
# my-plugin/server.py
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("my-plugin", instructions="What this does.")
@mcp.tool()
def my_tool(query: str) -> str:
"""Tool description."""
return do_something(query)
if __name__ == "__main__":
mcp.run()
2. Add the manifest
// my-plugin/plugin.json
{
"name": "my-plugin",
"version": "0.1.0",
"description": "What it does",
"type": "native",
"module": "server",
"mcp_attr": "mcp",
"default": false
}
3. Test
# Standalone
python my-plugin/server.py
# Docked
cp -r my-plugin ~/.coreforged/plugins/
coreforged-mcp status
A template plugin is included at src/coreforged_mcp/plugins/_template/.
Plugin Types
| Type | How It Works | Best For |
|---|---|---|
| Native | Python module imported in-process | Python tools, zero overhead |
| Proxy | External process spawned, tools bridged via JSON-RPC | Node.js, Go, Rust servers |
CLI Commands
| Command | What It Does |
|---|---|
coreforged-mcp run |
Start the gateway server |
coreforged-mcp status |
Show discovered plugins and loadouts |
coreforged-mcp init |
Add CoreforgedMCP to .mcp.json |
coreforged-mcp install-plugin <path> [--key KEY] |
Install a plugin from a zip |
Available Plugins
| Plugin | Source | What It Does |
|---|---|---|
| KeyRing | Bundled | Sovereign secrets — API keys never enter context |
| Digital Analytics | coreforged.com | GA4 + Search Console + PageSpeed |
| SEO Bundle | coreforged.com | Keyword research + SERP analysis |
License
MIT — the gateway is free and open source. Some plugins on coreforged.com are commercially licensed.
Contributing
PRs welcome. See CONTRIBUTING.md.
Built by CoreForged LLC.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file coreforged_mcp-0.1.0.tar.gz.
File metadata
- Download URL: coreforged_mcp-0.1.0.tar.gz
- Upload date:
- Size: 16.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98216d5cca35d00285ccbe07410883c8f5a984baea1d817cc24142e5cc4ceabb
|
|
| MD5 |
e2c41e679b0735c440b34972eeef13cd
|
|
| BLAKE2b-256 |
c242ff53ec4861ea067ce115b1bc3ee863ff3795bb5f3b54c8e1681e39b67391
|
File details
Details for the file coreforged_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: coreforged_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 16.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c4a095703096dbf5370280be4662a2fdaa7bc9993af152024aaf7ccb0c8aaea
|
|
| MD5 |
fa7893687064b3bfa616da21f10cf47b
|
|
| BLAKE2b-256 |
aac9127019c994596bc26f1b2569eabc4b13ec6d67b1c1eedd637a6e1dd5678e
|