sliuuu/equinix-fabric-mcp
If you are the rightful owner of equinix-fabric-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Equinix Fabric MCP Server is a Model Context Protocol server that enables AI assistants to manage network connections, ports, routers, and service profiles through the Equinix Fabric API.
Unofficial Equinix Fabric MCP Server v2.2
Python implementation - A Model Context Protocol (MCP) server that provides AI assistants with tools to interact with the Equinix Fabric API. This enables AI-powered management of network connections, ports, routers, and service profiles.
🚀 Features
Port Management
- List all Fabric ports in your account
- Get detailed information about specific ports
Connection Management
- List all Fabric connections
- Get detailed connection information
- Create new virtual connections between endpoints
- Update existing connections (bandwidth, name, description)
- Delete connections
Get connection statistics(deprecated in Fabric v4)- Search connections by filters
- Validate connection configurations before creation
Cloud Router Management
- List all Fabric Cloud Routers
- Get detailed router information
- ⚠️ Note: Create/Update/Delete operations are not supported in the current Fabric MCP server
Service Profiles & Tokens
- List available service profiles (cloud providers and partners)
- Get service profile details
- Create and manage service tokens for partner connections
- List and delete service tokens
Metro Locations
- List all available Equinix Fabric metro locations
📋 Prerequisites
- Python 3.10 or higher
- Claude Desktop application
- Equinix account with Fabric API access
- Equinix OAuth2 credentials (Client ID and Client Secret)
🔧 Installation
Method 1: Install from PyPI (Recommended)
pip install equinix-fabric-mcp
Method 2: Install from Source
git clone https://github.com/sliuuu/equinix-fabric-mcp.git
cd equinix-fabric-mcp
pip install -e .
⚙️ Configuration
Step 1: Get Your Equinix API Credentials
- Log in to the Equinix Fabric Portal
- Navigate to User Settings → API
- Create an OAuth2 application to get:
- Client ID
- Client Secret
- Save these credentials securely
Step 2: Configure Claude Desktop
Edit your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"equinix-fabric": {
"command": "python",
"args": ["-m", "server"],
"env": {
"EQUINIX_CLIENT_ID": "your-client-id-here",
"EQUINIX_CLIENT_SECRET": "your-client-secret-here"
}
}
}
}
Or if installed via pip:
{
"mcpServers": {
"equinix-fabric": {
"command": "equinix-fabric-mcp",
"env": {
"EQUINIX_CLIENT_ID": "your-client-id-here",
"EQUINIX_CLIENT_SECRET": "your-client-secret-here"
}
}
}
}
Step 3: Restart Claude Desktop
Completely quit and reopen Claude Desktop for changes to take effect.
💡 Usage Examples
Once configured, you can ask Claude to help with Equinix Fabric tasks:
Read Operations
"List all my Fabric ports"
"Show me details about port [UUID]"
"List all my connections"
"Show me available service profiles for AWS"
"List all metros in Asia"
"Search for connections with state ACTIVE"
Write Operations
"Create a connection between my Singapore port and AWS Direct Connect"
"Update connection [UUID] to 1000 Mbps bandwidth"
"Delete connection [UUID]"
"Create a service token for my Hong Kong port"
"Validate this connection configuration before creating it"
Complex Workflows
"Set up redundant connections from Singapore to Tokyo"
"Create a multi-cloud hub in New York connecting to AWS, Azure, and GCP"
"Show me all ACTIVE connections and their bandwidth usage"
🔐 Authentication
This server uses OAuth2 Client Credentials flow for authentication:
- Access tokens are automatically obtained and cached
- Tokens are refreshed automatically before expiration (1 minute buffer)
- More secure than API key authentication
- Supports fine-grained permission control
🛠️ Available Tools
The server provides 22 MCP tools:
Read Operations (9 tools)
list_fabric_ports- List all portsget_fabric_port- Get port detailslist_fabric_connections- List connectionsget_fabric_connection- Get connection details- Deprecated (not supported in Fabric v4)get_connection_statslist_fabric_routers- List Cloud Routersget_fabric_router- Get router detailssearch_connections- Search with filterslist_metros- List metro locations
Connection Management (4 tools)
create_fabric_connection- Create new connectionsupdate_connection- Modify connectionsdelete_connection- Remove connectionsvalidate_connection_config- Pre-validate configs
Cloud Router Management (3 tools) ⚠️ READ-ONLY
- Not supported in the current Fabric MCP servercreate_fabric_router- Not supported in the current Fabric MCP serverupdate_fabric_router- Not supported in the current Fabric MCP serverdelete_fabric_router
⚠️ Important: Cloud Router create/update/delete operations are not available in the current Fabric MCP server. You can only LIST and GET existing routers. Cloud Routers must be managed through the Equinix Portal or alternative methods.
Service Profiles (2 tools)
list_service_profiles- Browse cloud providersget_service_profile- Get profile details
Service Tokens (4 tools)
create_service_token- Generate access tokenslist_service_tokens- List all tokensget_service_token- Get token detailsdelete_service_token- Revoke tokens
📚 API Coverage
This MCP server implements the Equinix Fabric API v4:
- Ports: GET /fabric/v4/ports
- Connections: GET, POST, PATCH, DELETE /fabric/v4/connections
- Cloud Routers: GET /fabric/v4/routers (search endpoint, read-only)
- Service Profiles: GET /fabric/v4/serviceProfiles
- Service Tokens: GET, POST, DELETE /fabric/v4/serviceTokens
- Metros: GET /fabric/v4/metros
- Search: POST /fabric/v4/connections/search, POST /fabric/v4/routers/search
Known API Limitations
- ❌ Connection Statistics:
/fabric/v4/connections/{id}/statsendpoint not available in v4 - ❌ Cloud Router CRUD: POST/PATCH/DELETE operations not available in v4 API
- ✅ Workaround: Use
get_fabric_connectionfor connection metadata - ✅ Workaround: Manage Cloud Routers through Equinix Portal
🔍 Development
Setup Development Environment
# Clone repository
git clone https://github.com/sliuuu/equinix-fabric-mcp.git
cd equinix-fabric-mcp
# Install with dev dependencies
pip install -e ".[dev]"
# Set environment variables
export EQUINIX_CLIENT_ID="your-client-id"
export EQUINIX_CLIENT_SECRET="your-client-secret"
# Run the server
python -m server
Code Quality
# Format code
black server.py
# Type checking
mypy server.py
# Run tests (when available)
pytest
🆚 Version 2.2 Updates
New in v2.2
- ✅ Accurate API v4 implementation - Properly documents unsupported endpoints
- ✅ Clear error messages - NotImplementedError for unsupported operations
- ✅ Cloud Router read operations - List and get router details via search
- ✅ Updated documentation - Reflects actual Fabric v4 API capabilities
New in v2.1
- ✅ OAuth2 authentication (more secure than API keys)
- ✅ Token caching (improved performance)
- ✅ Python 3.10+ support
- ✅ Async/await throughout
- ✅ Better error handling
- ✅ Comprehensive tool schemas
Migrating from v1.x
- Authentication changed from Bearer token to OAuth2
- Environment variables changed:
- Old:
EQUINIX_API_TOKEN - New:
EQUINIX_CLIENT_ID+EQUINIX_CLIENT_SECRET
- Old:
- All functionality preserved and enhanced
🔒 Security
Best Practices
- ✅ Never commit credentials to version control
- ✅ Use environment variables for secrets
- ✅ Rotate OAuth2 credentials regularly
- ✅ Use least-privilege access
- ✅ Review API access logs periodically
Secure Configuration
# macOS/Linux - Set file permissions
chmod 600 ~/Library/Application\ Support/Claude/claude_desktop_config.json
# Use secret management tools
export EQUINIX_CLIENT_ID=$(op read "op://Private/Equinix/client_id")
export EQUINIX_CLIENT_SECRET=$(op read "op://Private/Equinix/client_secret")
🐛 Troubleshooting
Server Not Loading
- Check Python version:
python --version(requires 3.10+) - Verify installation:
pip show equinix-fabric-mcp - Check Claude Desktop logs:
- macOS:
~/Library/Logs/Claude/ - Windows:
%APPDATA%\Claude\logs\
- macOS:
- Validate JSON syntax in config file
- Restart Claude Desktop
Authentication Errors
- 401 Unauthorized: Check client ID and secret are correct
- 403 Forbidden: Verify account has Fabric API access
- Token expired: Server auto-refreshes, but check credentials
Connection Issues
- Verify both endpoints exist and are available
- Check VLAN tags aren't already in use
- Ensure bandwidth is available in the metro
- Validate metro codes match service requirements
API Limitation Errors
- "Not supported in Fabric v4": Operation unavailable - see Known API Limitations section
- Connection stats unavailable: Use
get_fabric_connectionfor metadata instead - Cloud Router creation fails: Manage Cloud Routers through Equinix Portal
📖 Documentation
- - Get started in 5 minutes
- - Detailed examples
- - Common questions
- - Security best practices
- - Technical details
- - How to contribute
- - Production deployment
🤝 Contributing
Contributions are welcome! Please see for guidelines.
📄 License
MIT License - see file for details.
🆘 Support
- GitHub Issues: https://github.com/sliuuu/equinix-fabric-mcp/issues
- Discussions: https://github.com/sliuuu/equinix-fabric-mcp/discussions
- Equinix Support: https://support.equinix.com
🔗 Resources
⭐ Star History
If you find this project useful, please consider giving it a star on GitHub!
Version: 2.2
Last Updated: October 20, 2025
Language: Python 3.10+