Runloop mcp-configs API

The mcp-configs API from Runloop — 3 operation(s) for mcp-configs.

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-devbox-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-execution-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-snapshot-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-tunnel-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-launch-parameters-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-structure/runloop-devbox-structure.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-blueprint-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-benchmark-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-benchmark-run-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-scenario-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-agent-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-axon-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-object-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-secret-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-network-policy-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-gateway-config-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-mcp-config-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-api-key-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-restricted-key-schema.json

Other Resources

OpenAPI Specification

runloop-ai-mcp-configs-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Runloop agents mcp-configs API
  version: '0.1'
  description: Register, version, and mount Agents — packaged agent definitions sourced from Git, npm, pip, or storage objects that can be installed on Devboxes for fast, reproducible agent execution.
  contact:
    name: Runloop AI Support
    url: https://runloop.ai
    email: support@runloop.ai
servers:
- url: https://api.runloop.ai
  description: Runloop API
  variables: {}
security:
- bearerAuth: []
tags:
- name: mcp-configs
paths:
  /v1/mcp-configs:
    post:
      tags:
      - mcp-configs
      summary: '[Beta] Create an McpConfig.'
      description: '[Beta] Create a new McpConfig to connect to an upstream MCP (Model Context Protocol) server. The config specifies the target endpoint and which tools are allowed.'
      operationId: createMcpConfig
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/McpConfigCreateParameters'
        required: false
      responses:
        '200':
          description: McpConfig created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/McpConfigView'
        '400':
          description: Bad request. Name already exists or is invalid.
        '401':
          description: Unauthorized. Invalid or missing authentication.
        '403':
          description: Forbidden. Account does not have devbox capability.
        '500':
          description: Internal server error.
      deprecated: false
    get:
      tags:
      - mcp-configs
      summary: '[Beta] List McpConfigs.'
      description: '[Beta] List all McpConfigs for the authenticated account.'
      operationId: listMcpConfigs
      parameters:
      - name: name
        in: query
        description: Filter by name (prefix match supported).
        required: false
        deprecated: false
        allowEmptyValue: true
        schema:
          type: string
      - name: id
        in: query
        description: Filter by ID.
        required: false
        deprecated: false
        allowEmptyValue: true
        schema:
          type: string
      - name: limit
        in: query
        description: The limit of items to return. Default is 20. Max is 5000.
        required: false
        deprecated: false
        allowEmptyValue: true
        schema:
          type: integer
          format: int32
      - name: starting_after
        in: query
        description: Load the next page of data starting after the item with the given ID.
        required: false
        deprecated: false
        allowEmptyValue: true
        schema:
          type: string
      - name: include_total_count
        in: query
        description: If true (default), includes total_count in the response. Set to false to skip the count query for better performance on large datasets.
        required: false
        deprecated: false
        allowEmptyValue: true
        schema:
          type: boolean
      responses:
        '200':
          description: Successfully retrieved list of McpConfigs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/McpConfigListView'
        '401':
          description: Unauthorized. Invalid or missing authentication.
        '403':
          description: Forbidden. Account does not have devbox capability.
        '500':
          description: Internal server error.
      deprecated: false
  /v1/mcp-configs/{id}:
    get:
      tags:
      - mcp-configs
      summary: '[Beta] Get an McpConfig.'
      description: '[Beta] Get a specific McpConfig by its unique identifier.'
      operationId: getMcpConfig
      parameters:
      - name: id
        in: path
        description: The unique identifier of the McpConfig.
        required: true
        deprecated: false
        allowEmptyValue: false
        schema:
          type: string
      responses:
        '200':
          description: Successfully retrieved the McpConfig.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/McpConfigView'
        '401':
          description: Unauthorized. Invalid or missing authentication.
        '403':
          description: Forbidden. Account does not have devbox capability.
        '404':
          description: McpConfig not found.
        '500':
          description: Internal server error.
      deprecated: false
    post:
      tags:
      - mcp-configs
      summary: '[Beta] Update an McpConfig.'
      description: '[Beta] Update an existing McpConfig. All fields are optional.'
      operationId: updateMcpConfig
      parameters:
      - name: id
        in: path
        description: The unique identifier of the McpConfig to update.
        required: true
        deprecated: false
        allowEmptyValue: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/McpConfigUpdateParameters'
        required: false
      responses:
        '200':
          description: McpConfig updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/McpConfigView'
        '400':
          description: Bad request. Invalid parameters.
        '401':
          description: Unauthorized. Invalid or missing authentication.
        '403':
          description: Forbidden. Account does not have devbox capability.
        '404':
          description: McpConfig not found.
        '500':
          description: Internal server error.
      deprecated: false
  /v1/mcp-configs/{id}/delete:
    post:
      tags:
      - mcp-configs
      summary: '[Beta] Delete an McpConfig.'
      description: '[Beta] Delete an existing McpConfig. This action is irreversible.'
      operationId: deleteMcpConfig
      parameters:
      - name: id
        in: path
        description: The unique identifier of the McpConfig to delete.
        required: true
        deprecated: false
        allowEmptyValue: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmptyRecord'
        required: false
      responses:
        '200':
          description: McpConfig deleted successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/McpConfigView'
        '400':
          description: Bad request. Config is in use by active devboxes.
        '401':
          description: Unauthorized. Invalid or missing authentication.
        '403':
          description: Forbidden. Account does not have devbox capability.
        '404':
          description: McpConfig not found.
        '500':
          description: Internal server error.
      deprecated: false
components:
  schemas:
    McpConfigCreateParameters:
      type: object
      additionalProperties: false
      description: Parameters required to create a new McpConfig.
      properties:
        name:
          type: string
          description: The human-readable name for the McpConfig. Must be unique within your account. The first segment before '-' is used as the service name for tool routing (e.g., 'github-readonly' uses 'github' as the service name).
        endpoint:
          type: string
          description: The target MCP server endpoint URL (e.g., 'https://mcp.example.com').
        allowed_tools:
          type: array
          items:
            type: string
          description: 'Glob patterns specifying which tools are allowed from this MCP server. Examples: [''*''] for all tools, [''github.search_*'', ''github.get_*''] for specific patterns.'
        description:
          type: string
          nullable: true
          description: Optional description for this MCP configuration.
      required:
      - name
      - endpoint
      - allowed_tools
    McpConfigListView:
      type: object
      additionalProperties: false
      description: A paginated list of McpConfigs.
      properties:
        mcp_configs:
          type: array
          items:
            $ref: '#/components/schemas/McpConfigView'
          description: The list of McpConfigs.
        has_more:
          type: boolean
          description: Whether there are more results available beyond this page.
        total_count:
          type: integer
          format: int32
          nullable: true
          description: Total count of McpConfigs that match the query.
      required:
      - mcp_configs
      - has_more
    McpConfigUpdateParameters:
      type: object
      additionalProperties: false
      description: Parameters for updating an existing McpConfig. All fields are optional - only specified fields will be updated.
      properties:
        name:
          type: string
          nullable: true
          description: New name for the McpConfig. Must be unique within your account.
        endpoint:
          type: string
          nullable: true
          description: New target MCP server endpoint URL.
        allowed_tools:
          type: array
          items:
            type: string
          nullable: true
          description: 'New glob patterns specifying which tools are allowed. Examples: [''*''] for all tools, [''github.search_*''] for specific patterns.'
        description:
          type: string
          nullable: true
          description: New description for this MCP configuration.
    McpConfigView:
      type: object
      additionalProperties: false
      description: An McpConfig defines a configuration for connecting to an upstream MCP (Model Context Protocol) server. It specifies the target endpoint and which tools are allowed.
      properties:
        id:
          type: string
          description: The unique identifier of the McpConfig.
        name:
          type: string
          description: The human-readable name of the McpConfig. Unique per account.
        endpoint:
          type: string
          description: The target MCP server endpoint URL (e.g., 'https://mcp.example.com').
        allowed_tools:
          type: array
          items:
            type: string
          description: Glob patterns specifying which tools are allowed from this MCP server (e.g., ['github.search_*', 'github.get_*'] or ['*'] for all tools).
        description:
          type: string
          nullable: true
          description: Optional description for this MCP configuration.
        create_time_ms:
          type: integer
          format: int64
          description: Creation time of the McpConfig (Unix timestamp in milliseconds).
      required:
      - id
      - name
      - endpoint
      - allowed_tools
      - create_time_ms
    EmptyRecord:
      type: object
      additionalProperties: false
      properties: {}
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http