Stacklok clients API

The clients API from Stacklok — 5 operation(s) for clients.

Operations 6

GET /api/v1beta/clients List all clients
POST /api/v1beta/clients Register a new client
DELETE /api/v1beta/clients/{name} Unregister a client
DELETE /api/v1beta/clients/{name}/groups/{group} Unregister a client from a specific group
POST /api/v1beta/clients/register Register multiple clients
POST /api/v1beta/clients/unregister Unregister multiple clients

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/stacklok-clients-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

stacklok-clients-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    url: https://github.com/stacklok/toolhive
  description: 'API for accessing MCP server registry data and deployed server information

    This API provides endpoints to query the MCP (Model Context Protocol) server registry,

    get information about available servers, and check the status of deployed servers.


    Authentication is required by default. Use Bearer token authentication with a valid

    OAuth/OIDC access token. The /.well-known/oauth-protected-resource endpoint provides

    OAuth discovery metadata (RFC 9728).'
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  title: ToolHive Registry Clients API
  version: '0.1'
tags:
- name: clients
paths:
  /api/v1beta/clients:
    get:
      description: List all registered clients in ToolHive
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/github_com_stacklok_toolhive_pkg_client.RegisteredClient'
                type: array
          description: OK
      summary: List all clients
      tags:
      - clients
    post:
      description: Register a new client with ToolHive
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
              - type: object
              - $ref: '#/components/schemas/pkg_api_v1.createClientRequest'
                description: Client to register
                summary: client
        description: Client to register
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pkg_api_v1.createClientResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                type: string
          description: Invalid request or unsupported client type
      summary: Register a new client
      tags:
      - clients
  /api/v1beta/clients/{name}:
    delete:
      description: Unregister a client from ToolHive
      parameters:
      - description: Client name to unregister
        in: path
        name: name
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '400':
          content:
            application/json:
              schema:
                type: string
          description: Invalid request or unsupported client type
      summary: Unregister a client
      tags:
      - clients
  /api/v1beta/clients/{name}/groups/{group}:
    delete:
      description: Unregister a client from a specific group in ToolHive
      parameters:
      - description: Client name to unregister
        in: path
        name: name
        required: true
        schema:
          type: string
      - description: Group name to remove client from
        in: path
        name: group
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
        '400':
          content:
            application/json:
              schema:
                type: string
          description: Invalid request or unsupported client type
        '404':
          content:
            application/json:
              schema:
                type: string
          description: Client or group not found
      summary: Unregister a client from a specific group
      tags:
      - clients
  /api/v1beta/clients/register:
    post:
      description: Register multiple clients with ToolHive
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
              - type: object
              - $ref: '#/components/schemas/pkg_api_v1.bulkClientRequest'
                description: Clients to register
                summary: clients
        description: Clients to register
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/pkg_api_v1.createClientResponse'
                type: array
          description: OK
        '400':
          content:
            application/json:
              schema:
                type: string
          description: Invalid request or unsupported client type
      summary: Register multiple clients
      tags:
      - clients
  /api/v1beta/clients/unregister:
    post:
      description: Unregister multiple clients from ToolHive
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
              - type: object
              - $ref: '#/components/schemas/pkg_api_v1.bulkClientRequest'
                description: Clients to unregister
                summary: clients
        description: Clients to unregister
        required: true
      responses:
        '204':
          description: No Content
        '400':
          content:
            application/json:
              schema:
                type: string
          description: Invalid request or unsupported client type
      summary: Unregister multiple clients
      tags:
      - clients
components:
  schemas:
    github_com_stacklok_toolhive_pkg_client.ClientApp:
      description: ClientType is the type of MCP client
      enum:
      - roo-code
      - cline
      - cursor
      - vscode-insider
      - vscode
      - claude-code
      - windsurf
      - windsurf-jetbrains
      - amp-cli
      - lm-studio
      - goose
      - trae
      - continue
      - opencode
      - kiro
      - antigravity
      - zed
      - gemini-cli
      - vscode-server
      - mistral-vibe
      - codex
      - kimi-cli
      - factory
      - copilot-cli
      type: string
      x-enum-varnames:
      - RooCode
      - Cline
      - Cursor
      - VSCodeInsider
      - VSCode
      - ClaudeCode
      - Windsurf
      - WindsurfJetBrains
      - AmpCli
      - LMStudio
      - Goose
      - Trae
      - Continue
      - OpenCode
      - Kiro
      - Antigravity
      - Zed
      - GeminiCli
      - VSCodeServer
      - MistralVibe
      - Codex
      - KimiCli
      - Factory
      - CopilotCli
    pkg_api_v1.createClientResponse:
      properties:
        groups:
          description: Groups is the list of groups configured on the client.
          items:
            type: string
          type: array
          uniqueItems: false
        name:
          $ref: '#/components/schemas/github_com_stacklok_toolhive_pkg_client.ClientApp'
      type: object
    github_com_stacklok_toolhive_pkg_client.RegisteredClient:
      properties:
        groups:
          items:
            type: string
          type: array
          uniqueItems: false
        name:
          $ref: '#/components/schemas/github_com_stacklok_toolhive_pkg_client.ClientApp'
      type: object
    pkg_api_v1.createClientRequest:
      properties:
        groups:
          description: Groups is the list of groups configured on the client.
          items:
            type: string
          type: array
          uniqueItems: false
        name:
          $ref: '#/components/schemas/github_com_stacklok_toolhive_pkg_client.ClientApp'
      type: object
    pkg_api_v1.bulkClientRequest:
      properties:
        groups:
          description: Groups is the list of groups configured on the client.
          items:
            type: string
          type: array
          uniqueItems: false
        names:
          description: Names is the list of client names to operate on.
          items:
            $ref: '#/components/schemas/github_com_stacklok_toolhive_pkg_client.ClientApp'
          type: array
          uniqueItems: false
      type: object
  securitySchemes:
    BearerAuth:
      description: 'OAuth 2.0 Bearer token authentication. Format: "Bearer {token}"'
      in: header
      name: Authorization
      type: apiKey
externalDocs:
  description: ''
  url: ''