Equinix Fabric MCP
An MCP server that enables AI assistants to manage network infrastructure through the Equinix Fabric API, including ports, connections, and service profiles. It provides 22 tools for tasks like creating virtual connections, managing service tokens, and querying metro locations.
README
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
- Quickstart Guide - Get started in 5 minutes
- Usage Guide - Detailed examples
- FAQ - Common questions
- Security Guide - Security best practices
- Architecture - Technical details
- Contributing - How to contribute
- Deployment Guide - Production deployment
🤝 Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
📄 License
MIT License - see LICENSE 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+
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。