Skip to content

Add a capability to a virtual MCP connection

Request

OAuth 2.0 scope:
  • okta.resourceServers.virtualMcpServers.manage
Admin roles:
  • SUPER_ADMIN

Adds a single capability to the virtual MCP connection. Optionally includes an admin-defined alias that overrides the capability's default name when exposed through the virtual MCP server. If no alias is provided, it defaults to the capability name as reported by the upstream resource server.

Path
virtualMcpServerIdstringrequired

ID of a virtual MCP

Example:wlp1aB2cD3eF4gH5iJ6k
connectionIdstringrequired

Unique identifier for the connection

Example:mcn1a2b3c4d5e6f7g8h9
Bodyapplication/jsonrequired
aliasstring or null, [ 1 .. 255 ] characters(VirtualMCPCapabilityAliasPatchable)

Admin-defined alias that overrides the capability's default name when exposed through the virtual MCP server. If not provided, defaults to the capability name as reported by the upstream resource server.

Example:"get_jira_issues"
sourceOrnstringrequired

The ORN of the source capability on the upstream resource server

Example:"orn:okta:directory:00o1gjjp4jsdR3Sww4x7:resource-servers:mcp:ems8nUa7p0g4zrZbs2f4:tools:emt1aB2cD3eF4gH5iJ6k"
POST
/workload-principals/api/v1/virtual-mcp-servers/{virtualMcpServerId}/connections/{connectionId}/capabilities
curl -i -X POST \
  https://subdomain.okta.com/workload-principals/api/v1/virtual-mcp-servers/wlp1aB2cD3eF4gH5iJ6k/connections/mcn1a2b3c4d5e6f7g8h9/capabilities \
  -H 'Content-Type: application/json' \
  -d '{
    "sourceOrn": "orn:okta:directory:00o1gjjp4jsdR3Sww4x7:resource-servers:mcp:ems8nUa7p0g4zrZbs2f4:tools:emt1aB2cD3eF4gH5iJ6k",
    "alias": "get_jira_issues"
  }'

Responses

Created

Bodyapplication/json
connectionOrnstringrequired

The ORN of the connection that provides authentication data for the resource server this capability is bound to

Example:"orn:okta:idp:00o1gjjp4jsdR3Sww4x7:connections:mcn1aB2cD3eF4gH5iJ6k"
idstringread-onlyrequired

Unique identifier for the capability. Use this value in the {capabilityId} path parameter.

Example:"vsc1aB2cD3eF4gH5iJ6k"
profileobject(VirtualMCPCapabilityProfile)

Profile for a capability on the virtual MCP

sourceOrnstringrequired

The ORN of the source capability on the upstream resource server

Example:"orn:okta:directory:00o1gjjp4jsdR3Sww4x7:resource-servers:mcp:ems8nUa7p0g4zrZbs2f4:tools:emt1aB2cD3eF4gH5iJ6k"
statusstringread-onlyrequired

Validity status of the capability relative to the upstream MCP server

Enum ValueDescription
VALID

The capability still exists on the upstream MCP server

INVALID

The upstream MCP server no longer reports this capability after its most recent discovery

Example:"VALID"
_embeddedobject

Embedded resources. Only included when ?expand=inputSchema is specified.

typestringrequired

The type of the capability

Example:"TOOL"
Response
{ "id": "vsc1aB2cD3eF4gH5iJ6k", "sourceOrn": "orn:okta:directory:00o1gjjp4jsdR3Sww4x7:resource-servers:mcp:ems8nUa7p0g4zrZbs2f4:tools:emt1aB2cD3eF4gH5iJ6k", "connectionOrn": "orn:okta:idp:00o1gjjp4jsdR3Sww4x7:connections:mcn1aB2cD3eF4gH5iJ6k", "type": "TOOL", "status": "VALID", "profile": { "name": "get_issues", "description": "Get issues from a repository", "alias": "get_jira_issues" } }