MCP Servers

Returns a list of MCP (Model Context Protocol) servers discovered across all agents. Each record includes connected agents, credential count, tool inventory, posture issue count, and sanctioned status. Use this API to audit MCP server exposure and unsanctioned tool usage.

Before You Begin

Ensure you have a valid Tenant URL, Subdomain, and Bearer Token before calling this API. Refer to Agent Identity Security API Reference for setup instructions.

To filter servers connected to a specific agent, supply its UUID as the agent_id query parameter. Use the List Agents API to retrieve agent UUIDs.

Request Structure

Endpoint /mcp-servers/
Method GET
Sample URL
https://<tenant-host>/api/v1/mcp-servers/?skip=0&limit=1&type=mcp&sort_by=name&sort_order=asc

Headers

Table 1. Request Headers
Name Description
Authorization (Mandatory) Bearer token for authentication. Format: Authorization: Bearer <token>

Type: String

X-Tenant-Subdomain (Mandatory) Tenant subdomain for multi-tenant routing. Example: acme

Type: String

Accept (Optional) Response format. Use application/json

Type: String

Query Parameters

Table 2. Query Parameters
Name Description
type (Optional) Filter by server type. Accepted values: mcp, memory, gateway

Type: String

sanctioned (Optional) Filter by sanctioned status. Accepted values: true, false

Type: Boolean

has_posture_issues (Optional) Filter to servers that have (or do not have) posture issues. Accepted values: true, false

Type: Boolean

agent_id (Optional) Filter servers connected to a specific agent UUID

Type: String (UUID)

sort_by (Optional) Field to sort results by. Accepted values: name, created_at, tools_count

Type: String

sort_order (Optional) Sort direction. Accepted values: asc, desc

Type: String

skip (Optional) Number of records to skip for pagination. Default: 0

Type: Integer

limit (Optional) Maximum number of records to return. Default: 50. Max: 1000

Type: Integer

Response Structure

Table 3. Response Fields
Field Description
total Total number of MCP servers matching the applied filters

Type: Integer

skip Number of records skipped

Type: Integer

limit Number of records returned in this response

Type: Integer

servers Array of MCP server objects

Type: Array

servers[].id Unique server UUID

Type: String (UUID)

servers[].name Server display name

Type: String

servers[].url Server endpoint URL

Type: String

servers[].type Server type: mcp, memory, or gateway

Type: String

servers[].status Server status: active or inactive

Type: String

servers[].sanctioned Whether the server is sanctioned by the organization

Type: Boolean

servers[].tools_count Number of tools exposed by the server

Type: Integer

servers[].credentials_count Number of credentials linked to this server

Type: Integer

servers[].posture_issues_count Number of active posture issues on this server

Type: Integer

servers[].connected_agents Number of agents connected to this server

Type: Integer

servers[].agents Array of connected agent objects, each with id and name

Type: Array

Status Codes

Table 4. HTTP Status Codes
HTTP Code Description
200 OK MCP servers returned successfully.
401 Unauthorized Missing or invalid Bearer token. Ensure a valid token is included in the Authorization header.
422 Unprocessable Entity Invalid parameter value supplied.

Sample Response

{
  "total": 1230,
  "skip": 0,
  "limit": 1,
  "servers": [
    {
      "id": "9094e5b0-66b5-4015-a31d-d4433f91a754",
      "name": "Ais-Mcp MCP",
      "url": "http://127.0.0.1:8003/mcp",
      "type": "mcp",
      "status": "active",
      "sanctioned": false,
      "tools_count": 49,
      "credentials_count": 1,
      "posture_issues_count": 3,
      "connected_agents": 1,
      "agents": [
        {
          "id": "bc0d45e6-790b-4703-9958-5117de6170ad",
          "name": "Cursor - AVXPLM190"
        }
      ]
    }
  ]
}