非官方Equinix Fabric MCP服务器v2.2
Python 实现 一个模型上下文协议(MCP)服务器,为人工智能助手提供与Equinix Fabric API交互的工具。这使得能够实现基于人工智能的网络连接、端口、路由器和服务配置文件的管理。
🚀 功能
港口管理
- 列出您账户中的所有Fabric端口
- 获取特定端口的详细信息
连接管理
- 列出所有Fabric连接
- 获取详细的连接信息
- 建立新的虚拟连接 在端点之间
- 更新现有连接 (带宽,名称,描述)
- 删除连接
- 获取连接统计信息~~(在Fabric v4中已弃用)
- 通过筛选器搜索连接
- 在创建连接配置之前进行验证
云路由器管理
- 列出所有Fabric云路由器
- 获取详细的路由器信息
- ⚠️ 注在当前的Fabric MCP服务器中,不支持创建/更新/删除操作
服务配置文件与令牌
- 列出可用的服务配置文件(云服务提供商和合作伙伴)
- 获取服务配置文件详情
- 创建和管理服务令牌 用于合作伙伴连接
- 列出并删除服务令牌
地铁站点
- 列出所有可用的Equinix Fabric城域位置
📋 先决条件
- Python 3.10 或更高版本
- Claude 桌面应用程序
- Equinix账户,具备Fabric API访问权限
- Equinix OAuth2 凭据(客户端ID和客户端密钥)
🔧 安装
方法1:从PyPI安装(推荐)
pip install equinix-fabric-mcp方法2:从源代码安装
git clone https://github.com/sliuuu/equinix-fabric-mcp.git
cd equinix-fabric-mcp
pip install -e .⚙️ 配置
第一步:获取您的Equinix API凭据
- 登录到 Equinix 织构门户
- 导航至 用户设置 → API
- 创建一个OAuth2应用程序以获取:
- 客户端ID - 客户端密钥
- 安全地保存这些凭据
步骤2:配置Claude桌面版
编辑您的Claude桌面配置文件:
macOS(发音为 /ˈmækɒs/,中文常译为“麦奥斯”或直接使用原名): ~/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"
}
}
}
}或者如果通过 pip 安装:
{
"mcpServers": {
"equinix-fabric": {
"command": "equinix-fabric-mcp",
"env": {
"EQUINIX_CLIENT_ID": "your-client-id-here",
"EQUINIX_CLIENT_SECRET": "your-client-secret-here"
}
}
}
}第三步:重启Claude桌面版
完全退出并重新打开 Claude Desktop 以使更改生效。
💡 使用示例
配置完成后,您可以请求Claude协助处理Equinix Fabric任务:
读取操作
"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"写操作
"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"复杂的工作流程
"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"🔐 认证
这台服务器使用 OAuth2 客户端凭据 用于身份验证的流程:
- 访问令牌会自动获取并缓存
- 令牌在到期前会自动刷新(预留1分钟缓冲时间)
- 比API密钥认证更安全
- 支持细粒度的权限控制
🛠️ 可用工具
服务器提供 22个MCP工具:
读取操作(9种工具)
list_fabric_ports- 列出所有端口get_fabric_port- 获取端口详情list_fabric_connections- 列出连接get_fabric_connection- 获取连接详情- 你好
get_connection_stats- 已弃用 (在 Fabric v4 中不支持) list_fabric_routers- 列出云路由器get_fabric_router- 获取路由器详细信息search_connections- 带筛选条件的搜索list_metros- 列出地铁站点位置
连接管理(4种工具)
create_fabric_connection- 建立新的联系update_connection- 修改连接delete_connection- 断开连接validate_connection_config- 预验证配置
云路由器管理(3种工具)⚠️ 只读
- ~~
create_fabric_router- 当前Fabric MCP服务器不支持此功能 - ~~
update_fabric_router~~ - 当前Fabric MCP服务器不支持此功能 - ~~
delete_fabric_router~~ - 当前Fabric MCP服务器不支持此功能
⚠️ 重要当前Fabric MCP服务器不支持Cloud Router的创建/更新/删除操作。您只能列出和获取现有路由器的信息。Cloud Router必须通过Equinix门户或其他替代方法进行管理。
服务配置文件(2种工具)
list_service_profiles- 浏览云服务提供商get_service_profile- 获取个人资料详情
服务令牌(4种工具)
create_service_token- 生成访问令牌list_service_tokens- 列出所有代币get_service_token- 获取令牌详细信息delete_service_token- 撤销令牌
📚 API 覆盖范围
这个MCP服务器实现了Equinix Fabric API v4:
- 港口GET /fabric/v4/ports 翻译为中文是:“获取/fabric/v4/ports资源”
- 联系GET, POST, PATCH, DELETE /fabric/v4/connections
- 云路由器GET /fabric/v4/routers(搜索端点,只读)
- 服务配置文件GET /fabric/v4/serviceProfiles 翻译为中文是:“获取/fabric/v4/serviceProfiles(服务配置文件)”
- 服务令牌GET、POST、DELETE /fabric/v4/serviceTokens
- 米(或公尺)GET /fabric/v4/metros 翻译为中文是:“获取/fabric/v4/metros资源”
- 搜索POST /fabric/v4/connections/search,POST /fabric/v4/routers/search
已知的API限制
- ❌ 连接统计:
/fabric/v4/connections/{id}/stats在v4版本中,该端点不可用 - ❌(表示错误或否) Cloud Router 的增删改查(CRUD)在v4 API中,不支持POST/PATCH/DELETE操作
- ✅ 权宜之计;变通办法使用
get_fabric_connection用于连接元数据 - ✅ 权宜之计/变通办法通过Equinix门户管理云路由器
🔍 开发
设置开发环境
# 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代码质量
# Format code
black server.py
# Type checking
mypy server.py
# Run tests (when available)
pytest🆚 版本2.2更新
v2.2 新增功能
- ✅ 表示“正确”或“已完成”的意思。 准确的API v4实现 - 正确记录不支持的终端节点
- ✅ 清晰的错误信息 - 对于不支持的操作抛出 NotImplementedError
- ✅ Cloud Router 读取操作 - 列出并搜索获取路由器详细信息
- ✅ 表示“正确”或“已确认”。 更新后的文档 - 反映了实际的Fabric v4 API功能
v2.1中的新特性
- ✅ OAuth2 认证 (比API密钥更安全)
- ✅ 令牌缓存 (性能提升)
- ✅(这个符号通常表示“正确”或“确认”,在中文中没有直接对应的翻译,但可以根据上下文理解为“正确”、“确认”或“对”的意思。) 支持 Python 3.10+
- ✅ 全程使用异步/等待(Async/await)
- ✅ 更好的错误处理
- ✅ 综合工具架构
从v1.x版本迁移
- 身份验证方式从Bearer令牌更改为OAuth2
- 环境变量已更改:
- 老的 EQUINIX_API_TOKEN - 新 EQUINIX_CLIENT_ID + EQUINIX_CLIENT_SECRET
- 所有功能均得以保留并增强
🔒 安全
最佳实践
- ✅ 绝不要将凭据提交到版本控制系统中
- ✅ 使用环境变量存储机密信息
- ✅ 定期更换OAuth2凭证
- ✅ 使用最小权限访问
- 定期审查API访问日志
安全配置
# 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")🐛 故障排除
服务器未加载
- 检查Python版本:
python --version(需要3.10及以上版本) - 验证安装:
pip show equinix-fabric-mcp - 检查Claude Desktop的日志:
- macOS(苹果电脑操作系统): ~/Library/Logs/Claude/ - Windows: %APPDATA%\Claude\logs\
- 验证配置文件中的JSON语法
- 重启Claude桌面版
认证错误
- 401 未授权检查客户端ID和密钥是否正确
- 403 禁止访问验证账户是否具有Fabric API访问权限
- 令牌已过期服务器自动刷新,但请检查凭据
连接问题
- 验证两个终端点都存在且可用
- 检查VLAN标签是否未被使用
- 确保地铁内有可用带宽
- 验证地铁代码是否符合服务要求
API限制错误
- “在 Fabric v4 中不支持”操作不可用 - 请参阅“已知API限制”部分
- 连接统计信息不可用使用
get_fabric_connection用于元数据而非其他 - Cloud Router 创建失败通过Equinix门户管理云路由器
📖 文档
🤝 贡献/参与
欢迎投稿!请参阅 CONTRIBUTING.md 翻译为中文是:“贡献指南/贡献说明.md” 作为指导方针。
📄 许可证
MIT 许可证 - 参见 许可证 文件中有详细信息。
🆘 支持
- GitHub Issues(GitHub问题)https://github.com/sliuuu/equinix-fabric-mcp/issues 的中文翻译是:“https://github.com/sliuuu/equinix-fabric-mcp 的问题(或议题)页面”
- 讨论https://github.com/sliuuu/equinix-fabric-mcp/讨论区
- Equinix 支持服务https://support.equinix.com 翻译为中文是:“https://支持.equinix.com(注:实际网址翻译时通常保持原样,此处仅为说明翻译思路,实际使用时无需翻译网址)”。不过,更自然的表达可能是直接说明这是一个支持网站的链接,如:“这是Equinix的支持网站链接:https://support.equinix.com”
🔗 资源
- Equinix Fabric API 文档
- 模型上下文协议
- Claude Desktop(可译为“Claude桌面版”或保持原样,具体取决于上下文是否需要更具体的翻译)
- MCP Python SDK(软件开发工具包)
⭐ 星辰历史
如果你觉得这个项目很有用,请在GitHub上给它点个星吧!
______________________________________________________________________
版本2.2\ 最后更新时间2025年10月20日
语言Python 3.10+
