MCP Server
Linked agents are exposed as callable MCP tools through the Model Context Protocol.
On this page
One endpoint supports stateless 2026-07-28 requests with server/discover; Streamable HTTP versions 2025-11-25, 2025-06-18, and 2025-03-26 with initialize and notifications/initialized; and HTTP/SSE version 2024-11-05. tools/list and tools/call work with every supported version. The 2026-07-28 discovery and tool-list responses use ttlMs: 0 and cacheScope: private, so clients revalidate them instead of sharing cached results.
Protocol scope
GET/SSE is available with 2024-11-05, and ping is available with the non-stateless protocol versions. Neither is part of the 2026-07-28 stateless protocol. Connic exposes linked agents as tools only: it does not expose MCP resources, prompts, or subscriptions, and it does not implement the optional Tasks or MCP Apps extensions.
Compare the MCP server, connector, and client roles when an agent also needs to consume tools from an external MCP server.
Setup Instructions
Create the connector
Open the agent, click Add inbound connector in the Connector Flow, then Create New Connector and select MCP Server.
Choose Sync mode and copy credentials
Select Sync mode and click Create. The detail drawer opens automatically with the Endpoint URL and Secret in the Configuration section. All linked agents become callable MCP tools. To view credentials later, hover over the connector in the Connector Flow and click the Eye icon.
Add to the MCP client
Paste the endpoint into the MCP client config. Use 2026-07-28 stateless requests, one of the supported Streamable HTTP versions, or 2024-11-05 HTTP/SSE.
Response Format
This example shows the 2026-07-28 response. Other supported versions receive the same tool content without resultType.
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"resultType": "complete",
"content": [
{
"type": "text",
"text": "The invoice total is $1,234.56. Payment due: Jan 15, 2025."
}
],
"isError": false,
"_meta": {
"io.modelcontextprotocol/serverInfo": {
"name": "connic-mcp-server",
"title": "Connic MCP Server",
"version": "1.0.0"
}
}
}
}Agent failures return a tool result with isError: true and a failed connector run. Structured input errors appear under structuredContent.error.
- Mode: Sync (wait for result) or Inbound (fire & forget)
- Require Auth: Enable/disable secret key authentication (default: enabled)
When created, the connector generates a unique Endpoint URL and Secret Key.
Linked Agents as Tools
Link agents to the MCP connector from the agent detail page. Each linked agent is exposed as a tool with a standardized input schema:
// Each linked agent becomes a tool with this schema
{
"name": "agent_name", // Agent name (lowercase, underscores)
"title": "Agent Name", // Display name
"description": "Invoke the Agent Name agent",
"inputSchema": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "The message or prompt to send to the agent"
},
"payload": {
"type": "object",
"description": "Additional structured data to pass to the agent"
}
},
"required": ["message"]
}
}Agent names are converted to lowercase with spaces and hyphens replaced by underscores:Invoice Processor → invoice_processor
Calling a Tool
Use tools/call to invoke an agent:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "invoice_processor",
"arguments": {
"message": "Process this invoice and extract the total",
"payload": {
"invoice_id": "INV-12345",
"customer": "Acme Corp"
}
},
"_meta": {
"io.modelcontextprotocol/protocolVersion": "2026-07-28",
"io.modelcontextprotocol/clientInfo": {
"name": "your-mcp-client",
"version": "1.0.0"
},
"io.modelcontextprotocol/clientCapabilities": {}
}
}
}The example shows the 2026-07-28 request metadata. Clients using that version also send MCP-Protocol-Version, Mcp-Method, and Mcp-Name headers. MCP SDKs handle these fields automatically.
message (required): The prompt sent to the agent
payload (optional): Additional structured fields merged into the agent input
Attachments go in payload.files, with name, mime_type, and base64-encoded data. An input accepts up to 10 files, 10 MiB per file and 10 MiB combined. At the first count or size overflow, earlier complete files and the message remain available; later files are omitted with reasons in file_issues. The tool result reports accepted, omitted, and issues under structuredContent.
Files are optional by default. Enable Files required on the agent link, or set files_required: true in its configuration, to fail before execution when a file is missing or omitted. Optional content can also be omitted if it exceeds the later input-review budget. The complete JSON-RPC body is limited to 16 MiB, including base64 encoding and metadata. Larger requests return HTTP 413 with JSON-RPC error data code: "request_too_large"; retry with a smaller body.
Authentication
Include the connector's static secret key in every request using one of these headers:
# Authorization header (recommended)
Authorization: Bearer your-secret-key
# Or X-Connic-Secret header
X-Connic-Secret: your-secret-keyThe connector uses a pre-shared secret. It does not provide MCP OAuth discovery or an interactive OAuth authorization flow. Browser requests that include an Origin header are rejected; use a native or server-side MCP client.
Setup Instructions
Create the connector
Open the agent, click Add inbound connector in the Connector Flow, then Create New Connector and select MCP Server.
Choose Inbound mode and copy credentials
Select Inbound mode and click Create. The detail drawer opens automatically with the Endpoint URL and Secret in the Configuration section. To view credentials later, hover over the connector in the Connector Flow and click the Eye icon.
Connect the client
Tool calls return immediately with a run ID. Results are available in the dashboard or via an outbound connector.
Response Format
This example shows the 2026-07-28 response. Other supported versions receive the same tool content without resultType.
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"resultType": "complete",
"content": [
{
"type": "text",
"text": "Agent run started with ID: 550e8400-e29b-41d4-a716-446655440000"
}
],
"isError": false,
"_meta": {
"io.modelcontextprotocol/serverInfo": {
"name": "connic-mcp-server",
"title": "Connic MCP Server",
"version": "1.0.0"
}
}
}
}- Mode: Sync (wait for result) or Inbound (fire & forget)
- Require Auth: Enable/disable secret key authentication (default: enabled)
When created, the connector generates a unique Endpoint URL and Secret Key.
Linked Agents as Tools
Link agents to the MCP connector from the agent detail page. Each linked agent is exposed as a tool with a standardized input schema:
// Each linked agent becomes a tool with this schema
{
"name": "agent_name", // Agent name (lowercase, underscores)
"title": "Agent Name", // Display name
"description": "Invoke the Agent Name agent",
"inputSchema": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "The message or prompt to send to the agent"
},
"payload": {
"type": "object",
"description": "Additional structured data to pass to the agent"
}
},
"required": ["message"]
}
}Agent names are converted to lowercase with spaces and hyphens replaced by underscores:Invoice Processor → invoice_processor
Calling a Tool
Use tools/call to invoke an agent:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "invoice_processor",
"arguments": {
"message": "Process this invoice and extract the total",
"payload": {
"invoice_id": "INV-12345",
"customer": "Acme Corp"
}
},
"_meta": {
"io.modelcontextprotocol/protocolVersion": "2026-07-28",
"io.modelcontextprotocol/clientInfo": {
"name": "your-mcp-client",
"version": "1.0.0"
},
"io.modelcontextprotocol/clientCapabilities": {}
}
}
}The example shows the 2026-07-28 request metadata. Clients using that version also send MCP-Protocol-Version, Mcp-Method, and Mcp-Name headers. MCP SDKs handle these fields automatically.
message (required): The prompt sent to the agent
payload (optional): Additional structured fields merged into the agent input
Attachments go in payload.files, with name, mime_type, and base64-encoded data. An input accepts up to 10 files, 10 MiB per file and 10 MiB combined. At the first count or size overflow, earlier complete files and the message remain available; later files are omitted with reasons in file_issues. The tool result reports accepted, omitted, and issues under structuredContent.
Files are optional by default. Enable Files required on the agent link, or set files_required: true in its configuration, to fail before execution when a file is missing or omitted. Optional content can also be omitted if it exceeds the later input-review budget. The complete JSON-RPC body is limited to 16 MiB, including base64 encoding and metadata. Larger requests return HTTP 413 with JSON-RPC error data code: "request_too_large"; retry with a smaller body.
Authentication
Include the connector's static secret key in every request using one of these headers:
# Authorization header (recommended)
Authorization: Bearer your-secret-key
# Or X-Connic-Secret header
X-Connic-Secret: your-secret-keyThe connector uses a pre-shared secret. It does not provide MCP OAuth discovery or an interactive OAuth authorization flow. Browser requests that include an Origin header are rejected; use a native or server-side MCP client.