{"openapi":"3.1.0","info":{"title":"GitLab Groups (BYOK) API","version":"0.1.0","description":"GitLab Groups (BYOK) lets an AI assistant read your own GitLab Groups data through the GitLab Groups API with a key you supply (personal access token (read_api scope)). Read-only: 11 tools (list_groups, get_group, list_subgroups, list_descendant_groups, list_group_projects, list_group_members, list_shared_groups, list_shared_projects, list_group_issues, list_group_merge_requests,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-gitlab-groups.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-gitlab-groups/docs"},"termsOfService":"https://connectorbay.com/byok-gitlab-groups/terms"},"servers":[{"url":"https://byok-gitlab-groups.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-gitlab-groups/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_groups":{"post":{"operationId":"list_groups","summary":"List GitLab groups visible to the token, optionally only those you own or only top-level groups, with path, visibility a","description":"List GitLab groups visible to the token, optionally only those you own or only top-level groups, with path, visibility and creation date. Up to 100 per page. Use for \"Which GitLab groups do I own\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"search":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only groups whose name or path matches this text.","title":"Search"},"owned":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to list only groups you own.","title":"Owned"},"top_level_only":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to list only top-level groups (no subgroups).","title":"Top Level Only"},"visibility":{"anyOf":[{"enum":["private","internal","public"],"type":"string"},{"type":"null"}],"default":null,"description":"Only groups with this visibility.","title":"Visibility"},"order_by":{"anyOf":[{"enum":["name","path","id"],"type":"string"},{"type":"null"}],"default":"name","description":"Order by name (default), path or id.","title":"Order By"},"sort":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":"asc","description":"Sort direction: asc (default) or desc.","title":"Sort"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return (1 to 100).","title":"Per Page"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"list_groupsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_group":{"post":{"operationId":"get_group","summary":"Get one group by ID or path: name, description, visibility, parent, creation date and project count; the project list in","description":"Get one group by ID or path: name, description, visibility, parent, creation date and project count; the project list inside it is left out. Use for \"Describe the gitlab-org group\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"group":{"description":"Numeric group ID, or the full group path such as 'gitlab-org' or 'gitlab-org/charts' (slashes are encoded for you).","maxLength":200,"title":"Group","type":"string"},"with_projects":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"False (default here) leaves out the group's project list.","title":"With Projects"}},"required":["group"],"title":"get_groupArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_subgroups":{"post":{"operationId":"list_subgroups","summary":"List the direct subgroups of a group. Use for \"What subgroups does gitlab-org have\".","description":"List the direct subgroups of a group. Use for \"What subgroups does gitlab-org have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"group":{"description":"Numeric group ID, or the full group path such as 'gitlab-org' or 'gitlab-org/charts' (slashes are encoded for you).","maxLength":200,"title":"Group","type":"string"},"search":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only groups whose name or path matches this text.","title":"Search"},"visibility":{"anyOf":[{"enum":["private","internal","public"],"type":"string"},{"type":"null"}],"default":null,"description":"Only groups with this visibility.","title":"Visibility"},"order_by":{"anyOf":[{"enum":["name","path","id"],"type":"string"},{"type":"null"}],"default":"name","description":"Order by name (default), path or id.","title":"Order By"},"sort":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":"asc","description":"Sort direction: asc (default) or desc.","title":"Sort"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return (1 to 100).","title":"Per Page"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"required":["group"],"title":"list_subgroupsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_descendant_groups":{"post":{"operationId":"list_descendant_groups","summary":"List every subgroup below a group, at any depth. Use for \"List all groups nested anywhere under gitlab-org\".","description":"List every subgroup below a group, at any depth. Use for \"List all groups nested anywhere under gitlab-org\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"group":{"description":"Numeric group ID, or the full group path such as 'gitlab-org' or 'gitlab-org/charts' (slashes are encoded for you).","maxLength":200,"title":"Group","type":"string"},"search":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only groups whose name or path matches this text.","title":"Search"},"visibility":{"anyOf":[{"enum":["private","internal","public"],"type":"string"},{"type":"null"}],"default":null,"description":"Only groups with this visibility.","title":"Visibility"},"order_by":{"anyOf":[{"enum":["name","path","id"],"type":"string"},{"type":"null"}],"default":"name","description":"Order by name (default), path or id.","title":"Order By"},"sort":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":"asc","description":"Sort direction: asc (default) or desc.","title":"Sort"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return (1 to 100).","title":"Per Page"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"required":["group"],"title":"list_descendant_groupsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_group_projects":{"post":{"operationId":"list_group_projects","summary":"List the projects of a group, optionally including subgroups, with visibility, stars, forks, open issues and last activi","description":"List the projects of a group, optionally including subgroups, with visibility, stars, forks, open issues and last activity. Use for \"Which projects are in gitlab-org, most recently active first\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"group":{"description":"Numeric group ID, or the full group path such as 'gitlab-org' or 'gitlab-org/charts' (slashes are encoded for you).","maxLength":200,"title":"Group","type":"string"},"include_subgroups":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include projects of subgroups.","title":"Include Subgroups"},"archived":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"True for only archived, false for only active projects.","title":"Archived"},"search":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only groups whose name or path matches this text.","title":"Search"},"visibility":{"anyOf":[{"enum":["private","internal","public"],"type":"string"},{"type":"null"}],"default":null,"description":"Only groups with this visibility.","title":"Visibility"},"order_by":{"anyOf":[{"enum":["id","name","path","created_at","updated_at","last_activity_at","star_count"],"type":"string"},{"type":"null"}],"default":"created_at","description":"Order by id, name, path, created_at (default), updated_at, last_activity_at or star_count.","title":"Order By"},"sort":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":"desc","description":"Sort direction: desc (default) or asc.","title":"Sort"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return (1 to 100).","title":"Per Page"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"required":["group"],"title":"list_group_projectsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_group_members":{"post":{"operationId":"list_group_members","summary":"List the members of a group including inherited ones, with username, name, state, access level and expiry date; email ad","description":"List the members of a group including inherited ones, with username, name, state, access level and expiry date; email addresses are left out. Use for \"Who are the members of gitlab-org and what roles do they have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"group":{"description":"Numeric group ID, or the full group path such as 'gitlab-org' or 'gitlab-org/charts' (slashes are encoded for you).","maxLength":200,"title":"Group","type":"string"},"query":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only members whose name or username matches this text.","title":"Query"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return (1 to 100).","title":"Per Page"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"required":["group"],"title":"list_group_membersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_shared_groups":{"post":{"operationId":"list_shared_groups","summary":"List the groups that have been shared with a group. Use for \"Which groups are shared with gitlab-org\".","description":"List the groups that have been shared with a group. Use for \"Which groups are shared with gitlab-org\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"group":{"description":"Numeric group ID, or the full group path such as 'gitlab-org' or 'gitlab-org/charts' (slashes are encoded for you).","maxLength":200,"title":"Group","type":"string"},"search":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only groups whose name or path matches this text.","title":"Search"},"visibility":{"anyOf":[{"enum":["private","internal","public"],"type":"string"},{"type":"null"}],"default":null,"description":"Only groups with this visibility.","title":"Visibility"},"order_by":{"anyOf":[{"enum":["name","path","id"],"type":"string"},{"type":"null"}],"default":"name","description":"Order by name (default), path or id.","title":"Order By"},"sort":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":"asc","description":"Sort direction: asc (default) or desc.","title":"Sort"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return (1 to 100).","title":"Per Page"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"required":["group"],"title":"list_shared_groupsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_shared_projects":{"post":{"operationId":"list_shared_projects","summary":"List the projects that have been shared with a group. Use for \"Which projects are shared with gitlab-org\".","description":"List the projects that have been shared with a group. Use for \"Which projects are shared with gitlab-org\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"group":{"description":"Numeric group ID, or the full group path such as 'gitlab-org' or 'gitlab-org/charts' (slashes are encoded for you).","maxLength":200,"title":"Group","type":"string"},"search":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only groups whose name or path matches this text.","title":"Search"},"visibility":{"anyOf":[{"enum":["private","internal","public"],"type":"string"},{"type":"null"}],"default":null,"description":"Only groups with this visibility.","title":"Visibility"},"order_by":{"anyOf":[{"enum":["id","name","path","created_at","updated_at","last_activity_at","star_count"],"type":"string"},{"type":"null"}],"default":"created_at","description":"Order by id, name, path, created_at (default), updated_at, last_activity_at or star_count.","title":"Order By"},"sort":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":"desc","description":"Sort direction: desc (default) or asc.","title":"Sort"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return (1 to 100).","title":"Per Page"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"required":["group"],"title":"list_shared_projectsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_group_issues":{"post":{"operationId":"list_group_issues","summary":"List issues across all projects of a group (and its subgroups) filtered by state, author or search text. Use for \"What o","description":"List issues across all projects of a group (and its subgroups) filtered by state, author or search text. Use for \"What open issues mention 'timeout' across gitlab-org\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"group":{"description":"Numeric group ID, or the full group path such as 'gitlab-org' or 'gitlab-org/charts' (slashes are encoded for you).","maxLength":200,"title":"Group","type":"string"},"state":{"anyOf":[{"enum":["opened","closed","all"],"type":"string"},{"type":"null"}],"default":"all","description":"Issue state: opened, closed or all (default).","title":"State"},"search":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Text to look for in issue titles and descriptions.","title":"Search"},"author_username":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only issues created by this username.","title":"Author Username"},"order_by":{"anyOf":[{"enum":["created_at","updated_at","due_date","popularity","title"],"type":"string"},{"type":"null"}],"default":"created_at","description":"Order by created_at (default), updated_at, due_date, popularity or title.","title":"Order By"},"sort":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":"desc","description":"Sort direction: desc (default) or asc.","title":"Sort"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return (1 to 100).","title":"Per Page"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"required":["group"],"title":"list_group_issuesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_group_merge_requests":{"post":{"operationId":"list_group_merge_requests","summary":"List merge requests across all projects of a group (and its subgroups) filtered by state, author, branch or search text.","description":"List merge requests across all projects of a group (and its subgroups) filtered by state, author, branch or search text. Use for \"Which merge requests are open across gitlab-org\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"group":{"description":"Numeric group ID, or the full group path such as 'gitlab-org' or 'gitlab-org/charts' (slashes are encoded for you).","maxLength":200,"title":"Group","type":"string"},"state":{"anyOf":[{"enum":["opened","closed","locked","merged","all"],"type":"string"},{"type":"null"}],"default":"all","description":"Merge request state: opened, closed, locked, merged or all (default).","title":"State"},"search":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Text to look for in titles and descriptions.","title":"Search"},"author_username":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only merge requests created by this username.","title":"Author Username"},"target_branch":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only merge requests targeting this branch.","title":"Target Branch"},"order_by":{"anyOf":[{"enum":["created_at","updated_at","merged_at","title"],"type":"string"},{"type":"null"}],"default":"created_at","description":"Order by created_at (default), updated_at, merged_at or title.","title":"Order By"},"sort":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":"desc","description":"Sort direction: desc (default) or asc.","title":"Sort"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return (1 to 100).","title":"Per Page"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"required":["group"],"title":"list_group_merge_requestsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_group_releases":{"post":{"operationId":"list_group_releases","summary":"List releases of all projects in a group with tag, name, release date and upcoming flag. Use for \"What did projects in g","description":"List releases of all projects in a group with tag, name, release date and upcoming flag. Use for \"What did projects in gitlab-org release recently\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"group":{"description":"Numeric group ID, or the full group path such as 'gitlab-org' or 'gitlab-org/charts' (slashes are encoded for you).","maxLength":200,"title":"Group","type":"string"},"sort":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":"desc","description":"Sort direction by release date: desc (default) or asc.","title":"Sort"},"per_page":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return (1 to 100).","title":"Per Page"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"required":["group"],"title":"list_group_releasesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}