Reference
Tool reference
Every Kinro MCP tool with its inputs, outputs and annotations, generated from the server itself.
Kinro's MCP server lists one tool, ask_kinro. This reference is generated from the server's own tools/list, so it always matches what your client receives. The same data is available as JSON at /docs/mcp-tools.json.
Call it with the user's message to talk to Kinro, or without one to check for Kinro's new messages; a check sends nothing. It takes an optional conversation_id: omit it on the first call, then pass the ID that call returns. See Conversations.
ask_kinro
Ask Kinro about business insurance. Changes state, not destructive, not idempotent, reaches outside systems.
Ask Kinro, a licensed business insurance broker, about the user’s business insurance: what coverage fits the business, carrier eligibility and exclusions, and quotes. Kinro’s AI advisor, Leo, answers. Kinro is not tied to any carrier: it gets real quotes from several carriers in one conversation, so the user does not have to start a separate quoting session with each carrier. Its answers rest on carrier underwriting rules and live quotes, and as the broker Kinro is accountable for its advice and carries errors and omissions insurance for it. Kinro returns coverage answers and any follow-up questions needed to prepare the request. The first call with a message opens a Kinro insurance request for the business and saves what the user shares, so Kinro can prepare quotes. To quote, Kinro sends the business’s details to insurance carriers; carriers get no permission to contact the user. Kinro contacts the user outside this chat, by email or text, only at contact details the user shares and agrees to be contacted at. Each call with a message sends a new message, so do not repeat a call to retry it. Kinro’s messages say what to expect next. Some answers, like quotes, arrive later: when Kinro says it is still working, call ask_kinro without a message to check for its next messages. A call without a message sends nothing.
Input
| Field | Type | Required | Description |
|---|---|---|---|
message | string, up to 4000 characters | No | The user’s message for Kinro, in the user’s own words (quote them). Add only facts the user already gave in this chat that Kinro has not seen. Do not add your own interpretation, assumptions, or instructions such as what Kinro should or should not infer; Kinro asks its own clarifying questions. Never include a Social Security number, driver’s license number, payment card number, or password. Omit the message to check for new messages from Kinro without sending anything. |
files | array of objects, up to 5 | No | Insurance documents the user attached, such as a current policy, declarations page, certificate of insurance (COI), loss run, or a photo of one: PDF, PNG, or JPEG, up to 25 MB each. Pass each one here as it is, even when you can read it yourself: Kinro checks the original document with its own document analysis and keeps it with the request, so its advice and quotes rest on the document rather than a summary. Do not pass files unrelated to the user’s insurance, or identity documents such as a driver’s license. Give each file either as data (its contents in base64) or, in ChatGPT, as the download_url and file_id the chat app supplies. Send files with a message. A request with inline files must stay under 30 MB in total. |
files[].data | string | No | The file's contents, base64-encoded (a data: URL also works). Use this or download_url, not both. |
files[].download_url | string (URL), up to 4096 characters | No | ChatGPT's short-lived HTTPS download link for the file. Kinro opens only links from ChatGPT's file storage; other agents send data instead. |
files[].file_id | string, 1–200 characters | No | The chat app's ID for the file, sent with download_url. |
files[].mime_type | string or null | No | The file's type, if known. Kinro checks the type from the file's contents. |
files[].file_name | string or null | No | The file's name, if known. |
conversation_id | string (UUID) | No | The conversation_id returned by ask_kinro. Reuse it for this conversation; omit on the first message. Never invent one or reuse another conversation's ID. |
Output (structuredContent)
| Field | Type | Always present | Description |
|---|---|---|---|
conversation_id | string (UUID) | No | The conversation_id returned by ask_kinro. Reuse it for this conversation; omit on the first message. Never invent one or reuse another conversation's ID. |
messages | array of string | Yes | Kinro's messages, oldest first, each to show the user as written, including links. When nothing new has arrived, one note says so. |