Equinix Fabric MCP

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.

Category
Visit Server

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

  1. Log in to the Equinix Fabric Portal
  2. Navigate to User SettingsAPI
  3. Create an OAuth2 application to get:
    • Client ID
    • Client Secret
  4. 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)

  1. list_fabric_ports - List all ports
  2. get_fabric_port - Get port details
  3. list_fabric_connections - List connections
  4. get_fabric_connection - Get connection details
  5. get_connection_stats - Deprecated (not supported in Fabric v4)
  6. list_fabric_routers - List Cloud Routers
  7. get_fabric_router - Get router details
  8. search_connections - Search with filters
  9. list_metros - List metro locations

Connection Management (4 tools)

  1. create_fabric_connection - Create new connections
  2. update_connection - Modify connections
  3. delete_connection - Remove connections
  4. validate_connection_config - Pre-validate configs

Cloud Router Management (3 tools) ⚠️ READ-ONLY

  1. create_fabric_router - Not supported in the current Fabric MCP server
  2. update_fabric_router - Not supported in the current Fabric MCP server
  3. delete_fabric_router - Not supported in the current Fabric MCP server

⚠️ 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)

  1. list_service_profiles - Browse cloud providers
  2. get_service_profile - Get profile details

Service Tokens (4 tools)

  1. create_service_token - Generate access tokens
  2. list_service_tokens - List all tokens
  3. get_service_token - Get token details
  4. delete_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}/stats endpoint not available in v4
  • Cloud Router CRUD: POST/PATCH/DELETE operations not available in v4 API
  • Workaround: Use get_fabric_connection for 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
  • 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

  1. Check Python version: python --version (requires 3.10+)
  2. Verify installation: pip show equinix-fabric-mcp
  3. Check Claude Desktop logs:
    • macOS: ~/Library/Logs/Claude/
    • Windows: %APPDATA%\Claude\logs\
  4. Validate JSON syntax in config file
  5. 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_connection for metadata instead
  • Cloud Router creation fails: Manage Cloud Routers through Equinix Portal

📖 Documentation

🤝 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+

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured