forge-mcp
MCP Meta-Orchestrator for Forge — routes, secures, budgets, and caches tool calls across N upstream MCP servers.
Features
- Deny-by-default security: tools must be explicitly
allowed: trueper server config - Caller allowlists: restrict tool access to specific agent/caller IDs
- Secret redaction: responses are scanned and sanitized before reaching the agent context
- Per-run budgets: configurable
max_calls_per_runper tool;BudgetExceededErroron breach - Exact-match TTL cache: Anthropic prompt-caching semantics — identical input → cache hit
- Circuit breakers: per-server, reusing
forge-core.CircuitBreaker(5 failures → OPEN) - YAML config: human-friendly server and policy authoring
- CLI:
forge mcp list-tools,forge mcp call,forge mcp status
Quick start
from forge_mcp import MetaMCPServer, ServerConfig, ToolCall, ToolPolicy, FakeMCPClient
server = MetaMCPServer()
cfg = ServerConfig(
name="filesystem",
transport="stdio",
command=["npx", "-y", "@modelcontextprotocol/server-filesystem", "/tmp"],
tools={"read_file": ToolPolicy(allowed=True, max_calls_per_run=20)},
)
server.add_server(cfg, FakeMCPClient(responses={"read_file": "file contents"}))
result = await server.call_tool(ToolCall(tool_name="read_file", arguments={"path": "/tmp/x.txt"}))
print(result.content)
YAML config
cache_ttl: 300
servers:
- name: filesystem
transport: stdio
command: ["npx", "-y", "@modelcontextprotocol/server-filesystem", "/tmp"]
tools:
read_file:
allowed: true
max_calls_per_run: 20
write_file:
allowed: true
max_calls_per_run: 5
Part of Forge
This package is part of Forge — the universal AI agent harness.
Metadata
Release files for forge-os-mcp 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| forge_os_mcp-0.2.0.tar.gz | 19.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| forge_os_mcp-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 37.0 kB
Release files / forge_os_mcp-0.2.0.tar.gz
| Download URL | forge_os_mcp-0.2.0.tar.gz |
|---|---|
| Size | 19.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
129b5e680e02c524a7c0da59bbceedd1b90e9ac7ba9124fc36c5aedc09ea0a52
|
|
BLAKE2b-256 checksum How to use checksums |
ac6e2e61297de0b5e8cf0c0f58235e4a995387347aa6403770cb41e0711508c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / forge_os_mcp-0.2.0-py3-none-any.whl
| Download URL | forge_os_mcp-0.2.0-py3-none-any.whl |
|---|---|
| Size | 18.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f28c0fa4ce39732343ce14f8473419c9fe27f5ff99a7ff7b572cf427d27d333a
|
|
BLAKE2b-256 checksum How to use checksums |
0d6d0b9f424225ae5cf1dc103d7fb2447ced4cf1a89310da23c3a7b93dfc1830
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|