AlomanaAlomanaAlomana Docs
Connectors

MCP connections

MCP connections expose tools from a remote Model Context Protocol server to an agent. Register the endpoint in Central Hub, test it to discover its tools, then attach its connection ID to enabled_mcp_connection_ids.

An MCP connection includes a URL, transport, authentication mode, encrypted credentials, and scope_visibility (private or space). Use the MCP endpoints to create, update, delete, test, and refresh discovered tools. Rotate credentials through the connection instead of embedding secrets in prompts or skills.

Authentication

Every MCP endpoint accepts an API key and selects a workspace with X-Space-Slug:

X-API-Key: sk-...
X-Space-Slug: acme-manufacturing

Endpoints

MethodURLPurpose
GET/api/v1/mcp-connections/List the MCP connections the key can see
GET/api/v1/mcp-connections/{connection_id}/Read one connection, including its discovered_tools
POST/api/v1/mcp-connections/{connection_id}/call/Invoke a discovered tool and get its structured result
POST/api/v1/mcp-connections/{connection_id}/test/Re-test the endpoint and refresh discovered tools

Creating, updating, and deleting MCP connections is also available; those routes manage encrypted credentials and are typically driven from the UI.

List MCP connections

curl "$CENTRAL_HUB_URL/api/v1/mcp-connections/" \
  -H "X-API-Key: $ALO_API_KEY" \
  -H "X-Space-Slug: $WORKSPACE_SLUG"

Each item includes id, name, and transport (for example streamable_http).

Inspect a connection's tools

A connection's callable tools live on the discovered_tools field of the single-connection read. Always inspect these before calling — each tool carries the input_schema your arguments must satisfy.

curl "$CENTRAL_HUB_URL/api/v1/mcp-connections/5/" \
  -H "X-API-Key: $ALO_API_KEY" \
  -H "X-Space-Slug: $WORKSPACE_SLUG"
{
  "id": 5,
  "name": "EFG Jedify MCP",
  "transport": "streamable_http",
  "discovered_tools": [
    {
      "name": "search_issues",
      "description": "Search issues",
      "input_schema": {
        "type": "object",
        "properties": { "query": { "type": "string" } },
        "required": ["query"]
      }
    }
  ]
}

If discovered_tools is empty or stale, POST .../{connection_id}/test/ to re-probe the server and refresh the list.

Call a tool

Invoke a discovered tool server-side. The body names the tool and its arguments; the response's result is the tool's structured output.

curl -X POST "$CENTRAL_HUB_URL/api/v1/mcp-connections/5/call/" \
  -H "X-API-Key: $ALO_API_KEY" \
  -H "X-Space-Slug: $WORKSPACE_SLUG" \
  -H "Content-Type: application/json" \
  -d '{
    "tool_name": "search_issues",
    "arguments": { "query": "renewal overdue" }
  }'
FieldTypeRequiredNotes
tool_namestringyesMust match a name from discovered_tools
argumentsobjectyesMust satisfy that tool's input_schema (may be {} if the schema takes no input)

The response is { "result": <tool output> }. Central Hub holds the encrypted credentials and performs the call on the server side, so no MCP secret ever passes through the client. An unknown tool_name or invalid arguments may come back as a server-side error payload rather than a hard HTTP error — check the tool's schema first, and only call tools that appear in discovered_tools.

Attach to an agent

To let an agent use these tools during a run, add the connection ID to the agent's enabled_mcp_connection_ids (see Create and configure an agent), or pass it per run via runtimeConfig.mcp_connection_ids (see Run and stream an agent).

On this page