Channelized Docs
API referenceMCP

Send an MCP request

The company’s assistant as a Model Context Protocol server, over JSON-RPC 2.0. Any MCP client (ChatGPT, Claude, or your own) connects to this URL.

  • Send one request or a batch of up to 20, at most 256 KB in total.
  • initialize returns an Mcp-Session-Id header. Send it back on later requests.
  • Without a token the caller is a guest, and public tools work. A personal tool answers 401 with a WWW-Authenticate header that points to the sign-in discovery document. Sign the customer in and retry.
  • A company that has not set up customer sign-in serves guests only: a personal tool answers with an error saying so instead of 401, and a request carrying a token is refused with 401.
  • tools/list returns the tools this company offers. They differ from company to company. With customer sign-in set up, a guest sees the personal tools too. Every tool's securitySchemes then lists both noauth and oauth2, and a personal tool called as a guest answers 401. Its result also carries the challenge in _meta["mcp/www_authenticate"].
POST
/v1/{tenantKey}/mcp
AuthorizationBearer <token>

An OAuth access token for one of the company’s customers, obtained through the sign-in the MCP client runs. Optional: without it the caller is a guest and only public tools work.

In: header

Path Parameters

tenantKeystring

The company’s key: the short name in its assistant’s address. It appears in the console’s address and on its Connect an assistant page.

Header Parameters

Mcp-Session-Id?string

The session id initialize returned. Omit on initialize.

One JSON-RPC request, or a batch of them.

jsonrpcunknown
id?string | integer

Omit for a notification, which gets no reply.

methodstring

An MCP method.

params?object

Empty Object

Items1 <= items <= 20

Response Body

curl -X POST "https://api.eu.channelized.ai/v1/string/mcp" \  -H "Mcp-Session-Id: string" \  -H "Content-Type: application/json" \  -d '{    "jsonrpc": "2.0",    "method": "initialize"  }'
{
  "jsonrpc": "2.0",
  "id": "string",
  "result": {},
  "error": {
    "code": 0,
    "message": "string"
  }
}
Empty
{
  "jsonrpc": "2.0",
  "id": "string",
  "result": {},
  "error": {
    "code": 0,
    "message": "string"
  }
}
Empty
{
  "jsonrpc": "2.0",
  "id": "string",
  "result": {},
  "error": {
    "code": 0,
    "message": "string"
  }
}
{
  "jsonrpc": "2.0",
  "id": "string",
  "result": {},
  "error": {
    "code": 0,
    "message": "string"
  }
}
{
  "jsonrpc": "2.0",
  "id": "string",
  "result": {},
  "error": {
    "code": 0,
    "message": "string"
  }
}