Manifest-driven MCP server scaffolder and runtime hub for tool integrations.
MCPpedia last refreshed this data
io.github.jaimenbell/mcp-factory is an MCP server that manifest-driven MCP server scaffolder and runtime hub for tool integrations. Its tool list has not been published yet over stdio, sse and http, requires no API key, and scores 87/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"io-github-jaimenbell-mcp-factory": {
"args": [
"jaimenbell-mcp-factory"
],
"command": "uvx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Static badges — the test count is verifiable below (python -m pytest tests/ → 187 passed, 8 skipped), not a CI status.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
uvx 'jaimenbell-mcp-factory' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked jaimenbell-mcp-factory against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in developer-tools
Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors
Chrome DevTools for coding agents
Monitor browser logs directly from Cursor and other MCP compatible IDEs.
Manage Supabase projects — databases, auth, storage, and edge functions
MCP Security Weekly
Get CVE alerts and security updates for io.github.jaimenbell/mcp-factory and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
The test count is verifiable below (
python -m pytest tests/→ 233 passed, 6 skipped) and enforced in CI byscripts/check_readme_counts.py, which fails the build if this README's counts drift from the live suite.
From PyPI (registry users):
pip install jaimenbell-mcp-factory
mcp-factory-hub --serve
# equivalent: python -m mcp_factory --serve
From a git checkout (contributors): see the python hub_server.py ... examples throughout this README — hub_server.py at the repo root is a backward-compat wrapper around the same mcp_factory.cli module the console script runs, so behavior is identical either way.
The manifest-driven engine behind the MCP Integration Sprint. Write one mcp.yaml for a bot repo and the factory generates the server stub and the ~/.claude.json entry; run the hub and it serves every bot's tools through a single MCP endpoint.
The SDK wrapper is the easy part. What makes an MCP server safe to put in front of a real internal tool — scoped auth/env, fail-soft error handling, validated manifests, a collision-safe registry, and a real test suite — is the engineering this engine is built around. That same production layer is hand-built per engagement; the factory scaffolds it, it doesn't fake it.
This repo is public so you can verify the discipline instead of taking my word for it. Every claim below maps to a file you can open:
| Claim | Where it lives | What to look for |
|---|---|---|
| Validated, env-scoped manifests | mcp_factory/manifest.py | strict from_dict validation (raises on missing/invalid fields); the env_required / env model that scopes which secrets a server may see |
| Fail-soft subprocess proxying | mcp_factory/runtime/subprocess_adapter.py | typed SubprocessError, lazy start, JSON-RPC error surfacing, timeout/OSError-guarded teardown + atexit cleanup — a dead bot returns a clean error, it doesn't crash the hub |
| Collision-safe, manifest-driven registry | mcp_factory/runtime/registry.py · registry.json | CollisionError on duplicate <bot>.<tool> names; the registry is built from manifests, not hand-maintained |
| Tested on a clean checkout | tests/ | 233 passed, 6 skipped, 0 failed (Python 3.12); the 6 skips are real integration tests that no-op when external resources are absent |
Honesty rails:
233is the real, reproducible count on a clean checkout — the same number the public CI run produces and gates on. mcp-factory generates the scaffold and runs the hub — it does not "generate the production server" or carry any client/CI claims. The hardened production layer (per-tool auth boundaries, the full failure set, two-axis version-pinning) is built per engagement on top of this engine. That applies to both Python scaffold styles below — see "Two Python styles" for exactly what the fastmcp variant does and doesn't add on top of that baseline.
# Reference an existing MCP server (no code generated — just the config entry)
python hub_server.py --manifest examples/fleet_health.yaml
# Scaffold a new MCP server from scratch
python hub_server.py --manifest my_bot/mcp.
... [View full README on GitHub](https://github.com/jaimenbell/mcp-factory#readme)