fabric-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@fabric-mcplist my virtual connections"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
fabric-mcp — aligned Equinix Fabric MCP server (self-hosted)
A local, self-hosted Python MCP server that reimplements the contract of the hosted
mcp.equinix.com/fabric server (109 tools, protocol-compatible) over the public Fabric REST v4
API — with client-credentials auth (no browser OAuth) and a governance layer that lets us
safely add destructive operations. Supersedes the fragile hosted-OAuth path (CIMD invalid_request,
Desktop timeouts, token-cache churn) and the old ungated equinix-fabric-python server.
Why
mcp.equinix.com/fabricis hosted + user-delegated OAuth → fights Claude Desktop's 60s timeout and Equinix's CIMD rejection. A local stdio server with client-credentials sidesteps all of it.Full control: our own codebase, our own extensions, governed delete/deprovision.
Related MCP server: Fabric Admin MCP Server
Status (steps 1–3 done, no credentials needed)
Contract (
contract/contract.json) — 109 official tools + 3 governed extensions, each with{authority, category, rest_hint, schema:pending, implemented_in_v1}.Gap map (
contract/GAP.md) — vs the oldequinix-fabric-mcp/server.py(~15 covered, 94 to build).Governance core (
governance/gate.py) — authority classifier + dry-run-before-write + confirm + destructive allow-list + two-key + protected-targets + audit. Self-tested.
Architecture
Claude Desktop / LiteLLM ──(stdio MCP)──► fabric-mcp (this server)
│ client-credentials (no browser)
├─ governance/gate.py (authority + approval + audit)
└─ REST ──► api.equinix.com/fabric/v4Authority tiers: read-only = allowed+audited · write = dry-run→confirm · destructive = dry-run + allow-list + two-key + protected-target deny.
Remaining (needs credentials)
Step 4 — implement the 94 REST wrappers (read-only → write → governed destructive), filling per-tool input schemas from a fresh
tools/listdump or the Fabric v4 OpenAPI spec.Step 5 — wire into Claude Desktop (local stdio, the working path) + optional LiteLLM route; live-test with the fresh key.
Credentials — drop point
This server authenticates with the Fabric REST API via OAuth2 client-credentials
(https://api.equinix.com/oauth2/v1/token, grant_type=client_credentials). Generate a fresh
API key pair in the Equinix portal (developer.equinix.com → your app → Consumer Key/Secret) and
put them in ~/Development/Equinix/fabric-mcp/.env (gitignored):
EQUINIX_CLIENT_ID=<consumer key>
EQUINIX_CLIENT_SECRET=<consumer secret>
FABRIC_MCP_MODE=mock # mock (default) | liveThe server reads them from the environment only — never hardcoded, never committed. See .env.example.
This server cannot be installed
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sliuuu/fabric-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server