Files
bifrost/docs/openapi/paths/management/mcp.yaml
Beyhan Oğur 880f412e2c first commit
2026-04-26 21:52:23 +03:00

241 lines
7.6 KiB
YAML

execute-tool:
post:
operationId: executeMCPTool
summary: Execute MCP tool
description: Executes an MCP tool and returns the result.
tags:
- MCP
parameters:
- name: format
in: query
required: false
description: |
Format of the tool execution request/response.
schema:
type: string
enum: [chat, responses]
default: chat
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../schemas/management/mcp.yaml#/ExecuteToolRequest'
examples:
chat:
summary: Chat format example
value:
id: "call_123"
type: "function"
function:
name: "get_weather"
arguments: '{"location": "San Francisco"}'
responses:
summary: Responses format example
value:
call_id: "call_123"
name: "get_weather"
arguments: '{"location": "San Francisco"}'
responses:
'200':
description: Tool executed successfully
content:
application/json:
schema:
$ref: '../../schemas/management/mcp.yaml#/ExecuteToolResponse'
examples:
chat:
summary: Chat format response
value:
name: "get_weather"
role: "tool"
tool_call_id: "call_123"
content: "The weather in San Francisco is 72°F and sunny."
responses:
summary: Responses format response
value:
id: "msg_123"
type: "function_call_output"
status: "completed"
role: "assistant"
call_id: "call_123"
name: "get_weather"
arguments: '{"location": "San Francisco"}'
content: "The weather in San Francisco is 72°F and sunny."
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
security:
- BearerAuth: []
- BasicAuth: []
- VirtualKeyAuth: []
- ApiKeyAuth: []
clients:
get:
operationId: getMCPClients
summary: List MCP clients
description: Returns a list of all configured MCP clients with their tools and connection state.
tags:
- MCP
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: array
items:
$ref: '../../schemas/management/mcp.yaml#/MCPClient'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
client:
post:
operationId: addMCPClient
summary: Add MCP client
description: |
Adds a new MCP client with the specified configuration.
Note: tool_pricing is not available when creating a new client as tools are fetched after client creation.
tags:
- MCP
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../schemas/management/mcp.yaml#/MCPClientCreateRequest'
responses:
'200':
description: MCP client added successfully
content:
application/json:
schema:
$ref: '../../schemas/management/common.yaml#/SuccessResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
client-by-id:
put:
operationId: editMCPClient
summary: Edit MCP client
description: |
Updates an existing MCP client's configuration.
Unlike client creation, tool_pricing can be included to set per-tool execution costs since tools are already fetched.
Optionally provide vk_configs to manage which virtual keys have access to this MCP server and with which tools. When provided, this fully replaces all existing VK assignments in a single atomic transaction.
tags:
- MCP
parameters:
- name: id
in: path
required: true
description: MCP client ID
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '../../schemas/management/mcp.yaml#/MCPClientUpdateRequest'
responses:
'200':
description: MCP client updated successfully
content:
application/json:
schema:
$ref: '../../schemas/management/common.yaml#/SuccessResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
delete:
operationId: removeMCPClient
summary: Remove MCP client
description: Removes an MCP client from the configuration.
tags:
- MCP
parameters:
- name: id
in: path
required: true
description: MCP client ID
schema:
type: string
responses:
'200':
description: MCP client removed successfully
content:
application/json:
schema:
$ref: '../../schemas/management/common.yaml#/SuccessResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
client-reconnect:
post:
operationId: reconnectMCPClient
summary: Reconnect MCP client
description: Reconnects an MCP client that is in an error or disconnected state.
tags:
- MCP
parameters:
- name: id
in: path
required: true
description: MCP client ID
schema:
type: string
responses:
'200':
description: MCP client reconnected successfully
content:
application/json:
schema:
$ref: '../../schemas/management/common.yaml#/SuccessResponse'
'400':
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'
client-complete-oauth:
post:
operationId: completeMCPClientOAuth
summary: Complete MCP client OAuth flow
description: |
Completes the OAuth flow for an MCP client after the user has authorized the request.
This endpoint should be called after the OAuth provider redirects back to the callback endpoint
and the OAuth token has been stored. It retrieves the pending MCP client configuration and
establishes the connection with the OAuth-provided credentials.
tags:
- MCP
- OAuth
parameters:
- name: id
in: path
required: true
description: MCP client ID
schema:
type: string
responses:
'200':
description: MCP client connected successfully with OAuth
content:
application/json:
schema:
$ref: '../../schemas/management/common.yaml#/SuccessResponse'
'400':
description: OAuth not authorized yet or MCP client not found in pending OAuth clients
$ref: '../../openapi.yaml#/components/responses/BadRequest'
'404':
description: MCP client not found in pending OAuth clients or OAuth config not found
$ref: '../../openapi.yaml#/components/responses/NotFound'
'500':
$ref: '../../openapi.yaml#/components/responses/InternalError'