Package com.eqixiac.equinix.mcp.server
package com.eqixiac.equinix.mcp.server
The embedded Equinix Intelligence MCP Server — a community Model Context Protocol
server, not affiliated with or endorsed by Equinix, and unrelated to Equinix's own
private-beta Fabric MCP server.
An MCP host (Claude Desktop, Cursor, VS Code, …) launches
EquinixMcpServerMain as a subprocess and speaks
newline-delimited JSON-RPC over stdio — the only transport this server offers. Every tool
executes through this SDK's typed domain clients and design engines under the operator's own
client-credentials (EQUINIX_ACCESS_KEY / EQUINIX_SECRET_KEY); there is no
browser consent flow and no separate authorization server.
Design rules the tool catalog follows:
- a deliberately small catalog — every tool embeds engine logic (optimizer, wizard, TCO/savings, peering, latency) or cross-domain reach (portal, Network Edge, IBX SmartView); none is a 1:1 mirror of a REST endpoint;
- domain-prefixed
snake_casenames (design_*,portal_*,ne_*,ibx_*); - read-only: no delete tools, and mutations are out of scope for this catalog —
they arrive only through the Safe Mutation Broker's dry-run-first two-phase tools,
registered via the same
ToolRegistrationseam; - results are structured JSON with size guards (lists are truncated to a sane cap and say so in the payload), and a tool call never hangs — external pricing lookups run under a hard timeout and degrade gracefully.
Extension seam: build a ToolRegistration (name,
JSON schema, annotations, ToolHandler) and pass it to
EquinixMcpServer.builder().additionalTools(...); the handler receives the parsed
argument JSON and the shared ServerContext of
lazily-built SDK facades.
-
ClassDescriptionThe embedded Equinix Intelligence MCP Server — a community server, not affiliated with Equinix and unrelated to Equinix's private-beta Fabric MCP server.Builder for
EquinixMcpServer.Launches the embedded Equinix Intelligence MCP Server over stdio — the entry point an MCP host (Claude Desktop, Cursor, VS Code, …) configures as a command.In-memory, TTL-bounded store forDeploymentPlans produced bydesign_plan_deployment, keyed by theplan_idthat tool returns so a laterdesign_export_terraformcall can pick the plan back up.The shared state aToolHandlerexecutes against: the lazily-built SDK facades (Fabric + design engines, Customer Portal, Network Edge, IBX SmartView), the environment, the JSON mapper, and the single-processPlanStore.Builder forServerContext.Creates the live pricing adapter for a provider.The body of an MCP tool: takes the parsed argument JSON and the sharedServerContext, returns the structured result payload.One complete MCP tool definition: name, description, JSON input/output schema, behavior annotations, owningToolset, and theToolHandlerthat executes it.The named tool groups the embedded MCP server can expose, selectable viaEquinixMcpServer.builder().toolsets(...), theEQUINIX_MCP_TOOLSETSenvironment variable, or the--toolsetslaunch argument (comma-separated ids, e.g.