---
title: "List MCP Servers"
method: GET
path: "/v1/ai-gateways/{gatewayId}/mcp-servers"
tags: ["AI Gateway MCP Servers"]
---

# List MCP Servers

`GET /v1/ai-gateways/{gatewayId}/mcp-servers`

## Request

- Base URL: `https://global.api.konghq.com`
- URL: `https://global.api.konghq.com/v1/ai-gateways/{gatewayId}/mcp-servers`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer
  - HTTP bearer
  - HTTP bearer

Returns a list of MCP Servers configured for the AI Gateway.

## Query parameters

- `page[size]` integer
- `page[after]` string

## Response `200`

A paginated list of MCP Servers.

- object
  - `data` AIGatewayMCPServer[], required
    - union
      - object
        - `id` string, uuid, required: Contains a unique identifier used for this resource.
        - `created_at` string, date-time, required: An ISO-8601 timestamp representation of entity creation date.
        - `updated_at` string, date-time, required: An ISO-8601 timestamp representation of entity update date.
        - `type` 'conversion-only', required
        - `config` AIGatewayMCPServerWithUpstreamNoProxyConfigNoServerConfig, required: Routing, logging, and request body size limits for the MCP Server.
          - `route` union
            - object: Configuration for an AI Gateway route.
              - …
            - object: Configuration for an AI Gateway route.
              - …
            - object: Configuration for an AI Gateway route.
              - …
            - object: Configuration for an AI Gateway route.
              - …
          - `logging` object: Configuration for AI Gateway logging.
            - `payloads` boolean
            - `audits` boolean
          - `max_request_body_size` integer: Maximum size of request body to parse. Set to 0 for unlimited.
          - `url` string, uri, required: Helper field to set protocol, host, port and path of the upstream service using a URL. This is the same as a Kong Gateway Service URL: ${scheme}://${host}:${port}/${path}
          - `upstream` AIGatewayUpstreamConfig: Configuration applied when proxying to the upstream service, including authentication.
            - `auth` AIGatewayUpstreamAuthAWS: AWS IAM (SigV4) authentication for the upstream service.
              - …
        - `tools` AIGatewayMCPConversionTool[], required: List of tools exposed by this MCP Server.
          - `access` AIGatewayMCPToolAccess: Access-control rules for a tool.
            - `acls` AIGatewayMCPACLs: Access control rules for MCP resources. Configure `allow`, `deny`, or both.
              - …
          - `annotations` AIGatewayMCPToolAnnotations
            - `destructive_hint` boolean: If true, the tool may perform destructive updates
            - `idempotent_hint` boolean: If true, repeated calls with same args have no additional effect
            - `open_world_hint` boolean: If true, tool interacts with external entities
            - `read_only_hint` boolean: If true, the tool does not modify its environment
            - `title` string: Human-readable title for the tool
          - `description` string, required: A description of what the tool does.
          - `name` string, required: The MCP tool name. In upstream-server mode, it also matches the remote MCP Server tool whose metadata this entry overrides.
          - `headers` AIGatewayMCPToolHeaders: The headers of the exported API. By default, Kong will extract the headers from API configuration. If the configured headers are not exactly matched, this field is required.
          - `host` string: The host used when forwarding the request to the upstream API. By default, Kong will extract the host from API configuration. If the configured host is wildcard, this field is required.
          - `method` 'DELETE' | 'GET' | 'PATCH' | 'POST' | 'PUT', required: The HTTP method used when forwarding the request to the upstream API.
          - `path` string: The path of the exported API. Always treated as relative to the path component of `config.url` and simply concatenated onto it — a leading `/` has no special "absolute path" meaning. If this tool's `host` or `scheme` overrides the source's URL, `path` is instead relative to the root of that overridden host, since there is no URL path from a different host to append to. By default, Kong will extract the path from API configuration.
          - `query` AIGatewayMCPToolQuery: The query arguments of the exported API. If the generated query arguments are not exactly matched, this field is required.
          - `request_body` AIGatewayMCPToolRequestBody: The API requestBody specification defined in OpenAPI JSON format. For example, '{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"color":{"type":"array","items":{"type":"string"}}}}}}}'. See https://swagger.io/docs/specification/v3_0/describing-request-body/describing-request-body/ for more details. Note that `$ref` is not supported.
          - `responses` AIGatewayMCPToolResponses: The API responses specification defined in OpenAPI JSON format. This specification will be used to validate the upstream response and map it back to the structuredOutput. For example, '{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"string"}}}}}}}}'. See https://swagger.io/docs/specification/v3_0/describing-responses/ for more details. Only one non-error (status code < 400) response is supported. Note that `$ref` is not supported.
          - `scheme` 'http' | 'https': The scheme of the exported API. By default, Kong will extract the scheme from API configuration. If the configured scheme is not expected, this field can be used to override it.
          - `parameters` AIGatewayMCPToolParameter[]
            - `name` string, required: The name of the parameter.
            - `in` 'query' | 'path' | 'header' | 'body', required: The location of the parameter in the request.
            - `description` string: A description of the parameter.
            - `required` boolean: Whether this parameter is required.
            - `schema` object: JSON Schema definition for the parameter value. See https://swagger.io/docs/specification/v3_0/describing-parameters/#schema-vs-content for more details.
        - `display_name` string, required: The display name for the MCP Server.
        - `name` string, required: Identifier for an AI Gateway entity. In some cases, this may be the entity name or ID.
        - `enabled` boolean: Whether the MCP Server is enabled.
        - `policies` string[]: List of policy references.
        - `labels` PublicLabels: Public labels store information about an entity that can be used for filtering a list of objects. Public labels are intended to store **PUBLIC** metadata. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
        - `managed_by` ManagedBy: Stores information about what manages this entity, such as the tool or system responsible for its lifecycle (for example, `terraform`). Keys must be 1–63 characters long and start with an alphanumeric character.
      - object
        - `id` string, uuid, required: Contains a unique identifier used for this resource.
        - `created_at` string, date-time, required: An ISO-8601 timestamp representation of entity creation date.
        - `updated_at` string, date-time, required: An ISO-8601 timestamp representation of entity update date.
        - `type` 'conversion-listener', required
        - `config` object, required: Server-side configuration specific to modes where Kong answers as the MCP server.
          - `route` union
            - object: Configuration for an AI Gateway route.
              - …
            - object: Configuration for an AI Gateway route.
              - …
            - object: Configuration for an AI Gateway route.
              - …
            - object: Configuration for an AI Gateway route.
              - …
          - `logging` object: Configuration for AI Gateway logging.
            - `payloads` boolean
            - `audits` boolean
          - `max_request_body_size` integer: Maximum size of request body to parse. Set to 0 for unlimited.
          - `server` AIGatewayMCPServerServerConfigBase: Server-side configuration for the MCP Server.
            - `forward_client_headers` boolean: Whether to forward the client request headers to the upstream server when calling the tools.
            - `session` object: Enable managed session when Kong responds as MCP server in listener, conversion-listener, or upstream-server modes. This doesn't affect the passthrough-listener mode as the state in that mode is maintained by the upstream MCP servers.
              - …
            - `timeout` integer: The timeout for calling the tools in milliseconds.
          - `url` string, uri, required: Helper field to set protocol, host, port and path of the upstream service using a URL. This is the same as a Kong Gateway Service URL: ${scheme}://${host}:${port}/${path}
          - `upstream` AIGatewayUpstreamConfig: Configuration applied when proxying to the upstream service, including authentication.
            - `auth` AIGatewayUpstreamAuthAWS: AWS IAM (SigV4) authentication for the upstream service.
              - …
          - `allowed_versions` string[]: The MCP protocol revisions this server accepts. Leave unset to accept every revision Kong implements, which is the default. When set, `server/discover` advertises exactly this list and a request declaring anything else is rejected. Listing only per-request revisions refuses handshake clients. **Requires a minimum runtime version of `2.1`**.
          - `cache` object: Cache hints Kong emits on the cacheable operations it serves. Only clients on a protocol revision that defines them receive them. **Requires a minimum runtime version of `2.1`**.
            - `tools_list` AIGatewayMCPServerCacheHint: A cache hint Kong emits on a cacheable operation it serves.
              - …
            - `discover` AIGatewayMCPServerCacheHint: A cache hint Kong emits on a cacheable operation it serves.
              - …
        - `tools` AIGatewayMCPConversionTool[], required: List of tools exposed by this MCP Server. Each tool's `path`, `method`, and `host` describe the backend HTTP operation on the upstream selected by `config.url` — they do not need to match the public MCP Route configured in `config.route`.
          - `access` AIGatewayMCPToolAccess: Access-control rules for a tool.
            - `acls` AIGatewayMCPACLs: Access control rules for MCP resources. Configure `allow`, `deny`, or both.
              - …
          - `annotations` AIGatewayMCPToolAnnotations
            - `destructive_hint` boolean: If true, the tool may perform destructive updates
            - `idempotent_hint` boolean: If true, repeated calls with same args have no additional effect
            - `open_world_hint` boolean: If true, tool interacts with external entities
            - `read_only_hint` boolean: If true, the tool does not modify its environment
            - `title` string: Human-readable title for the tool
          - `description` string, required: A description of what the tool does.
          - `name` string, required: The MCP tool name. In upstream-server mode, it also matches the remote MCP Server tool whose metadata this entry overrides.
          - `headers` AIGatewayMCPToolHeaders: The headers of the exported API. By default, Kong will extract the headers from API configuration. If the configured headers are not exactly matched, this field is required.
          - `host` string: The host used when forwarding the request to the upstream API. By default, Kong will extract the host from API configuration. If the configured host is wildcard, this field is required.
          - `method` 'DELETE' | 'GET' | 'PATCH' | 'POST' | 'PUT', required: The HTTP method used when forwarding the request to the upstream API.
          - `path` string: The path of the exported API. Always treated as relative to the path component of `config.url` and simply concatenated onto it — a leading `/` has no special "absolute path" meaning. If this tool's `host` or `scheme` overrides the source's URL, `path` is instead relative to the root of that overridden host, since there is no URL path from a different host to append to. By default, Kong will extract the path from API configuration.
          - `query` AIGatewayMCPToolQuery: The query arguments of the exported API. If the generated query arguments are not exactly matched, this field is required.
          - `request_body` AIGatewayMCPToolRequestBody: The API requestBody specification defined in OpenAPI JSON format. For example, '{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"color":{"type":"array","items":{"type":"string"}}}}}}}'. See https://swagger.io/docs/specification/v3_0/describing-request-body/describing-request-body/ for more details. Note that `$ref` is not supported.
          - `responses` AIGatewayMCPToolResponses: The API responses specification defined in OpenAPI JSON format. This specification will be used to validate the upstream response and map it back to the structuredOutput. For example, '{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"string"}}}}}}}}'. See https://swagger.io/docs/specification/v3_0/describing-responses/ for more details. Only one non-error (status code < 400) response is supported. Note that `$ref` is not supported.
          - `scheme` 'http' | 'https': The scheme of the exported API. By default, Kong will extract the scheme from API configuration. If the configured scheme is not expected, this field can be used to override it.
          - `parameters` AIGatewayMCPToolParameter[]
            - `name` string, required: The name of the parameter.
            - `in` 'query' | 'path' | 'header' | 'body', required: The location of the parameter in the request.
            - `description` string: A description of the parameter.
            - `required` boolean: Whether this parameter is required.
            - `schema` object: JSON Schema definition for the parameter value. See https://swagger.io/docs/specification/v3_0/describing-parameters/#schema-vs-content for more details.
        - `access` union
          - AIGatewayMCPServerListenerConsumer: Auth strategy and OAuth 2.0 Protected Resource Metadata configuration for granting access to an MCP server.
            - `acl_attribute_type` 'consumer', required: The type of attributes that ACL is evaluated with.
            - `acls` AIGatewayMCPACLs: Access control rules for MCP resources. Configure `allow`, `deny`, or both.
              - …
            - `default_tool_acls` AIGatewayMCPACLs: Access control rules for MCP resources. Configure `allow`, `deny`, or both.
              - …
            - `identity_providers` AIGatewayIdentityProviderReference[]: List of identity providers for granting access to the MCP server. At most 1 identity provider of each identity provider type can be referenced. Deprecated: use `auth_strategies` instead. The two are mutually exclusive.
            - `auth_strategies` AIGatewayAuthStrategyReference[]: List of auth strategies for granting access to the MCP server. At most 1 auth strategy of each auth strategy type can be referenced.
            - `metadata` AIGatewayMCPServerProtectedResourceMetadata: OAuth 2.0 Protected Resource Metadata (RFC 9728) advertised for this MCP server, allowing clients to discover the authorization servers that protect it.
              - …
          - AIGatewayMCPServerListenerOauth: Auth strategy and OAuth 2.0 Protected Resource Metadata configuration for granting access to an MCP server.
            - `acl_attribute_type` 'oauth_access_token', required: The type of attributes that ACL is evaluated with.
            - `access_token_claim_field` string, required: The claim in the OAuth2 access token to use as the subject for ACL evaluation when `acl_attribute_type` is set to `oauth_access_token`. Nested claim can be fetched by using a jq filter starts with dot, e.g., “.user.email”: https://jqlang.org/manual/#object-identifier-index
            - `acls` AIGatewayMCPACLs: Access control rules for MCP resources. Configure `allow`, `deny`, or both.
              - …
            - `default_tool_acls` AIGatewayMCPACLs: Access control rules for MCP resources. Configure `allow`, `deny`, or both.
              - …
            - `identity_providers` AIGatewayIdentityProviderReference[]: List of identity providers for granting access to the MCP server. At most 1 identity provider of each identity provider type can be referenced. Deprecated: use `auth_strategies` instead. The two are mutually exclusive.
            - `auth_strategies` AIGatewayAuthStrategyReference[]: List of auth strategies for granting access to the MCP server. At most 1 auth strategy of each auth strategy type can be referenced.
            - `metadata` AIGatewayMCPServerProtectedResourceMetadata: OAuth 2.0 Protected Resource Metadata (RFC 9728) advertised for this MCP server, allowing clients to discover the authorization servers that protect it.
              - …
        - `display_name` string, required: The display name for the MCP Server.
        - `name` string, required: Identifier for an AI Gateway entity. In some cases, this may be the entity name or ID.
        - `enabled` boolean: Whether the MCP Server is enabled.
        - `policies` string[]: List of policy references.
        - `labels` PublicLabels: Public labels store information about an entity that can be used for filtering a list of objects. Public labels are intended to store **PUBLIC** metadata. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
        - `managed_by` ManagedBy: Stores information about what manages this entity, such as the tool or system responsible for its lifecycle (for example, `terraform`). Keys must be 1–63 characters long and start with an alphanumeric character.
      - object
        - `id` string, uuid, required: Contains a unique identifier used for this resource.
        - `created_at` string, date-time, required: An ISO-8601 timestamp representation of entity creation date.
        - `updated_at` string, date-time, required: An ISO-8601 timestamp representation of entity update date.
        - `type` 'listener', required
        - `config` object, required: Server-side configuration specific to modes where Kong answers as the MCP server.
          - `route` union
            - object: Configuration for an AI Gateway route.
              - …
            - object: Configuration for an AI Gateway route.
              - …
            - object: Configuration for an AI Gateway route.
              - …
            - object: Configuration for an AI Gateway route.
              - …
          - `logging` object: Configuration for AI Gateway logging.
            - `payloads` boolean
            - `audits` boolean
          - `max_request_body_size` integer: Maximum size of request body to parse. Set to 0 for unlimited.
          - `server` AIGatewayMCPServerServerConfigBase: Server-side configuration for the MCP Server.
            - `forward_client_headers` boolean: Whether to forward the client request headers to the upstream server when calling the tools.
            - `session` object: Enable managed session when Kong responds as MCP server in listener, conversion-listener, or upstream-server modes. This doesn't affect the passthrough-listener mode as the state in that mode is maintained by the upstream MCP servers.
              - …
            - `timeout` integer: The timeout for calling the tools in milliseconds.
          - `allowed_versions` string[]: The MCP protocol revisions this server accepts. Leave unset to accept every revision Kong implements, which is the default. When set, `server/discover` advertises exactly this list and a request declaring anything else is rejected. Listing only per-request revisions refuses handshake clients. **Requires a minimum runtime version of `2.1`**.
          - `cache` object: Cache hints Kong emits on the cacheable operations it serves. Only clients on a protocol revision that defines them receive them. **Requires a minimum runtime version of `2.1`**.
            - `tools_list` AIGatewayMCPServerCacheHint: A cache hint Kong emits on a cacheable operation it serves.
              - …
            - `discover` AIGatewayMCPServerCacheHint: A cache hint Kong emits on a cacheable operation it serves.
              - …
        - `sources` AIGatewayEntityIdentifier[], required: The explicit list of source MCP Servers whose tools this listener exposes. Each entry is the immutable `name` of a `conversion-only` (toolset) or `upstream-server` (third-party MCP server) MCP Server in the same AI Gateway. All of the referenced source's tools are exposed.
        - `access` union
          - AIGatewayMCPServerListenerConsumer: Auth strategy and OAuth 2.0 Protected Resource Metadata configuration for granting access to an MCP server.
            - `acl_attribute_type` 'consumer', required: The type of attributes that ACL is evaluated with.
            - `acls` AIGatewayMCPACLs: Access control rules for MCP resources. Configure `allow`, `deny`, or both.
              - …
            - `default_tool_acls` AIGatewayMCPACLs: Access control rules for MCP resources. Configure `allow`, `deny`, or both.
              - …
            - `identity_providers` AIGatewayIdentityProviderReference[]: List of identity providers for granting access to the MCP server. At most 1 identity provider of each identity provider type can be referenced. Deprecated: use `auth_strategies` instead. The two are mutually exclusive.
            - `auth_strategies` AIGatewayAuthStrategyReference[]: List of auth strategies for granting access to the MCP server. At most 1 auth strategy of each auth strategy type can be referenced.
            - `metadata` AIGatewayMCPServerProtectedResourceMetadata: OAuth 2.0 Protected Resource Metadata (RFC 9728) advertised for this MCP server, allowing clients to discover the authorization servers that protect it.
              - …
          - AIGatewayMCPServerListenerOauth: Auth strategy and OAuth 2.0 Protected Resource Metadata configuration for granting access to an MCP server.
            - `acl_attribute_type` 'oauth_access_token', required: The type of attributes that ACL is evaluated with.
            - `access_token_claim_field` string, required: The claim in the OAuth2 access token to use as the subject for ACL evaluation when `acl_attribute_type` is set to `oauth_access_token`. Nested claim can be fetched by using a jq filter starts with dot, e.g., “.user.email”: https://jqlang.org/manual/#object-identifier-index
            - `acls` AIGatewayMCPACLs: Access control rules for MCP resources. Configure `allow`, `deny`, or both.
              - …
            - `default_tool_acls` AIGatewayMCPACLs: Access control rules for MCP resources. Configure `allow`, `deny`, or both.
              - …
            - `identity_providers` AIGatewayIdentityProviderReference[]: List of identity providers for granting access to the MCP server. At most 1 identity provider of each identity provider type can be referenced. Deprecated: use `auth_strategies` instead. The two are mutually exclusive.
            - `auth_strategies` AIGatewayAuthStrategyReference[]: List of auth strategies for granting access to the MCP server. At most 1 auth strategy of each auth strategy type can be referenced.
            - `metadata` AIGatewayMCPServerProtectedResourceMetadata: OAuth 2.0 Protected Resource Metadata (RFC 9728) advertised for this MCP server, allowing clients to discover the authorization servers that protect it.
              - …
        - `display_name` string, required: The display name for the MCP Server.
        - `name` string, required: Identifier for an AI Gateway entity. In some cases, this may be the entity name or ID.
        - `enabled` boolean: Whether the MCP Server is enabled.
        - `policies` string[]: List of policy references.
        - `labels` PublicLabels: Public labels store information about an entity that can be used for filtering a list of objects. Public labels are intended to store **PUBLIC** metadata. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
        - `managed_by` ManagedBy: Stores information about what manages this entity, such as the tool or system responsible for its lifecycle (for example, `terraform`). Keys must be 1–63 characters long and start with an alphanumeric character.
      - object
        - `id` string, uuid, required: Contains a unique identifier used for this resource.
        - `created_at` string, date-time, required: An ISO-8601 timestamp representation of entity creation date.
        - `updated_at` string, date-time, required: An ISO-8601 timestamp representation of entity update date.
        - `type` 'passthrough-listener', required
        - `config` AIGatewayMCPServerWithUpstreamConfig, required: Routing, logging, and server configuration for the MCP Server.
          - `route` union
            - object: Configuration for an AI Gateway route.
              - …
            - object: Configuration for an AI Gateway route.
              - …
            - object: Configuration for an AI Gateway route.
              - …
            - object: Configuration for an AI Gateway route.
              - …
          - `logging` object: Configuration for AI Gateway logging.
            - `payloads` boolean
            - `audits` boolean
          - `max_request_body_size` integer: Maximum size of request body to parse. Set to 0 for unlimited.
          - `server` object: Server-side configuration for the MCP Server.
            - `forward_client_headers` boolean: Whether to forward the client request headers to the upstream server when calling the tools.
            - `session` object: Enable managed session when Kong responds as MCP server in listener, conversion-listener, or upstream-server modes. This doesn't affect the passthrough-listener mode as the state in that mode is maintained by the upstream MCP servers.
              - …
            - `timeout` integer: The timeout for calling the tools in milliseconds.
          - `url` string, uri, required: Helper field to set protocol, host, port and path of the upstream service using a URL. This is the same as a Kong Gateway Service URL: ${scheme}://${host}:${port}/${path}
          - `upstream` AIGatewayUpstreamConfig: Configuration applied when proxying to the upstream service, including authentication.
            - `auth` AIGatewayUpstreamAuthAWS: AWS IAM (SigV4) authentication for the upstream service.
              - …
          - `proxy` AIGatewayProxyConfig: HTTP/HTTPS proxy configuration for outbound requests to the upstream AI provider.
            - `http_proxy` object: HTTP proxy server to route plaintext outbound requests through.
              - …
            - `https_proxy` object: HTTPS proxy server to route TLS outbound requests through.
              - …
            - `proxy_scheme` 'http': The proxy scheme to use when connecting to the proxy server.
            - `auth` object: Credentials used to authenticate to the proxy server.
              - …
            - `no_proxy` string: Comma-separated list of hosts that should not be proxied.
        - `tools` AIGatewayMCPPassthroughTool[]: Per-tool access-control overrides for tools advertised by the remote MCP Server. Each entry is matched to a remote tool by `name`; only its access-control rules are applied.
          - `access` AIGatewayMCPToolAccess, required: Access-control rules for a tool.
            - `acls` AIGatewayMCPACLs: Access control rules for MCP resources. Configure `allow`, `deny`, or both.
              - …
          - `name` string, required: Tool identifier used to match remote MCP Server tools for ACL enforcement.
        - `access` union
          - AIGatewayMCPServerListenerConsumer: Auth strategy and OAuth 2.0 Protected Resource Metadata configuration for granting access to an MCP server.
            - `acl_attribute_type` 'consumer', required: The type of attributes that ACL is evaluated with.
            - `acls` AIGatewayMCPACLs: Access control rules for MCP resources. Configure `allow`, `deny`, or both.
              - …
            - `default_tool_acls` AIGatewayMCPACLs: Access control rules for MCP resources. Configure `allow`, `deny`, or both.
              - …
            - `identity_providers` AIGatewayIdentityProviderReference[]: List of identity providers for granting access to the MCP server. At most 1 identity provider of each identity provider type can be referenced. Deprecated: use `auth_strategies` instead. The two are mutually exclusive.
            - `auth_strategies` AIGatewayAuthStrategyReference[]: List of auth strategies for granting access to the MCP server. At most 1 auth strategy of each auth strategy type can be referenced.
            - `metadata` AIGatewayMCPServerProtectedResourceMetadata: OAuth 2.0 Protected Resource Metadata (RFC 9728) advertised for this MCP server, allowing clients to discover the authorization servers that protect it.
              - …
          - AIGatewayMCPServerListenerOauth: Auth strategy and OAuth 2.0 Protected Resource Metadata configuration for granting access to an MCP server.
            - `acl_attribute_type` 'oauth_access_token', required: The type of attributes that ACL is evaluated with.
            - `access_token_claim_field` string, required: The claim in the OAuth2 access token to use as the subject for ACL evaluation when `acl_attribute_type` is set to `oauth_access_token`. Nested claim can be fetched by using a jq filter starts with dot, e.g., “.user.email”: https://jqlang.org/manual/#object-identifier-index
            - `acls` AIGatewayMCPACLs: Access control rules for MCP resources. Configure `allow`, `deny`, or both.
              - …
            - `default_tool_acls` AIGatewayMCPACLs: Access control rules for MCP resources. Configure `allow`, `deny`, or both.
              - …
            - `identity_providers` AIGatewayIdentityProviderReference[]: List of identity providers for granting access to the MCP server. At most 1 identity provider of each identity provider type can be referenced. Deprecated: use `auth_strategies` instead. The two are mutually exclusive.
            - `auth_strategies` AIGatewayAuthStrategyReference[]: List of auth strategies for granting access to the MCP server. At most 1 auth strategy of each auth strategy type can be referenced.
            - `metadata` AIGatewayMCPServerProtectedResourceMetadata: OAuth 2.0 Protected Resource Metadata (RFC 9728) advertised for this MCP server, allowing clients to discover the authorization servers that protect it.
              - …
        - `display_name` string, required: The display name for the MCP Server.
        - `name` string, required: Identifier for an AI Gateway entity. In some cases, this may be the entity name or ID.
        - `enabled` boolean: Whether the MCP Server is enabled.
        - `policies` string[]: List of policy references.
        - `labels` PublicLabels: Public labels store information about an entity that can be used for filtering a list of objects. Public labels are intended to store **PUBLIC** metadata. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
        - `managed_by` ManagedBy: Stores information about what manages this entity, such as the tool or system responsible for its lifecycle (for example, `terraform`). Keys must be 1–63 characters long and start with an alphanumeric character.
      - object
        - `id` string, uuid, required: Contains a unique identifier used for this resource.
        - `created_at` string, date-time, required: An ISO-8601 timestamp representation of entity creation date.
        - `updated_at` string, date-time, required: An ISO-8601 timestamp representation of entity update date.
        - `type` 'upstream-server', required
        - `config` AIGatewayMCPServerUpstreamServerConfig, required: Routing, logging, and server configuration for the MCP Server.
          - `route` union
            - object: Configuration for an AI Gateway route.
              - …
            - object: Configuration for an AI Gateway route.
              - …
            - object: Configuration for an AI Gateway route.
              - …
            - object: Configuration for an AI Gateway route.
              - …
          - `logging` object: Configuration for AI Gateway logging.
            - `payloads` boolean
            - `audits` boolean
          - `max_request_body_size` integer: Maximum size of request body to parse. Set to 0 for unlimited.
          - `server` AIGatewayMCPServerUpstreamServerServerConfig: Server-side configuration specific to `upstream-server` mode.
            - `forward_client_headers` boolean: Whether to forward the client request headers to the upstream server when calling the tools.
            - `session` object: Enable managed session when Kong responds as MCP server in listener, conversion-listener, or upstream-server modes. This doesn't affect the passthrough-listener mode as the state in that mode is maintained by the upstream MCP servers.
              - …
            - `timeout` integer: The timeout for calling the tools in milliseconds.
            - `preserve_upstream_tool_names` boolean: If enabled, the original upstream tool names are preserved as-is when Kong acts as an MCP server. If disabled (`false`), the service name will be prepended to the MCP tool names to avoid name collisions when multiple services are used.
            - `tools_list_auth` union: Configuration for an Upstream Server's MCP Server Tools' Authentication.
              - …
            - `upstream_protocol_version` '2026-07-28' | '2025-11-25' | '2025-06-18' | '2025-03-26': The MCP protocol revision Kong speaks to the upstream MCP server. Leave unset to negotiate a handshake revision with an `initialize` exchange, which is the default. Set a per-request revision to reach an upstream that answers no handshake and mints no session. **Requires a minimum runtime version of `2.1`**.
          - `url` string, uri, required: Helper field to set protocol, host, port and path of the upstream service using a URL. This is the same as a Kong Gateway Service URL: ${scheme}://${host}:${port}/${path}
          - `upstream` AIGatewayUpstreamConfig: Configuration applied when proxying to the upstream service, including authentication.
            - `auth` AIGatewayUpstreamAuthAWS: AWS IAM (SigV4) authentication for the upstream service.
              - …
          - `tools_cache_ttl_seconds` integer, required: The time-to-live (TTL) for the upstream tools cache in seconds. Set to `0` to refresh on every client call.
        - `tools` AIGatewayMCPUpstreamTool[]: List of tools exposed by this MCP Server.
          - `access` AIGatewayMCPToolAccess: Access-control rules for a tool.
            - `acls` AIGatewayMCPACLs: Access control rules for MCP resources. Configure `allow`, `deny`, or both.
              - …
          - `annotations` AIGatewayMCPToolAnnotations
            - `destructive_hint` boolean: If true, the tool may perform destructive updates
            - `idempotent_hint` boolean: If true, repeated calls with same args have no additional effect
            - `open_world_hint` boolean: If true, tool interacts with external entities
            - `read_only_hint` boolean: If true, the tool does not modify its environment
            - `title` string: Human-readable title for the tool
          - `description` string: A description of what the tool does.
          - `name` string, required: The MCP tool name. In upstream-server mode, it also matches the remote MCP Server tool whose metadata this entry overrides.
          - `input_schema` object, nullable: The entire `inputSchema` section for the tool. Overrides the upstream server's `inputSchema` for the same tool name, if present.
          - `output_schema` object, nullable: The entire `outputSchema` section for the tool. Overrides the upstream server's `outputSchema` for the same tool name, if present.
        - `display_name` string, required: The display name for the MCP Server.
        - `name` string, required: Identifier for an AI Gateway entity. In some cases, this may be the entity name or ID.
        - `enabled` boolean: Whether the MCP Server is enabled.
        - `policies` string[]: List of policy references.
        - `labels` PublicLabels: Public labels store information about an entity that can be used for filtering a list of objects. Public labels are intended to store **PUBLIC** metadata. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
        - `managed_by` ManagedBy: Stores information about what manages this entity, such as the tool or system responsible for its lifecycle (for example, `terraform`). Keys must be 1–63 characters long and start with an alphanumeric character.
  - `meta` CursorMeta, required: Pagination metadata.
    - `page` CursorMetaPage, required
      - `first` string, path: URI to the first page
      - `last` string, path: URI to the last page
      - `next` string, path, nullable, required: URI to the next page
      - `previous` string, path, nullable, required: URI to the previous page
      - `size` number, required: Requested page size

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `429`: Too Many Requests

## Changes

- **2026-10-05** `1efb48111817`: 3 info
  - the `data/items/oneOf[subschema #1: AIGatewayMCPServerConversionOnlyResponse]/tools/items/name` response's property pattern `^[A-Za-z0-9._-]+$` was added for the status `200`
  - the `data/items/oneOf[subschema #2: AIGatewayMCPServerConversionListenerResponse]/tools/items/name` response's property pattern `^[A-Za-z0-9._-]+$` was added for the status `200`
  - the `data/items/oneOf[subschema #5: AIGatewayMCPServerUpstreamServerResponse]/tools/items/name` response's property pattern `^[A-Za-z0-9._-]+$` was added for the status `200`
- **2026-09-25** `68d43091b84d`: 2 warning
  - added the new `403.00` enum value to the `status` response property for the response status `403`
  - added the new `404.00` enum value to the `status` response property for the response status `404`
- …earlier changes not shown

[Operation history](https://skmtc.dev/kong/apis/konnect-api-go-sdk/changes/v1/ai-gateways/:gatewayId/mcp-servers/get.md)

---

[API](https://skmtc.dev/kong/apis/konnect-api-go-sdk.md) · [All operations](https://skmtc.dev/kong/apis/konnect-api-go-sdk/llms.txt) · [OpenAPI document](https://skmtc.dev/kong/apis/konnect-api-go-sdk/revisions/7aab863a6daa?raw)
