Get started
Agent skill
One Markdown file that teaches your agent to use Kinro well: the conversation loop, relaying rules and status handling.
Kinro is a licensed commercial insurance brokerage for U.S. small businesses. Its AI advisor, Leo, answers through the Kinro MCP server: it explains coverage for the user's business, asks what carriers need to know, and gets real quotes from several carriers in one conversation. You speak to Kinro for the user; Kinro gives the insurance advice.
Full documentation: https://kinro.com/docs (every page is also available as Markdown, for example https://kinro.com/docs/conversations.md).
Connect
Add the remote MCP server https://api.kinro.com/mcp (Streamable HTTP, no authentication). Set the tool timeout to at least 60 seconds, or 320 seconds in Codex. If the Kinro tools are not available, tell the user how to add the server (https://kinro.com/docs/quickstart) instead of answering insurance questions from memory.
The conversation loop
You talk to Kinro with two tools. ask_kinro tells Kinro what the user needs; every call sends a message. get_kinro_messages gets Kinro's new messages and reads the conversation back; it sends nothing.
- Tell Kinro what the user needs. Call
ask_kinrowithmessageset to what the user wants and the business details they have given you. Omitconversation_idon the first call. - Keep the conversation ID. Save the
conversation_idfrom the result (instructuredContent, and as a finalconversation_id: …text line). Pass it on every laterask_kinroandget_kinro_messagescall for this business. ChatGPT and Codex keep the conversation together on their own and return no ID. - Save and show every message. Keep calls sequential and save each result. Show each message in
messagesto the user, in order and as written, including links. If a result is lost, or you are unsure what Kinro last said, read the conversation withget_kinro_messages(the latest 5 messages by default,limitup to 100) instead of resending. - Do what Kinro's messages say. Kinro's messages say what happens next and when. When Kinro asks something, answer from what the user has told you, ask the user the rest, and send the answers with
ask_kinro. Send the user's follow-up requests the same way. When Kinro says it is still working, for example on its reply or pricing a quote, callget_kinro_messageswithwait: true, and tell the user what Kinro is doing rather than staying silent. It returns as soon as a new message arrives, or after a short wait with the noteNo new messages from Kinro yet.Show the user every message markednew. - Show the quote. A quote arrives as a short message with the price and a link to the full quote on kinro.com. Show it as written, including the link. If you can open web pages, open the link and go through the full quote with the user: what it covers, what it excludes, and what it costs. Never buy or enter payment details for the user; the user reviews and buys there.
Rules
- Speak for the user. Tell Kinro what the user wants and the facts they have given you, as their representative. Do not paste your conversation with the user, and leave out what the user said only to you, such as which tool or endpoint to use. Never guess a fact about the business, and do not tell Kinro what to infer. Kinro asks its own clarifying questions.
- Testing is a real conversation. On the test endpoint (https://kinro.com/docs/quickstart#test-your-integration), Kinro handles every conversation as a real insurance request. When the user has you make up a business, choose details that look real (no placeholders such as "123 Test Lane") and give them as plain facts, the way its owner would. Do not call the details fake, fictional or a test, or ask for a test quote: Kinro does not quote details it is told are not real.
- Never send sensitive identifiers. Never include a Social Security number, driver's license number, payment card number or password, even if the user offers one. Kinro collects anything sensitive it needs outside the chat.
- One message at a time. Each
ask_kinrocall sends a new message. Never retry it to resend; wait for the reply before sending the next message. If a call fails, check withget_kinro_messagesbefore asking the user whether to send it again. - One business per conversation. Start a new conversation (omit
conversation_id) only for a different business. - Do not overstate. A quote is not coverage. Do not tell the user they are covered until they have bought the policy on kinro.com and Kinro has confirmed it. Do not invent prices, carriers or terms; use only what Kinro returns.
- Contact consent is the user's. Kinro emails or texts the user only at contact details they share and agree to. Do not share contact details the user has not given you for this purpose.
- Documents: pass insurance documents the user shared (policy, declarations page, certificate of insurance, loss run; PDF, PNG or JPEG up to 25 MB, up to 5 per message) in
files, as they are. Send each file's contents base64-encoded indata; in ChatGPT you can pass itsdownload_urlandfile_idinstead. Keep a request with inline files under 30 MB. Do not pass identity documents or unrelated files.
Waiting for quotes
Quotes usually arrive within a few minutes of Kinro saying it is pricing one. Until the quote arrives, check with get_kinro_messages with wait: true when Kinro says to expect it. If the user leaves, Kinro can send the quote by email or text at contact details they agreed to.
Errors
- HTTP
429: wait forRetry-Afterseconds, then retry. Nothing was processed. - HTTP
503: retry after a short wait. Nothing was processed. - A tool result with
isError: trueexplains what happened. Follow its instruction; never resend a message automatically when completion is unknown. - A paused connection: tell the user to try again later or contact Kinro at kinro.com.
Error reference: https://kinro.com/docs/errors.md
About Kinro
Kinro Insurance Services LLC is an independent insurance agency licensed in all 50 U.S. states and Washington, D.C. It is not an insurance carrier. Licensed insurance professionals handle work that needs licensed judgment. Privacy and data use: https://kinro.com/docs/trust.md