For the complete documentation index, see llms.txt. This page is also available as Markdown.

MCP Server

Manage MCP Servers

Listing MCP servers

get

Retrieves MCP servers based on the provided query.

Required scopes
This endpoint requires the following scopes:
  • : Needed to read AI agents.
Authorizations
OAuth2clientCredentialsRequired
Token URL:
Path parameters
tenantstringRequired

Your Emporix tenant name.

Note: The tenant name should always be provided in lowercase.

Query parameters
qstringOptional

A standard query parameter is used to search for specific values.

See: Standard Practices - Query parameter

pageSizestringOptional

The number of documents to be retrieved per page.

pageNumberstringOptional

The page number to be retrieved. The size of the pages should be specified by the pageSize parameter.

sortstringOptional

List of properties used to sort the results, separated by colons.

fieldsstringOptional

Fields to be returned in the response.

expandstring · enumOptional

Fields to be expanded in the response. It means that instead of the object IDs, the whole objects are returned in the response.

Possible values:
Header parameters
X-Total-CountbooleanOptional

Flag indicating whether the total number of retrieved results should be returned.

Responses
200

List of MCP servers.

application/json
or
get/ai-service/{tenant}/agentic/mcp-servers
GET /ai-service/{tenant}/agentic/mcp-servers HTTP/1.1
Host: api.emporix.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
  {
    "id": "mcp-custom",
    "name": "Custom MCP Server",
    "type": "custom",
    "enabled": true,
    "transport": "streamable_http",
    "config": {
      "url": "http://localhost:7900/mcp",
      "authorizationHeaderName": "Authorization",
      "authorizationHeaderToken": {
        "id": "token-id"
      }
    }
  },
  {
    "id": "mcp-dynamic",
    "name": "Dynamic MCP Server",
    "type": "dynamic",
    "enabled": true,
    "transport": "streamable_http",
    "tools": [
      {
        "name": "get_order",
        "description": "Retrieves an order by ID.",
        "prompt": "Use this tool when the user asks for order details.",
        "enabled": true,
        "config": {
          "requiredScopes": [
            "order.order_read"
          ],
          "inputSchema": "{\"type\":\"object\",\"properties\":{\"orderId\":{\"type\":\"string\"}},\"required\":[\"orderId\"]}",
          "invocation": {
            "functionId": "fn-get-order",
            "method": "GET",
            "argsLocation": "query"
          }
        }
      }
    ]
  }
]

Searching MCP servers

post

Searches for MCP servers based on the provided query.

Required scopes
This endpoint requires the following scopes:
  • : Needed to read AI agents.
Authorizations
OAuth2clientCredentialsRequired
Token URL:
Path parameters
tenantstringRequired

Your Emporix tenant name.

Note: The tenant name should always be provided in lowercase.

Query parameters
pageSizestringOptional

The number of documents to be retrieved per page.

pageNumberstringOptional

The page number to be retrieved. The size of the pages should be specified by the pageSize parameter.

sortstringOptional

List of properties used to sort the results, separated by colons.

fieldsstringOptional

Fields to be returned in the response.

expandstring · enumOptional

Fields to be expanded in the response. It means that instead of the object IDs, the whole objects are returned in the response.

Possible values:
Header parameters
X-Total-CountbooleanOptional

Flag indicating whether the total number of retrieved results should be returned.

Body
qstringOptional

A standard query parameter is used to search for specific values.

See: Standard Practices - Query parameter

Responses
200

List of MCP servers.

application/json
or
post/ai-service/{tenant}/agentic/mcp-servers/search
POST /ai-service/{tenant}/agentic/mcp-servers/search HTTP/1.1
Host: api.emporix.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 23

{
  "q": "name:~Complaint"
}
[
  {
    "id": "mcp-custom",
    "name": "Custom MCP Server",
    "type": "custom",
    "enabled": true,
    "transport": "streamable_http",
    "config": {
      "url": "http://localhost:7900/mcp",
      "authorizationHeaderName": "Authorization",
      "authorizationHeaderToken": {
        "id": "token-id"
      }
    }
  },
  {
    "id": "mcp-dynamic",
    "name": "Dynamic MCP Server",
    "type": "dynamic",
    "enabled": true,
    "transport": "streamable_http",
    "tools": [
      {
        "name": "get_order",
        "description": "Retrieves an order by ID.",
        "prompt": "Use this tool when the user asks for order details.",
        "enabled": true,
        "config": {
          "requiredScopes": [
            "order.order_read"
          ],
          "inputSchema": "{\"type\":\"object\",\"properties\":{\"orderId\":{\"type\":\"string\"}},\"required\":[\"orderId\"]}",
          "invocation": {
            "functionId": "fn-get-order",
            "method": "GET",
            "argsLocation": "query"
          }
        }
      }
    ]
  }
]

Retrieving MCP server by ID

get

Retrieves the MCP server by a given ID.

Required scopes
This endpoint requires the following scopes:
  • : Needed to read AI agents.
Authorizations
OAuth2clientCredentialsRequired
Token URL:
Path parameters
tenantstringRequired

Your Emporix tenant name.

Note: The tenant name should always be provided in lowercase.

mcpServerIdstringRequired
Query parameters
fieldsstringOptional

Fields to be returned in the response.

expandstring · enumOptional

Fields to be expanded in the response. It means that instead of the object IDs, the whole objects are returned in the response.

Possible values:
Responses
200

A single mcp server.

application/json
or
get/ai-service/{tenant}/agentic/mcp-servers/{mcpServerId}
GET /ai-service/{tenant}/agentic/mcp-servers/{mcpServerId} HTTP/1.1
Host: api.emporix.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "id": "mcp-custom",
  "name": "Custom MCP Server",
  "type": "custom",
  "enabled": true,
  "transport": "streamable_http",
  "config": {
    "url": "http://localhost:7900/mcp",
    "authorizationHeaderName": "Authorization",
    "authorizationHeaderToken": {
      "id": "token-id"
    }
  }
}

Upserting MCP server

put

Updates or creates a specified MCP server by replacing all of its existing data with data from the request body. If the metadata.version is provided, then optimistic locking is enabled and version must match the version in the database.

Important: If MCP server is being used by an enabled agent then disabling MCP is not possible without force flag set to true. Only then the agent and MCP server are disabled.

The type: dynamic value and its tools definitions are in preview. When upserting an enabled dynamic MCP server, each tool's config.invocation.functionId is validated against the Automation service. The request returns 400 when a referenced function does not exist on the tenant.

Required scopes
This endpoint requires the following scopes:
  • : Needed to manage AI agents.
Authorizations
OAuth2clientCredentialsRequired
Token URL:
Path parameters
tenantstringRequired

Your Emporix tenant name.

Note: The tenant name should always be provided in lowercase.

mcpServerIdstringRequired
Query parameters
forcebooleanOptional

Allows you to disable a given entity even if it is used as a dependency in other entries. In that case, cascade disable is performed.

Example: false
Body
or
Responses
204

The resource has been successfully updated.

No content

put/ai-service/{tenant}/agentic/mcp-servers/{mcpServerId}
PUT /ai-service/{tenant}/agentic/mcp-servers/{mcpServerId} HTTP/1.1
Host: api.emporix.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 221

{
  "name": "Custom MCP Server",
  "type": "custom",
  "transport": "streamable_http",
  "enabled": true,
  "config": {
    "url": "http://localhost:7900/mcp",
    "authorizationHeaderName": "Authorization",
    "authorizationHeaderToken": {
      "id": "token-id"
    }
  }
}

No content

Deleting MCP server

delete

Deletes MCP server by given ID.

Important: If MCP server is being used by an agent then delete operation is not possible without force flag set to true.

Required scopes
This endpoint requires the following scopes:
  • : Needed to manage AI agents.
Authorizations
OAuth2clientCredentialsRequired
Token URL:
Path parameters
tenantstringRequired

Your Emporix tenant name.

Note: The tenant name should always be provided in lowercase.

mcpServerIdstringRequired
Query parameters
forcebooleanOptional

Allows you to remove a given entity even if it is used as a dependency in other entries. In that case, the removed entity is unassigned from other entries.

Example: false
Responses
204

Given mcp server has been deleted.

No content

delete/ai-service/{tenant}/agentic/mcp-servers/{mcpServerId}
DELETE /ai-service/{tenant}/agentic/mcp-servers/{mcpServerId} HTTP/1.1
Host: api.emporix.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*

No content

Partially updating MCP server

patch

Partially updates a single mcp server document with given information. Single update may contain multiple partial updates in the form of an array. It contains the allowed operations list:

  • add (adding an item to the items list)

  • remove (removing an item from the items list)

  • replace (replacing an item with given ID with new definition)

Important: If an MCP server is being used by an enabled agent then disabling MCP is not possible without force flag set to true. Only then the agent and MCP server are disabled.

Required scopes
This endpoint requires the following scopes:
  • : Needed to manage AI agents.
Authorizations
OAuth2clientCredentialsRequired
Token URL:
Path parameters
tenantstringRequired

Your Emporix tenant name.

Note: The tenant name should always be provided in lowercase.

mcpServerIdstringRequired
Query parameters
forcebooleanOptional

Allows you to remove a given entity even if it is used as a dependency in other entries. In that case, the removed entity is unassigned from other entries.

Example: false
Bodyobject[]

Partial update operation list.

opany ofRequired
undefined · enumOptionalPossible values:
pathstringRequiredExample: /name
valueany ofOptional
stringOptional

Value of the string type.

or
objectOptional

Any part of the details object.

Responses
204

No Content

No content

patch/ai-service/{tenant}/agentic/mcp-servers/{mcpServerId}
PATCH /ai-service/{tenant}/agentic/mcp-servers/{mcpServerId} HTTP/1.1
Host: api.emporix.io
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 65

[
  {
    "op": "REPLACE",
    "path": "/name",
    "value": "New Custom MCP Server"
  }
]

No content

Last updated

Was this helpful?