check_control_plane_group_membership
Verify control plane group membership in Kong Konnect to identify group associations and configuration conflicts.
Instructions
Check if a control plane is a member of any group.
INPUT:
controlPlaneId: String - ID of the control plane to check
OUTPUT:
controlPlaneId: String - ID of the control plane that was checked
groupMembership: Object - Membership information including:
isMember: Boolean - Whether the control plane is a member of any group
groupId: String - ID of the group this control plane belongs to (if any)
groupName: String - Name of the group this control plane belongs to
status: String - Membership status (OK, CONFLICT, etc.)
message: String - Status message
conflicts: Array - List of configuration conflicts if any
relatedTools: Array - List of related tools for group management
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| controlPlaneId | Yes | Control plane ID to check (can be obtained from list-control-planes tool) |
Implementation Reference
- src/operations/controlPlanes.ts:157-184 (handler)The main handler function that executes the tool logic: calls the Kong API to check group membership and transforms the raw response into a structured format with additional guidance.export async function checkControlPlaneGroupMembership( api: KongApi, controlPlaneId: string ) { try { const result = await api.checkControlPlaneGroupMembership(controlPlaneId); // Transform the response to have consistent field names const membership = result.data; return { controlPlaneId: controlPlaneId, groupMembership: { isMember: membership.is_member, groupId: membership.group_id, groupName: membership.group_name, status: membership.status, message: membership.message, conflicts: membership.conflicts || [] }, relatedTools: [ "Use list-control-plane-group-memberships to see all members of this group", "Use get-control-plane to get more details about this control plane" ] }; } catch (error) { throw error; } }
- src/parameters.ts:161-164 (schema)Zod schema defining the required input parameter: controlPlaneId (string).export const checkControlPlaneGroupMembershipParameters = () => z.object({ controlPlaneId: z.string() .describe("Control plane ID to check (can be obtained from list-control-planes tool)"), });
- src/tools.ts:88-94 (registration)Tool object registration providing method name, display name, dynamic description (prompt), parameters schema reference, and category.{ method: "check_control_plane_group_membership", name: "Check Control Plane Group Membership", description: prompts.checkControlPlaneGroupMembershipPrompt(), parameters: parameters.checkControlPlaneGroupMembershipParameters(), category: "control_planes" }
- src/index.ts:140-145 (registration)MCP server dispatch logic that routes tool calls to the specific handler function.case "check_control_plane_group_membership": result = await controlPlanes.checkControlPlaneGroupMembership( this.api, args.controlPlaneId ); break;
- src/api.ts:147-149 (helper)Low-level API client wrapper that performs the actual HTTP request to the Kong Konnect API endpoint for group membership status.async checkControlPlaneGroupMembership(controlPlaneId: string): Promise<any> { return this.kongRequest<any>(`/control-planes/${controlPlaneId}/group-member-status`); }