API reference · Guides
MCP server
Your workspace as a Model Context Protocol server. Point any AI assistant or MCP client that speaks streamable HTTP, at it and ask about your conversations in plain language.
Connect
Endpoint https://icebot.icebergaisolutions.com/api/mcp, JSON-RPC 2.0 over HTTP POST, authenticated with the same API keys as the REST API. The key decides which agent the client sees.
{
"mcpServers": {
"icebot": {
"type": "http",
"url": "https://icebot.icebergaisolutions.com/api/mcp",
"headers": { "Authorization": "Bearer ibk_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" }
}
}
}curl -X POST https://icebot.icebergaisolutions.com/api/mcp \
-H "Authorization: Bearer $ICEBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Tools
A key is shown only the tools its scopes allow. With no scopes the server is read-only. Writes are internal and reversible: nothing here messages a customer, changes a script or deletes anything, and every write is recorded in the audit log against the key.
| Tool | Scope | What it does |
|---|---|---|
list_conversations | None (read) | Conversations, newest activity first. Arguments: limit, status (open, pending, closed). |
get_conversation | None (read) | One conversation with its status, labels, AI summary and messages. Argument: conversation_id. |
conversation_report | None (read) | Volume, how conversations finished, outcome mix and channel split for the recent period. |
set_conversation_labels | conversations:label | Replace the labels on a conversation. Arguments: conversation_id, labels. |
set_conversation_status | conversations:status | Move a conversation to open, pending or closed. Arguments: conversation_id, status. |
add_conversation_note | conversations:note | Add an internal note, never sent to the customer. Arguments: conversation_id, body. |
Methods: initialize, tools/list, tools/call and ping. See the endpoint reference for a full request and response.