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
| Tool | Purpose |
|---|---|
list_collections | Discover all API collections the client has access to |
list_endpoints | Get a flat list of all published endpoints |
endpoint_details | Get full specification for one endpoint |
execute_endpoint | Execute 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:
| Field | Type | Description |
|---|---|---|
collection_id | string | Unique identifier |
name | string | Collection name |
description | string | Collection description |
base_path | string | URL base path (e.g. /payments) |
published_endpoints | integer | Number 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:
| Field | Type | Description |
|---|---|---|
endpoint_id | string | Unique identifier for this endpoint |
collection_id | string | Parent collection ID |
collection_name | string | Parent collection name |
name | string | Endpoint name |
description | string | Endpoint description |
path | string | Full path pattern (e.g. /payments/v1/charges) |
methods | string[] | 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:
| Field | Required | Description |
|---|---|---|
endpoint_id | Yes | ID from list_endpoints |
Output fields:
| Field | Type | Description |
|---|---|---|
path_params | array | Path parameter definitions with type and description |
query_params | array | Query parameter definitions with type, required flag, and enum values |
request_schema | object | JSON Schema (draft-07) for the request body |
response_schema | object | JSON Schema for the expected response |
request_example | object | Sample request body |
response_example | object | Sample 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:
| Field | Required | Description |
|---|---|---|
endpoint_id | Yes | ID from list_endpoints |
path_params | No | Object with path parameter values |
query_params | No | Object with query parameter key-value pairs |
body | No | Request body (JSON object) |
headers | No | Additional request headers to include |
Output:
| Field | Type | Description |
|---|---|---|
status | integer | HTTP status code from the upstream |
body | object/string | Response body (JSON-parsed if applicable) |
headers | object | Response headers |
isError | boolean | true if status code is 4xx or 5xx |
latency_ms | integer | Total 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."
Related docs
- MCP Gateway — transport, session management, and quickstart
- Setup Auth — configure client credentials
- Security and Limits — rate limits and scope
- Management Tool Catalog — tools for platform configuration