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