---
title: "List Skills by Control Plane"
method: GET
path: "/v1/mcp-cp/{controlPlaneId}/mcp-servers/{mcpServerId}/skills"
tags: ["Signaling APIs"]
---

# List Skills by Control Plane

`GET /v1/mcp-cp/{controlPlaneId}/mcp-servers/{mcpServerId}/skills`

## Request

- Base URL: `https://global.api.konghq.com`
- URL: `https://global.api.konghq.com/v1/mcp-cp/{controlPlaneId}/mcp-servers/{mcpServerId}/skills`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer
  - HTTP bearer
  - HTTP bearer

**Pre-release Endpoint**
This endpoint is currently in beta and is subject to change.

Separate control-plane-scoped list endpoint for KO to enumerate skills at deploy time.

## Query parameters

- `page[size]` integer
- `page[number]` integer
- `filter` object
  - `id` UuidFieldFilter: Filter using **one** of the following operators: `eq`, `oeq`, `neq`
    - `eq` string: The field exactly matches the provided value.
    - `oeq` string: The field matches any of the provided values.
    - `neq` string: The field does not match the provided value.
  - `display_name` StringFieldFilter: Filter using **one** of the following operators: `eq`, `oeq`, `neq`, `contains`, `ocontains`
    - `eq` string: The field exactly matches the provided value.
    - `contains` string: The field contains the provided value.
    - `ocontains` string: The field contains any of the provided values.
    - `oeq` string: The field matches any of the provided values.
    - `neq` string: The field does not match the provided value.
- `sort` string: The `asc` suffix is optional as the default sort order is ascending. The `desc` suffix is used to specify a descending order. Multiple sort attributes may be provided via a comma separated list. JSONPath notation may be used to specify a sub-attribute (eg: 'foo.bar desc').

## Response `200`

A response to listing skills.

- ListSkillsResponse
  - `data` Skill[], required
    - `id` string, uuid, required: The unique identifier for the skill.
    - `context_interface_id` string, uuid, required: The ID of the Context Interface this skill belongs to.
    - `name` string, required: The machine name of the skill, taken from the name declared in the frontmatter. Unique within the MCP server and cannot be set or changed by the client.
    - `display_name` string, required: The human-readable display name of the skill.
    - `description` string, required: A description of the skill.
    - `frontmatter` SkillFrontmatter, required
      - `name` string, required: The machine name declared in the frontmatter.
      - `description` string, required: A description of the skill declared in the frontmatter.
      - `license` string: License name or reference to a bundled license file.
      - `compatibility` string: Compatibility information for the skill, indicating environment requirements such as intended product, system packages, and network access.
      - `metadata` object: Arbitrary key-value metadata for the skill.
      - `allowed_tools` string: Space-separated list of pre-approved tools the skill is permitted to use.
    - `labels` Labels, required: Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_".
    - `source` SkillSource, required
      - `type` 'raw', required: The skill content was supplied inline when the skill was created or updated.
    - `status` 'pending' | 'valid' | 'invalid', required: The current validation status of the skill. `pending` means the content has not yet been read and validated.
    - `sync_status` SkillSyncStatus, required: The outcome of the most recent attempt to fetch the skill's content from its source.
      - `status` 'pending' | 'success' | 'failed', required: The state of the most recent synchronization attempt.
      - `timestamp` string, date-time, required: The time the synchronization reached this state.
      - `error_message` string, nullable: The reason the synchronization failed. `null` unless `status` is `failed`.
    - `validation_message` string, nullable, required: The reason the skill failed validation. `null` unless `status` is `invalid`.
    - `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.
  - `meta` PaginatedMeta, required: returns the pagination information
    - `page` PageMeta, required: Contains pagination query parameters and the total number of objects returned.
      - `number` number, required
      - `size` number, required
      - `total` number, required

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found

## Changes

- **2026-10-15** `7aab863a6daa`: 1 breaking, 2 warning
  - added `#/components/schemas/InvalidParameterMinimumTime, #/components/schemas/InvalidParameterMaximumTime` to the `invalid_parameters/items/` response property `oneOf` list for the response status `400`
  - added the new `key_invalid` enum value to the `invalid_parameters/items/oneOf[#/components/schemas/InvalidParameterStandard]/rule` response property for the response status `400`
  - added the new `unique` enum value to the `invalid_parameters/items/oneOf[#/components/schemas/InvalidParameterStandard]/rule` response property for the response status `400`
- **2026-10-05** `1efb48111817`: 1 info
  - the response required property `data/items/name` became read-only for the status `200`
- **2026-09-30** `de79e1192f11`: 2 info
  - api tag `Signaling APIs` added
  - api tag `Skills` removed
- **2026-09-25** `68d43091b84d`: 1 breaking, 4 warning, 3 info
  - removed the required property `data/items/source_type` from the response with the `200` status
  - added the new `400.00` enum value to the `status` response property for the response status `400`
  - 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`
  - …4 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/kong/apis/konnect-api-go-sdk/changes/v1/mcp-cp/:controlPlaneId/mcp-servers/:mcpServerId/skills/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)
