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_case names (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 ToolRegistration seam;
  • 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.

  • Class
    Description
    The 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 for DeploymentPlans produced by design_plan_deployment, keyed by the plan_id that tool returns so a later design_export_terraform call can pick the plan back up.
    The shared state a ToolHandler executes against: the lazily-built SDK facades (Fabric + design engines, Customer Portal, Network Edge, IBX SmartView), the environment, the JSON mapper, and the single-process PlanStore.
    Builder for ServerContext.
    Creates the live pricing adapter for a provider.
    The body of an MCP tool: takes the parsed argument JSON and the shared ServerContext, returns the structured result payload.
    One complete MCP tool definition: name, description, JSON input/output schema, behavior annotations, owning Toolset, and the ToolHandler that executes it.
    The named tool groups the embedded MCP server can expose, selectable via EquinixMcpServer.builder().toolsets(...), the EQUINIX_MCP_TOOLSETS environment variable, or the --toolsets launch argument (comma-separated ids, e.g.