fusional
Unified MCP gateway that loads 150+ AI tools via a single Docker command. Execute Python code in sandboxed subprocesses, generate complete MCP server projects from natural language, and run AI-powered code generation β all through one endpoint. Built to solve the Windows MCP failure modes nobody else documents.
Ask AI about fusional
Powered by Claude Β· Grounded in docs
I know everything about fusional. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
π FusionAL β Self-Hosted MCP Governance Gateway
Your team connected 10 MCP servers. Now what?
π fusional.dev β’ π§ jonathanmelton.fusional@gmail.com β’ ποΈ Book a Call
MCP is powerful. Enterprise MCP deployment is a different problem entirely.
Every server you connect loads its full tool manifest into Claude's context window before processing a single token of your request. At 84 tools across several servers, that's 15,540 tokens consumed at session start β before your team has asked anything. At scale, that's cost, latency, and an audit surface nobody can explain to legal.
FusionAL is a self-hosted MCP governance gateway that sits between your AI clients and your tool servers. One endpoint. Central auth. Tool-level policy enforcement. Full audit trail. Deployable in a single Docker command β including on Windows, where MCP has 6 documented failure modes the official docs don't cover.
Built for teams that have already said yes to MCP and now need to run it safely:
- Token control β filter tool exposure per client so context bloat doesn't scale with your server count
- Audit-ready operations β every tool call logged with caller, input, latency, and response status
- Policy enforcement β control what tools run, for whom, and under what conditions
- Windows-hardened β 6 documented failure modes solved, none of which appear in official MCP docs
- AI-powered server generation β describe a tool in plain English, FusionAL builds and registers it
- Done-for-you option β we deploy, govern, and manage it for you
The question isn't whether to adopt MCP. It's whether your deployment will survive contact with your security team.
β‘ Quick Start (5 Minutes)
Prerequisites
- Docker Desktop (installed and running)
- Claude Desktop
- Python 3.11+
- Git
Step 1: Clone & Install
git clone https://github.com/JRM-FusionAL/FusionAL.git
cd FusionAL
python -m venv venv
source venv/bin/activate # macOS/Linux
# venv\Scripts\activate # Windows
pip install -r core/requirements.txt
Step 2: Start FusionAL
cd core
python -m uvicorn main:app --reload --port 8009
Verify it's running:
curl http://localhost:8009/health
Step 3: Configure Claude Desktop
Find your config file:
- Windows:
C:\Users\YourName\AppData\Roaming\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
β οΈ Windows users: Do NOT use
%APPDATA%in the path β Claude Desktop won't expand it. Hardcode the full path. Example:C:\Users\YourName\AppData\Roaming\Claude\claude_desktop_config.json
Add FusionAL as an MCP server:
{
"mcpServers": {
"fusional-gateway": {
"url": "http://localhost:8009/sse"
}
}
}
Step 4: Restart Claude Desktop & Test
Fully quit and reopen Claude Desktop. Open a new chat and try:
"Generate a Python MCP server that fetches the current weather for a given city."
FusionAL will generate, register, and run it automatically.
π³ Docker Deploy
Build and run the full gateway in Docker:
docker build -t fusional .
docker run -d -p 8089:8009 --name fusional fusional
Or with Docker Compose:
docker compose up -d
Gateway available at http://localhost:8089.
ποΈ Architecture
Claude Desktop / Any MCP Client
β
βΌ (SSE or Streamable HTTP)
FusionAL Gateway (:8009)
β
βββββββ΄βββββββ
βΌ βΌ
FastAPI MCP Transport (/mcp)
REST API βββ execute_code
βββ generate_and_execute
βββ generate_mcp_project
β
βΌ
Docker Sandbox Executor
(network isolated, memory capped)
β
βΌ
MCP Server Registry (JSON)
βββ business-intelligence-mcp (:8101)
βββ api-integration-hub (:8102)
βββ content-automation-mcp (:8103)
MCP Tools (via /mcp)
| Tool | Description |
|---|---|
execute_code | Run Python in an isolated subprocess sandbox |
generate_and_execute | Plain English prompt β Claude writes it β runs it |
generate_mcp_project | Describe an MCP server β Claude builds the full project |
REST API
| Endpoint | Method | Description |
|---|---|---|
/health | GET | Health check |
/execute | POST | Execute Python (optional Docker sandbox) |
/register | POST | Register an MCP server in the registry |
/catalog | GET | List all registered servers |
/generate | POST | Generate and launch a new server from a prompt |
π οΈ Showcase Servers
These servers ship with the mcp-consulting-kit and are pre-registered in the FusionAL gateway:
| Server | Port | Tools |
|---|---|---|
business-intelligence-mcp | 8101 | Natural language β SQL (PostgreSQL, MySQL, SQLite) |
api-integration-hub | 8102 | Slack, GitHub Issues, Stripe customer lookup |
content-automation-mcp | 8103 | Web scraping, link extraction, table parsing, RSS feeds |
Start the full showcase stack:
cd ../mcp-consulting-kit
docker compose up -d
π Security Model
Docker Sandbox
Each code execution runs with:
- β
Network isolation (
--network none) - β Memory limits (default 128 MB, configurable)
- β Process limits (max 64 processes)
- β
Read-only filesystem (except
/tmp) - β No privilege escalation
- β Non-root user execution
API Security (optional)
When mcp-consulting-kit/showcase-servers/common/security.py is present, the gateway enables:
- API key authentication on
/execute,/register,/generate - Rate limiting
- CORS configuration
πͺ Windows-Specific Fixes
FusionAL documents and solves 6 Windows MCP failure modes not covered in official docs:
-
The 60-Second Silence β Claude Desktop times out with zero error. Caused by Docker socket init lag.
Read the fix β -
The BOM Trap β Notepad/VS Code injects a byte-order mark into JSON configs, silently breaking MCP.
Fix:[System.IO.File]::WriteAllText(path, content, New-Object System.Text.UTF8Encoding($false)) -
The Backslash Trap β Windows path separators in
claude_desktop_config.jsonbreak startup silently.
Use forward slashes or escaped double backslashes. -
%USERPROFILE%expansion β Claude Desktop does NOT expand env vars in config paths. Hardcode them. -
Docker named pipe failure β Docker's named pipe transport fails on WSL2. Use
/var/run/docker.sock. -
Registry timeout at 8+ servers β Claude Desktop hits a timeout threshold on lower-end hardware.
Cap your registry at 8 servers on i5/i7 7th gen and below.
π§° Building Your Own MCP Server
Using the AI Builder (via Claude Desktop)
After connecting FusionAL, ask Claude:
"Generate an MCP server that queries our PostgreSQL database using natural language."
FusionAL generates the full project, builds it, and registers it in the gateway automatically.
Manual Server Structure
my-server/
βββ Dockerfile
βββ requirements.txt
βββ my_server.py β FastMCP tools go here
βββ .env
Key Rules
- Use
@mcp.tool()decorators on async functions - Single-line docstrings only (multi-line breaks some MCP clients)
- Return formatted strings from all tools
- Default parameters to
""notNone - Log to
sys.stderr - Run as non-root in Docker
from mcp.server.fastmcp import FastMCP
import sys
mcp = FastMCP("my-server")
@mcp.tool()
async def my_tool(query: str = "") -> str:
"""What this tool does in one line."""
return f"β
Result for: {query}"
if __name__ == "__main__":
mcp.run(transport='stdio')
π Examples
| Example | Path | What it demonstrates |
|---|---|---|
| Dice Roller | examples/dice-roller/ | D&D dice (8 tools), dice notation parsing |
| Weather API | examples/weather-api/ | External API integration, error handling |
| File Utils | examples/file-utils/ | Safe filesystem access, pagination |
π Done-for-You Consulting
Don't want to self-manage? FusionAL offers done-for-you MCP deployments:
| Tier | Scope | Price |
|---|---|---|
| Starter Install | Single environment, core servers, Windows hardening | $2,500β$3,500 |
| Core Install | Full stack, custom servers, governance layer, team onboarding | $5,000β$9,000 |
| Retainer | Ongoing ops, incident response, new server builds | $1,500β$4,000/mo |
Book a free 15-min MCP security audit β
π€ Contributing
Contributions welcome. Priority areas:
- New example servers
- Windows compatibility fixes
- Documentation improvements
- Test coverage
π License
MIT β see LICENSE
π Credits
- Anthropic β Claude AI + MCP protocol
- FastAPI β API framework
- FastMCP β MCP server framework
- Docker β Container infrastructure
Built by a self-taught developer who fixed the MCP problems nobody else documented.
π fusional.dev β’ β Star the repo if it saved you hours
π Origin & Inspiration
FusionAL started with a NetworkChuck video.
If you haven't watched "you need to learn MCP RIGHT NOW!!" β go watch it first. Chuck explains the fundamentals better than anyone, and his docker-mcp-tutorial repo is the best starting point for understanding how MCP servers work with Docker.
The dice-roller example and quick-start structure in this repo are adapted from that tutorial (MIT licensed).
Where FusionAL goes further:
Chuck's tutorial shows you how to build MCP servers manually β edit a prompt template, paste it into Claude, implement the result yourself.
FusionAL removes the human from that loop entirely. Instead of a prompt file you copy-paste, generate_mcp_project is a live tool call β Claude describes what it wants built, FusionAL generates it, registers it, and runs it. No clipboard. No manual steps.
More importantly, Chuck's video covers Docker's MCP catalog β 300+ servers you can enable with a click. That's step one. FusionAL is what you need when a CTO asks:
"Great β but how do we audit what those tools are doing? How do we enforce policy? How do we make sure this doesn't become a security incident?"
That's the gap FusionAL was built to fill: governance, auditability, and operational control for teams deploying MCP at scale β especially on Windows, where the catalog alone isn't enough.
