Class ToolRegistration

java.lang.Object
com.eqixiac.equinix.mcp.server.ToolRegistration

public class ToolRegistration extends Object
One complete MCP tool definition: name, description, JSON input/output schema, behavior annotations, owning Toolset, and the ToolHandler that executes it.

This is the server's registration seam. The built-in catalog is expressed as ToolRegistrations, and additional tools - notably the Safe Mutation Broker's dry-run-first two-phase mutation tools - plug in through the very same type via EquinixMcpServer.builder().additionalTools(...). Nothing about the built-in tools is special: the server converts every registration identically.

Conventions:

  • name is domain-prefixed snake_case (design_estimate_tco);
  • inputSchema / outputSchema are plain JSON-Schema maps (2020-12 dialect). Schema descriptions are written for the calling LLM - they are prompts, not documentation footnotes;
  • annotations are honest: readOnly for tools that change no state anywhere (a dryRun=true validation request changes none), openWorld for tools that send requests to live remote services - the Equinix APIs, cloud-provider pricing APIs, PeeringDB - and false only for tools that work on this process's own data (the plan store, bundled catalogs). Tools that create billable resources say so in their title and description.
  • Constructor Details

    • ToolRegistration

      public ToolRegistration()