MCP phone receptionist
An mcp phone receptionist is a server an agent can call when a business needs a phone line. The agent creates the business, teaches the receptionist, sets who gets a transfer, and orders a US local number. A person still pays, and a person still answers a verification call. The agent does not become the voice on the phone. RingKit's receptionist answers the line, says it is an AI, and works from the brief the agent stored.
If you wanted a button tour inside Claude or ChatGPT, that is a different page. This one is the tool order on RingKit's own server. Keep the docs open beside it. What follows is the sequence, the two places a person has to act, and the limits the server will not paper over. A person still pays, and a person still reads a code aloud. The rest of the list is a tool call.
What you are connecting to
The Model Context Protocol specification (the 2025-11-25 revision, read for this article) defines a way for applications to share context with a language model and to expose tools the model can run. It separates hosts, the apps that start a connection, from clients inside those hosts, and from servers that offer capabilities. Tools are one of those capabilities: functions the model can execute. The specification expects people to consent before tools run, and it treats tool descriptions as untrusted unless they come from a server you chose.
RingKit's server is one server, at https://api.ringkit.com/mcp. The product docs say it speaks Streamable HTTP, is stateless, and takes POST only. You put an API key in the Authorization: Bearer rk_… header once you have a key. Creating the business is the exception: ringkit_create_business works with no key and returns the key once. Reconnect with that key for everything else. There are no SDKs yet. Use the HTTP API, or this MCP server. Do not look for a client library in the docs.
The same product surface exists as REST at https://api.ringkit.com/v1. MCP is the tool list over that lifecycle, not a second product. The full writeup, including the tool table, is the agent section of the docs.
The order that matches the docs
The docs number the tools in the order of tools/list. Funding sits before the number because ordering a number needs $2 of paid credit in the wallet. A text simulation does not need a number, and it is billed like a call at the AI rate. These are the steps that matter if you are standing up a line:
| Step | Tool | What happens |
|---|---|---|
| Create | ringkit_create_business | No key. Save the business id and the API key. The key is shown once. |
| Teach | ringkit_start_knowledge_import or ringkit_put_knowledge | Import a website in the background, or write the brief yourself. |
| Voice | ringkit_list_voices, then ringkit_update_business | Optional. You can keep the default. |
| Route | ringkit_put_routing | Name the team's numbers and when to transfer. ai_only means the receptionist answers. |
Stop there until the owner has read the profile. A number ordered against an empty brief is a line that can only take a message.
Pay, then order the number
The next tools spend money or ring a phone. Do them after the brief exists.
| Step | Tool | What happens |
|---|---|---|
| Try | ringkit_simulate_call | Typed lines, no phone number yet. Billed from the wallet. |
| Fund | ringkit_top_up | Returns a checkout link. A person opens it and pays. |
| Number | ringkit_search_numbers, then ringkit_provision_number | US local numbers by area code. $1.99 a month, after the paid credit is there. |
| Verify | ringkit_verify_destination, then ringkit_confirm_destination | A call reads a 6-digit code. A person says it back. |
Each tool result includes a next field naming the tool that usually follows. Errors use the same JSON shape as the REST API, with a hint. On a POST, send an idempotency key and reuse it only when you are retrying that same request. A new key means you meant to do the thing again.
The agent quickstart in the docs leaves ownerPhone off the create call. A phone number on the business has to be verified first, and create will refuse an unverified one. Add the owner's mobile when you verify it, not before.
The brief is what the caller hears
Leave the brief in the owner's words. Hours, services, prices, and the transfer rules are what callers hear. If the import fills empty fields from a website, read them before you trust them. The receptionist will not invent a policy you did not store, and it will not book a calendar. A request for a time becomes a message in the summary.
The background import fills only fields that are still empty. It does not replace a price the owner already typed, and it does not touch a document they uploaded. Poll onboarding until that import is done or failed. If it fails, write the profile with ringkit_put_knowledge or merge a correction with ringkit_patch_knowledge. A homepage is not a clean brief. A banner price can be a promotion that ended, and a service you stopped offering can still be on the page. Callers will hear whatever you leave in.
Documents are a separate path. The docs allow PDF, DOCX, TXT, Markdown, and HTML, up to 10 MB each. You post a file name and the file as base64, and text is extracted at upload. Do not upload a file you have not read. Setup chat is the third path: start a conversation, answer in plain sentences, and the assistant writes hours, services, policies, and transfers as you go. All three paths land in the same profile.
Two moments that are not tool calls
ringkit_top_up does not charge a card by itself. It returns a checkout link a person has to open and pay. Nobody has to sign in before the number can be ordered, once that paid credit is in the wallet. The smallest top-up is $10. Talk time is $0.20 a minute, the first 10 seconds of a call are free, and then billing is in 6-second increments. The number is $1.99 a month from that same wallet. Rates are on the pricing page.
Do not tell the agent the simulation is free. ringkit_simulate_call is billed like a call. If the wallet is empty, do not assume the typed test will run. Fund first if you need the test to spend.
The second human moment is the phone. ringkit_verify_destination calls a number the business configured and reads a 6-digit code. That code is the person's consent to be called. ringkit_confirm_destination sends the code back. ringkit_test_call then rings that verified number. The agent can place those requests. It cannot hear the code, and it should not invent one.
An owner invite is optional. ringkit_invite_owner emails a sign-in link. The line can run before the owner opens it. When they do, the dashboard shows the business was set up by an agent, and they can rotate the key. You can keep operating the line either way.
What this server will not do
It will not port a number. The business keeps an existing number at the carrier and forwards it, or it publishes the new RingKit number. Webhooks are included if you want call.completed, message.taken, or balance.low posted to a URL you own. That is your endpoint, not a packaged connection to other software.
It will not answer the telephone. The receptionist does, on the number you provisioned, from the brief you stored. The MCP client is the setup channel. If you are pasting a connector URL into Claude or ChatGPT, use the steps already written for those clients: Claude phone connector and ChatGPT phone connector. Those pages stick to the OAuth URLs in the project notes. They are not this tool list, and ChatGPT does not place or answer the call.
Forty-nine tools are listed in the docs, including calls, recordings, API keys, and webhooks after the line is up. Follow next, read the hint on an error, and stop when a step needs a person. The phone works after those two stops, not before.