Class EquinixMcpServer

java.lang.Object
com.eqixiac.equinix.mcp.server.EquinixMcpServer
All Implemented Interfaces:
AutoCloseable

public final class EquinixMcpServer extends Object implements AutoCloseable
The embedded Equinix Intelligence MCP Server - a community server, not affiliated with Equinix and separate from Equinix's official Fabric MCP server (Public Preview at https://mcp.equinix.com/fabric). It exposes this SDK's design engines and cross-domain reads as MCP tools over stdio only, executing under the operator's client-credentials.
EquinixMcpServer server = EquinixMcpServer.builder()
        .credentials(accessKey, secretKey)     // or .session(existingEquinix)
        .toolsets(Toolset.DESIGN, Toolset.IBX) // optional; default: every read-only toolset
        .build();                              // registers tools and starts serving stdio

The tool catalog is grouped in toolsets (see catalog(Set)); with the design toolset the server also serves resources (the DesignSpec JSON Schema, a starter spec, stored plans) and prompts. The Safe Mutation Broker's dry-run-first mutation pair lives in the opt-in mutate toolset - served only when that toolset is explicitly selected, never by default. Custom extensions register through EquinixMcpServer.Builder.additionalTools(ToolRegistration...) using the exact same ToolRegistration seam the built-ins (broker included) use.

stdout is sacred: the MCP wire protocol owns it. This class and every handler log via slf4j only; EquinixMcpServerMain routes slf4j-simple to stderr.

  • Field Details

  • Method Details

    • builder

      public static EquinixMcpServer.Builder builder()
      Returns:
      a new server builder
    • catalog

      public static List<ToolRegistration> catalog(Set<Toolset> toolsets)
      The built-in read-only tool catalog for the selected toolsets: Toolset.DESIGN the spec-driven design tools, Toolset.ESTATE the scoped estate analysis, Toolset.FABRIC both; portal, ne and ibx add their domains' reach. The Toolset.MUTATE toolset is deliberately not part of this static catalog: the Safe Mutation Broker's tool pair shares a per-server proposal store, so EquinixMcpServer.Builder.build() registers it per instance when (and only when) mutate was explicitly selected.
      Parameters:
      toolsets - the selected toolsets
      Returns:
      the matching registrations, in catalog order
    • getMcpServer

      public io.modelcontextprotocol.server.McpSyncServer getMcpServer()
      Returns:
      the underlying MCP sync server
    • getContext

      public ServerContext getContext()
      Returns:
      the shared context the tool handlers execute against
    • getRegistrations

      public List<ToolRegistration> getRegistrations()
      Returns:
      every registered tool, in registration order
    • serverVersion

      public static String serverVersion()
      Resolves this server's advertised version: the jar's implementation version when running from the packaged artifact, else a development placeholder.
      Returns:
      the version string used in serverInfo
    • close

      public void close()
      Closes the MCP server gracefully and, when this instance created its own Equinix session from credentials, closes that session too.
      Specified by:
      close in interface AutoCloseable