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 |
|
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:
acmeType: String |
Accept |
(Optional) Response format. Use
application/jsonType: String |
Query Parameters
| Name | Description |
|---|---|
type |
(Optional) Filter by server type. Accepted values: mcp,
memory, gatewayType: String |
sanctioned |
(Optional) Filter by sanctioned status. Accepted values: true,
falseType: Boolean |
has_posture_issues |
(Optional) Filter to servers that have (or do not have) posture issues.
Accepted values: true, falseType: 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_countType: String |
sort_order |
(Optional) Sort direction. Accepted values: asc,
descType: String |
skip |
(Optional) Number of records to skip for pagination. Default:
0Type: Integer |
limit |
(Optional) Maximum number of records to return. Default: 50.
Max: 1000Type: Integer |
Response Structure
| 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
gatewayType: String |
servers[].status |
Server status: active or
inactiveType: 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
nameType: Array |
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"
}
]
}
]
}
