RingKit

com.ringkitPublished by ringkit.comOfficial publisherv0.0.3Updated Nov 6, 2026

Cheapest AI virtual assistant for your business line: $1.99/mo per number, then pay only for usage.

VerifiedStreamable HTTPWeb executableFinanceCommunication & CollaborationBusiness & Commerce

Overview

AI-generated overview

RingKit sets up and runs an AI phone receptionist for a business: knowledge, voice, routing, phone number, test calls and billing, all from the assistant.

What you can do
  • Create and inspect the business, its API keys and onboarding progress
  • Build the receptionist's knowledge from a website import, a setup chat, direct profile edits or uploaded documents
  • Choose a voice, update business details and set the routing policy and voice stack
  • Simulate calls in text, search and provision phone numbers, verify destinations and place real test calls
  • Read the wallet, top up, manage auto-refill and the ledger, and review recent calls with transcripts and recordings
When to use it
Use it when you want an assistant to stand up or operate a RingKit AI receptionist end to end: teaching it about the business, picking a voice, getting a number and checking how calls went. It is aimed at small businesses that want a cheap per-minute phone line rather than a full telephony stack.
Requirements
A remote streamable HTTP endpoint; no local install. Only ringkit_create_business works without credentials; it returns an API key to send as the Authorization header (Bearer rk_...). A human must pay through a checkout URL for top-ups and number rental, and someone must answer a verification call to read back a 6-digit code.
Before you install
It spends real money: number rental at $1.99/month, per-minute call charges, a $5/month pro knowledge tier and top-ups of at least $10, all drawn from a prepaid wallet with optional auto-refill. It places real phone calls and orders numbers, and the API key it returns is shown once. Website content and caller transcripts are untrusted input, and website-derived facts should be confirmed with the owner.

Installation

In SourceWeft

  1. Open RingKit in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.ringkit%2Fringkit/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "ringkit": {
      "type": "http",
      "url": "https://api.ringkit.com/mcp"
    }
  }
}

Tools

51

ringkit_create_business

Create business

Step 1: Create the business. Create a RingKit business (pay-per-minute AI phone receptionist) and its first API key, returned once. No auth needed: this is how an agent starts. Identical requests are deduplicated for 24 hours; use a new idempotencyKey only to deliberately repeat the action.

ParametersnamerequirednotifywebsitetimezonerequiredverticalownerEmailrequiredownerPhoneidempotencyKey

ringkit_whoami

Show connected business

Step 1: Create the business. The business behind the API key on this connection, with authKind, role and the key's scope (manage or read).

Takes no parameters.

ringkit_get_onboarding

Get setup progress

Setup progress: the next step (number | done), whether the business has a number, whether the knowledge profile has the basics, and the latest website import.

ParametersbusinessId

ringkit_start_knowledge_import

Start website import

Step 2: Teach it the business. Import the business website into the knowledge profile in the background: returns the queued import; poll ringkit_get_latest_knowledge_import until done or failed. Only fields that are still empty are filled; uploaded documents are never touched. An unfinished import is returned instead of starting another. Identical requests are deduplicated for 24 hours; use a new idempotencyKey only to deliberately repeat the action.

ParametersurlrequiredbusinessIdidempotencyKey

ringkit_get_latest_knowledge_import

Get website import status

Step 2: Teach it the business. The newest website import and its status (queued, running, done, failed), or null when none was started.

ParametersbusinessId

ringkit_import_knowledge

Import website now

Step 2: Teach it the business. Crawl the business website now and draft a knowledge profile (hours, services, FAQs...). Set apply=true to save it, or review and use put/patch. Reuse an idempotencyKey when retrying; without one, each call executes again.

ParametersurlrequiredapplybusinessIdidempotencyKey

ringkit_start_setup_chat

Start setup chat

Step 2: Teach it the business. Open the setup assistant: a chat that interviews the owner and saves the answers (hours, services, policies, transfers...) into the knowledge profile and routing. Returns the open conversation with the assistant's opening message (restart=true starts over). Capped per business per day. Reuse an idempotencyKey when retrying; without one, each call executes again.

ParameterscontextrestartbusinessIdidempotencyKey

ringkit_send_setup_chat

Send setup chat message

Step 2: Teach it the business. Send the owner's message to the setup assistant (conversationId from ringkit_start_setup_chat). The reply lists what was saved in `writes`. Reuse an idempotencyKey when retrying; without one, each call executes again.

ParameterstextrequiredbusinessIdconversationIdrequiredidempotencyKey

ringkit_get_setup_chat

Get setup chat

The open setup-assistant conversation with its messages, or null.

ParametersbusinessId

ringkit_close_setup_chat

Close setup chat

Close a setup-assistant conversation (conversationId); what it saved stays saved. Reuse an idempotencyKey when retrying; without one, each call executes again.

ParametersbusinessIdconversationIdrequiredidempotencyKey

ringkit_put_knowledge

Replace business knowledge

Step 2: Teach it the business. Replace the whole knowledge profile the AI receptionist answers from. Reuse an idempotencyKey when retrying; without one, each call executes again.

ParametersfaqsvibeemailhoursphonestaffaddresssummarytaglinedoNotSayevidencegreeting+12 more

ringkit_patch_knowledge

Update business knowledge

Step 2: Teach it the business. Update some top-level fields of the knowledge profile (others are kept). Reuse an idempotencyKey when retrying; without one, each call executes again.

ParametersfaqsvibeemailhoursphonestaffaddresssummarytaglinedoNotSayevidencegreeting+12 more

ringkit_get_knowledge

Get business knowledge

Read the knowledge profile the receptionist answers from (services, hours, FAQs, policies).

ParametersbusinessId

ringkit_upload_knowledge_document

Upload knowledge document

Step 2: Teach it the business. Upload a document the receptionist should answer from (menu, price list, policies, manual). contentBase64 is the file's bytes, base64-encoded; fileName's extension picks the type: .pdf, .docx, .txt, .md, .html (PDF/DOCX only where the server has them enabled). Text is extracted at upload and searched on every call; a website import never removes uploads. Limits by tier (see get_knowledge_usage): 10 MB per file; Starter 5 documents / 50k tokens, Pro 100 / 500k. Identical requests are deduplicated for 24 hours; use a new idempotencyKey only to deliberately repeat the action.

ParametersfileNamerequiredbusinessIdcontentTypecontentBase64requiredidempotencyKey

ringkit_list_knowledge_documents

List knowledge documents

List uploaded knowledge documents (newest first) with usage against the tier's limits.

ParametersbusinessId

ringkit_get_knowledge_document

Get knowledge document

Read one uploaded document (documentId) with its extracted sections.

ParametersbusinessIddocumentIdrequired

ringkit_delete_knowledge_document

Delete knowledge document

Delete an uploaded knowledge document (by documentId); the receptionist stops using it on the next call. Reuse an idempotencyKey when retrying; without one, each call executes again.

ParametersbusinessIddocumentIdrequiredidempotencyKey

ringkit_get_knowledge_usage

Get knowledge usage

Read the knowledge tier (starter | pro), its limits, and how many documents/tokens are used.

ParametersbusinessId

ringkit_set_knowledge_tier

Change knowledge tier

Switch the knowledge tier. pro: 100 documents / 500k tokens for $5.00/month, accrued daily from the wallet (needs $5 of paid credit available; free trial credit doesn't count); starter: free, 5 documents / 50k tokens (refused while usage is over those limits). Reuse an idempotencyKey when retrying; without one, each call executes again.

ParameterstierrequiredbusinessIdidempotencyKey

ringkit_list_voices

List voices

Step 3: Pick a voice. List the receptionist voices (id, gender, accent) and the default. Pick one with ringkit_update_business {voice}.

Takes no parameters.

ringkit_update_business

Update business details

Step 3: Pick a voice. Update the business: name, timezone, vertical, website, or `voice` (the receptionist's voice, an id from list_voices). Owner identity (ownerEmail, ownerPhone), status and notify need an owner; API keys are owners. Reuse an idempotencyKey when retrying; without one, each call executes again.

ParametersnamevoicenotifystatuswebsitetimezoneverticalbusinessIdownerEmailownerPhoneidempotencyKey

ringkit_get_routing

Get call routing

Step 4: Decide who answers. Read the routing policy: when the AI answers, transfers or takes a message, the schedules, transfer targets and spend cap.

ParametersbusinessId

ringkit_put_routing

Set call routing

Step 4: Decide who answers. Set the routing policy: transfer targets (your own team numbers the receptionist can transfer to) and handoff preferences, recording, spend cap. Full replace; omitted fields take defaults. Every call is answered by the AI (mode ai_only): ai_first/human_first are accepted but RingKit's live-rep pool is not offered, so they act as ai_only. Reuse an idempotencyKey when retrying; without one, each call executes again.

ParametersmodehandoffschedulebusinessIddiscloseAiescalateOnrecordCallsafterHoursModeidempotencyKeymaxHumanOfferstransferTargetsdailySpendCapUsd+5 more

ringkit_get_voice_stack

Get voice stack

Read which voice stack answers the AI tier: livekit or elevenlabs (the ElevenLabs Agents platform running the same receptionist brain; a caller who needs a person is still transferred to the business's team number or a message is taken). The server chooses the initial stack based on provider availability. Shows desired vs applied, status ok | pending | error, the steps of the last switch and lastError.

ParametersbusinessId

ringkit_put_voice_stack

Set voice stack

Switch the voice stack: {stack: livekit | elevenlabs}. Applied synchronously (ElevenLabs agent sync, number import or removal, carrier routing), so it can take a few seconds. Needs an active number and ai_only/ai_first routing (human_first answers 409 voice_stack_unsupported_mode). A failed step answers 502 voice_stack_failed with the status in details: call it again with the same stack to resume. Owner only. Reuse an idempotencyKey when retrying; without one, each call executes again.

ParametersstackrequiredbrainModebusinessIdidempotencyKey

ringkit_simulate_call

Simulate a call

Step 5: Try it in text. Try the receptionist in text mode (no number needed; billed like a call at the AI rate from the wallet, the free trial credit covers it). First call: omit callId and pass callerText "" to get the greeting; then pass the returned callId with each caller line. Reuse an idempotencyKey when retrying; without one, each call executes again.

ParametersfromcallIdbusinessIdcallerTextrequiredidempotencyKey

ringkit_get_wallet

Get wallet balance

Step 6: Fund the wallet. Read the prepaid wallet balance (cents), including the unspent free trial credit (trialCreditCents, calls only), and auto-refill.

ParametersbusinessId

ringkit_top_up

Add funds

Step 6: Fund the wallet. Add funds (min $10). Returns a checkoutUrl that the human must open and pay (you can't pay), or null when credited immediately (dev). A retried identical call returns the same checkout URL; pass a new idempotencyKey to start a second top-up of the same amount. Identical requests are deduplicated for 24 hours; use a new idempotencyKey only to deliberately repeat the action.

ParametersreturnTobusinessIdamountCentsrequiredidempotencyKey

ringkit_get_auto_refill

Get auto-refill settings

Read the auto-refill settings (enabled, threshold, amount) and whether a card is saved.

ParametersbusinessId

ringkit_put_auto_refill

Set auto-refill

Step 6: Fund the wallet. Turn auto-refill on or off and set its threshold and amount. It may be enabled before a card is saved; refills start once the human saves one in the dashboard. Reuse an idempotencyKey when retrying; without one, each call executes again.

ParametersenabledrequiredbusinessIdamountCentsrequiredidempotencyKeythresholdCentsrequired

ringkit_list_ledger

List wallet transactions

Wallet ledger entries (top-ups, call charges, rentals), newest first, paginated.

ParameterslimitcursorbusinessId

ringkit_search_numbers

Search phone numbers

Step 7: Get a phone number. Search available phone numbers (US, by area code).

ParameterslimitcountryareaCodecontains

ringkit_provision_number

Get a phone number

Step 7: Get a phone number. Order a phone number for the business ($1.99 a month, billed daily from the wallet). Needs $2 of paid credit available (free trial credit covers calls only); no human sign-in. On 402 funding_required call ringkit_top_up, ask the human to pay the checkoutUrl, then retry. Identical requests are deduplicated for 24 hours; use a new idempotencyKey only to deliberately repeat the action.

ParametersnumberrequiredbusinessIdidempotencyKey

ringkit_list_numbers

List phone numbers

Step 7: Get a phone number. List the business's phone numbers.

ParametersbusinessId

ringkit_release_number

Release phone number

Release a phone number (numberId from list_numbers); it stops taking calls and its rental stops. Reuse an idempotencyKey when retrying; without one, each call executes again.

ParametersnumberIdrequiredbusinessIdidempotencyKey

ringkit_verify_destination

Verify a phone number

Step 8: Place a test call. Call `number` from the business's RingKit number and read a 6-digit code twice (valid 10 minutes), to prove the business controls it. The human who answers must tell you the code for ringkit_confirm_destination. A retried identical call returns the same result; pass a new idempotencyKey to place another verification call. Identical requests are deduplicated for 24 hours; use a new idempotencyKey only to deliberately repeat the action.

ParametersnumberrequiredbusinessIdidempotencyKey

ringkit_confirm_destination

Confirm phone verification

Step 8: Place a test call. Confirm a number with the 6-digit code its verification call read (only the person who answered has it). 5 attempts per code. Reuse an idempotencyKey when retrying; without one, each call executes again.

ParameterscoderequirednumberrequiredbusinessIdidempotencyKey

ringkit_list_destinations

List verified phone numbers

Numbers the business proved it controls (allowed test-call targets and ownerPhone).

ParametersbusinessId

ringkit_test_call

Place a test call

Step 8: Place a test call. Ring `to` from the business's RingKit number with the AI receptionist (a real call, billed at the AI rate). `to` must be configured on the business (ownerPhone, a transfer target or an SMS notify target) and verified. Ask the human to answer and talk to it like a caller. A retried identical call returns the same result; pass a new idempotencyKey to ring again. Identical requests are deduplicated for 24 hours; use a new idempotencyKey only to deliberately repeat the action.

ParameterstorequiredbusinessIdidempotencyKey

ringkit_list_calls

List calls

Step 9: Watch the calls. List recent calls with outcome, intent, summary and cost, newest first (paginated).

ParameterslimitcursorbusinessId

ringkit_get_call

Get call details

Step 9: Watch the calls. One call (callId) with its full transcript.

ParameterscallIdrequiredbusinessId

ringkit_get_recording

Get call recording

Step 9: Watch the calls. A short-lived URL for a call's recording (callId); 404 when the call has none.

ParameterscallIdrequiredbusinessId

ringkit_create_webhook

Create webhook

Step 10: Get told about calls. Subscribe a URL to call.completed / message.taken / balance.low events (HMAC-signed with the returned secret, shown once). Identical requests are deduplicated for 24 hours; use a new idempotencyKey only to deliberately repeat the action.

ParametersurlrequiredeventsrequiredbusinessIdidempotencyKey

ringkit_list_webhooks

List webhooks

Step 10: Get told about calls. List the business's webhook endpoints and their events.

ParametersbusinessId

ringkit_create_api_key

Create API key

Step 11: Manage API keys. Create an API key: scope manage (acts as owner) or read (read-only tools / GET only). The plaintext apiKey is in this result once and never again. Identical requests are deduplicated for 24 hours; use a new idempotencyKey only to deliberately repeat the action.

ParametersnamescopebusinessIdidempotencyKey

ringkit_list_api_keys

List API keys

Step 11: Manage API keys. List the business's API keys (prefix, scope, last use, revoked or not); never the plaintext.

ParametersbusinessId

ringkit_revoke_api_key

Revoke API key

Step 11: Manage API keys. Revoke an API key (keyId from list_api_keys); it stops authenticating at once, including on this connection if it is this key. Reuse an idempotencyKey when retrying; without one, each call executes again.

ParameterskeyIdrequiredbusinessIdidempotencyKey

ringkit_invite_owner

Invite business owner

Step 12: Hand it to the owner. Optional hand-over: emails a sign-in link bound to this business to `email` (default: ownerEmail), adding them as owner first. Nothing in setup needs it: the agent can keep running the line, and the human can take over any time by clicking the link (that sets ownerSignedInAt). 5 per business per hour; pass a new idempotencyKey to send again. Identical requests are deduplicated for 24 hours; use a new idempotencyKey only to deliberately repeat the action.

ParametersemailbusinessIdidempotencyKey

ringkit_get_business

Get business

Step 12: Hand it to the owner. Read the business: profile, voice, status, how it was created (createdVia) and whether a human owner has signed in (ownerSignedInAt).

ParametersbusinessId

ringkit_list_business_users

List business users

Step 12: Hand it to the owner. List the people who can sign in to the business dashboard, with their roles and last sign-in.

ParametersbusinessId

ringkit_complete_onboarding

Finish setup

Step 12: Hand it to the owner. Mark first-run setup finished (the business has a number, or the owner chose to do it later) so the dashboard stops nudging. Reuse an idempotencyKey when retrying; without one, each call executes again.

ParametersbusinessIdidempotencyKey

Version history

1
  1. v0.0.3LatestNov 6, 2026

Score

72% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts

    Publish an icon in the registry entry.

  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.