Skip to main content

Gateway Tool Catalog

The Gateway MCP surface exposes exactly 4 tools for AI agents to discover and call published APIs. These are returned by tools/list and invoked via tools/call.


Tool overview

ToolPurpose
list_collectionsDiscover all API collections the client has access to
list_endpointsGet a flat list of all published endpoints
endpoint_detailsGet full specification for one endpoint
execute_endpointExecute a real gateway request

list_collections

Returns all active collections the client (identified by X-Client-ID + X-Profile-ID) has access to.

Input: none

Output fields per collection:

FieldTypeDescription
collection_idstringUnique identifier
namestringCollection name
descriptionstringCollection description
base_pathstringURL base path (e.g. /payments)
published_endpointsintegerNumber of published proxy endpoints

Example use: "List all APIs available to me so I can decide which to call."


list_endpoints

Returns a flat list of all published proxy endpoints across all accessible collections.

Input: none (optionally filter by collection_id)

Output fields per endpoint:

FieldTypeDescription
endpoint_idstringUnique identifier for this endpoint
collection_idstringParent collection ID
collection_namestringParent collection name
namestringEndpoint name
descriptionstringEndpoint description
pathstringFull path pattern (e.g. /payments/v1/charges)
methodsstring[]Supported HTTP methods

Example use: "Show me all endpoints I can call across all collections."


endpoint_details

Returns the full specification for a single endpoint — parameters, schemas, and examples.

Input:

FieldRequiredDescription
endpoint_idYesID from list_endpoints

Output fields:

FieldTypeDescription
path_paramsarrayPath parameter definitions with type and description
query_paramsarrayQuery parameter definitions with type, required flag, and enum values
request_schemaobjectJSON Schema (draft-07) for the request body
response_schemaobjectJSON Schema for the expected response
request_exampleobjectSample request body
response_exampleobjectSample response body

Example use: "What parameters does the POST /payments/v1/charges endpoint accept?"


execute_endpoint

Executes a real gateway request to a published endpoint. All gateway rules apply — auth, rate limits, audit logging, and workflows.

Input:

FieldRequiredDescription
endpoint_idYesID from list_endpoints
path_paramsNoObject with path parameter values
query_paramsNoObject with query parameter key-value pairs
bodyNoRequest body (JSON object)
headersNoAdditional request headers to include

Output:

FieldTypeDescription
statusintegerHTTP status code from the upstream
bodyobject/stringResponse body (JSON-parsed if applicable)
headersobjectResponse headers
isErrorbooleantrue if status code is 4xx or 5xx
latency_msintegerTotal round-trip time in milliseconds

Important limits:

  • 60-second timeout per call
  • Subject to the same rate limits and quotas as REST requests
  • Every call creates a request log entry
  • Scope is limited to collections the client's profile has access to

Example use: "Call GET /payments/v1/charges with limit=5 and return the results."