Skip to content

List all virtual MCP servers

Request

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

Lists all virtual MCP servers

Query
afterstring

The cursor to use for pagination. It is an opaque string that specifies your current location in the list and is obtained from the Link response header. See Pagination and Link header.

limitinteger, [ 1 .. 200 ]

A limit on the number of objects to return

Default:20
filterstring, (scim-filter)

Filters virtual MCP servers with a filtering expression. This supports the following operators:

  • eq operator for the status property
  • sw, co and eq operator for the profile.displayName property

Note: This operation requires URL encoding. See Special characters.

Example:filter=profile.displayName sw "Production" and status eq "ACTIVE"
expandArray of strings

If specified, additional data is included on each item under an _embedded attribute. The parameter accepts multiple values; repeat the parameter to request more than one (e.g. ?expand=connectedResources&expand=attachedAgents).

Supported values:

  • connectedResources: Adds _embedded.connectedResources with a summary of the resource connections currently bound to the virtual MCP server. Full details are available at the connections list endpoint.
  • attachedAgents: Adds _embedded.attachedAgents with a summary of the AI agents allow-listed to call the virtual MCP server. Full agent details are available at the AI agent get endpoint.
Items Enum:"connectedResources""attachedAgents"
GET
/resource-servers/api/v1/virtual-mcp-servers
curl -i -X GET \
  'https://subdomain.okta.com/resource-servers/api/v1/virtual-mcp-servers?after=string&limit=20&filter=profile.displayName%20sw%20%22Production%22%20and%20status%20eq%20%22ACTIVE%22&expand=connectedResources'

Responses

OK

Bodyapplication/json
dataArray of objects(VirtualMCPServerResource)required
Response
{ "data": [ {}, {}, {} ], "_links": { "self": {} } }