Skip to main content
Version: v5.1

External MCP Server Config

Overview

Use the External MCP Server Config API to create, update, retrieve, and delete external MCP server configurations. With this REST API, you can do the following:

Using the namespace filter

Note: The nsfilter (namespace filter) query parameter is mandatory for every API request. It sets the context, helping you look up resources within that namespace.

Example:

GET /aisvc/api/v1/externalmcpserverconfigs?nsfilter=your_namespace

Create External MCP servers

Endpoint

POST /aisvc/api/v1/externalmcpserverconfigs

Request

Query parameters

ParameterTypeDescriptionRequired
nsfilterStringFilter by namespace.Required

Body parameters

ParameterTypeDescriptionRequired
_nameStringName of the external MCP server.Required
_descriptionStringDescription of the external MCP server.Optional
_userTypeStringUnique identifier for the external MCP server config.Required
_namespacesArray of StringNamespaces that contain this configuration.Required
_connectionObjectConnection configuration.Required
_connection._urlStringMCP server URL (must be http or https).Required
_connection._headersObjectOptional request headers to send to the MCP server. Each key is a header name and its value is a header spec object.Optional

The request body is an array of external MCP server configuration objects.

Header spec (_connection._headers)

FieldTypeDescriptionRequired
typeStringHow the header value is resolved. Allowed values: secret or literal.Required
valueAnyHeader value. For secret, provide a secret name/key to resolve. For literal, provide the literal header value.Required
Body example
[
{
"_name": "Github External MCP",
"_description": "Github external MCP server",
"_userType": "github_mcp",
"_namespaces": ["{{nsfilter}}"],
"_connection": {
"_url": "https://api.githubcopilot.com/mcp/",
"_headers": {
"Authorization": { "type": "secret", "value": "GITHUB_TOKEN" },
"X-Retry": { "type": "literal", "value": "3" }
}
}
}
]

Note: The _connection field is stored as a JSONB type, which allows flexible headers and values (for example, mixing secrets and literal values).

Body example (Twinit MCP)
[
{
"_name": "Twinit MCP",
"_description": "Twinit MCP server",
"_userType": "twin_mcp_demo2",
"_namespaces": [
"AWSA_mkF4p9l0"
],
"_connection": {
"_url": "https://dev1-api.in.invicara.com/aisvc/api/v1/stateless/mcp/tools?nsfilter=AWSA_mkF4p9l0",
"_headers": {
"Authorization": {
"type": "secret",
"value": "TWINIT_TOKEN"
}
}
}
}
]

Response codes

CodeDescription
200Success
400Bad Request

Response data example

{
"_offset": 0,
"_pageSize": 1,
"_total": 1,
"_list": [
{
"_id": "b28d99f9-10d8-4a3c-8ef7-c196077dd6c6",
"_name": "GitHub External MCP",
"_description": "GitHub Copilot external MCP server",
"_userType": "github_mcp",
"_namespaces": [
"{{nsfilter}}"
],
"_transport": "http",
"_connection": {
"_url": "https://api.githubcopilot.com/mcp/",
"_headers": {
"Authorization": {
"type": "secret",
"value": "GITHUB_TOKEN"
},
"X-Retry": {
"type": "literal",
"value": "3"
}
}
},
"_irn": "aisvc:externalmcpserverconfig:b28d99f9-10d8-4a3c-8ef7-c196077dd6c6",
"_metadata": {
"_createdAt": "1762757209069",
"_updatedById": "c51e2d85-6a2a-4a08-8c71-c4e995594ac0",
"_createdById": "c51e2d85-6a2a-4a08-8c71-c4e995594ac0",
"_updatedAt": "1762757209069"
}
}
]
}

Update External MCP servers

Endpoint

PUT /aisvc/api/v1/externalmcpserverconfigs/{id}

Request

Path parameters

ParameterTypeDescriptionRequired
idStringID of the external MCP server config.Required

Query parameters

ParameterTypeDescriptionRequired
nsfilterStringFilter by namespace.Required

Body parameters

ParameterTypeDescriptionRequired
_nameStringName of the external MCP server.Optional
_descriptionStringDescription of the external MCP server.Optional
_userTypeStringUnique identifier for the external MCP server config.Optional
_namespacesArray of StringNamespaces that contain this configuration.Optional
_connectionObjectConnection configuration.Optional
_connection._urlStringMCP server URL (must be http or https).Optional
_connection._headersObjectOptional request headers to send to the MCP server. Each key is a header name and its value is a header spec object.Optional

Pass the external MCP server configuration fields you want to update in the request body.

Body example
{
"_name": "Github MCP (updated)",
"_description": "Updated Github external MCP server description",
"_userType": "github_mcp",
"_namespaces": ["{{nsfilter}}"],
"_connection": {
"_url": "https://api.githubcopilot.com/mcp/",
"_headers": {
"Authorization": { "type": "secret", "value": "CONF_TOKEN" },
"X-Retry": { "type": "literal", "value": "5" }
}
}
}

Note: The _connection field is stored as a JSONB type, which allows flexible header values.

Response codes

CodeDescription
200Success
400Bad Request
404Not Found

Response data example

{
"_id": "b28d99f9-10d8-4a3c-8ef7-c196077dd6c6",
"_name": "GitHub External MCP server (updated)",
"_description": "Updated GitHub Copilot external MCP server",
"_userType": "github_mcp",
"_namespaces": [
"{{nsfilter}}"
],
"_transport": "http",
"_connection": {
"_url": "https://api.githubcopilot.com/mcp/",
"_headers": {
"X-Retry": {
"type": "literal",
"value": 5
},
"Authorization": {
"type": "secret",
"value": "GITHUB_TOKEN"
}
}
},
"_irn": "aisvc:externalmcpserverconfig:b28d99f9-10d8-4a3c-8ef7-c196077dd6c6",
"_metadata": {
"_createdAt": "1762757209069",
"_updatedById": "c51e2d85-6a2a-4a08-8c71-c4e995594ac0",
"_createdById": "c51e2d85-6a2a-4a08-8c71-c4e995594ac0",
"_updatedAt": "1764325185618"
}
}

Get External MCP servers

Endpoint

GET /aisvc/api/v1/externalmcpserverconfigs

Request

Query parameters

ParameterTypeDescriptionRequired
nsfilterStringFilter by namespace.Required
_offsetNumberNumber of results to skip.Optional
_pageSizeNumberNumber of results per page.Optional
_userTypeStringFilter by the external MCP server config's unique _userType identifier.Optional
_nameStringFilter by name.Optional
_transportStringFilter by transport (currently http).Optional
queryStringWildcard search on the name and description.Optional

Response codes

CodeDescription
200Success
400Bad Request

Response data example

{
"_list": [
{
"_id": "80255215-1e82-4642-a929-17bdb0fdda07",
"_name": "AWS MCP",
"_description": "AWS external MCP server",
"_userType": "aws1",
"_namespaces": [
"AWSP_ckF5p8l0"
],
"_transport": "http",
"_connection": {
"_url": "https://knowledge-mcp.global.api.aws",
"_headers": {
"Authorization": {
"type": "secret",
"value": "AWS_TOKEN"
}
}
},
"_irn": "aisvc:externalmcpserverconfig:80255215-1e82-4642-a929-17bdb0fdda07",
"_metadata": {
"_createdAt": "1763113788717",
"_updatedById": "c51e2d85-6a2a-4a08-8c71-c4e995594ac0",
"_createdById": "c51e2d85-6a2a-4a08-8c71-c4e995594ac0",
"_updatedAt": "1763113788717"
}
},
{
"_id": "b28d99f9-10d8-4a3c-8ef7-c196077dd6c6",
"_name": "GitHub External MCP server",
"_description": "GitHub Copilot external MCP server",
"_userType": "github_mcp",
"_namespaces": [
"AWSP_ckF5p8l0"
],
"_transport": "http",
"_connection": {
"_url": "https://api.githubcopilot.com/mcp/",
"_headers": {
"X-Retry": {
"type": "literal",
"value": 3
},
"Authorization": {
"type": "secret",
"value": "GITHUB_TOKEN"
}
}
},
"_irn": "aisvc:externalmcpserverconfig:b28d99f9-10d8-4a3c-8ef7-c196077dd6c6",
"_metadata": {
"_createdAt": "1762757209069",
"_updatedById": "c51e2d85-6a2a-4a08-8c71-c4e995594ac0",
"_createdById": "c51e2d85-6a2a-4a08-8c71-c4e995594ac0",
"_updatedAt": "1764325185618"
}
}
],
"_offset": 0,
"_pageSize": 2,
"_total": 2
}

Get External MCP servers by ID

Endpoint

GET /aisvc/api/v1/externalmcpserverconfigs/{id}

Request

Path parameters

ParameterTypeDescriptionRequired
idStringID of the external MCP server config.Required

Query parameters

ParameterTypeDescriptionRequired
nsfilterStringFilter by namespace.Required

Response codes

CodeDescription
200Success
404Not Found

Response data example

{
"_id": "80255215-1e82-4642-a929-17bdb0fdda07",
"_name": "AWS MCP",
"_description": "AWS external MCP server",
"_userType": "aws1",
"_namespaces": [
"AWSP_ckF5p8l0"
],
"_transport": "http",
"_connection": {
"_url": "https://knowledge-mcp.global.api.aws",
"_headers": {
"Authorization": {
"type": "secret",
"value": "AWS_TOKEN"
}
}
},
"_irn": "aisvc:externalmcpserverconfig:80255215-1e82-4642-a929-17bdb0fdda07",
"_metadata": {
"_createdAt": "1763113788717",
"_updatedById": "c51e2d85-6a2a-4a08-8c71-c4e995594ac0",
"_createdById": "c51e2d85-6a2a-4a08-8c71-c4e995594ac0",
"_updatedAt": "1763113788717"
}
}

Delete External MCP servers by ID

Endpoint

DELETE /aisvc/api/v1/externalmcpserverconfigs/{id}

Request

Path parameters

ParameterTypeDescriptionRequired
idStringID of the external MCP server config.Required

Query parameters

ParameterTypeDescriptionRequired
nsfilterStringFilter by namespace.Required

Response codes

CodeDescription
204Success
404Not Found