protogrid

Search / com.ringkit/ringkit

RingKit

R0· no sign-in

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

v0.0.3 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality84new
Trust83of 100
Uptime, 30 days100%
Latency p50461 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "ringkit": {
      "type": "http",
      "url": "https://api.ringkit.com/mcp",
      "headers": {
        "Authorization": "Bearer ${RINGKIT_TOKEN}"
      }
    }
  }
}
claude mcp add --transport http ringkit https://api.ringkit.com/mcp --header "Authorization: Bearer ${RINGKIT_TOKEN}"
[mcp_servers.ringkit]
url = "https://api.ringkit.com/mcp"
bearer_token_env_var = "RINGKIT_TOKEN"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ringkit": {
      "type": "remote",
      "url": "https://api.ringkit.com/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:RINGKIT_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "ringkit": {
      "type": "http",
      "url": "https://api.ringkit.com/mcp",
      "headers": {
        "Authorization": "Bearer ${RINGKIT_TOKEN}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=ringkit&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYXBpLnJpbmdraXQuY29tL21jcCIsImhlYWRlcnMiOnsiQXV0aG9yaXphdGlvbiI6IkJlYXJlciAke1JJTkdLSVRfVE9LRU59In19"
}
{
  "servers": {
    "ringkit": {
      "type": "http",
      "url": "https://api.ringkit.com/mcp",
      "headers": {
        "Authorization": "Bearer ${RINGKIT_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "ringkit": {
      "httpUrl": "https://api.ringkit.com/mcp",
      "headers": {
        "Authorization": "Bearer ${RINGKIT_TOKEN}"
      }
    }
  }
}
extensions:
  "ringkit":
    enabled: true
    name: "ringkit"
    type: streamable_http
    uri: "https://api.ringkit.com/mcp"
    headers:
      "Authorization": "Bearer ${RINGKIT_TOKEN}"
    timeout: 300

Placeholders to fill from your own secret store: ${RINGKIT_TOKEN}. The registry never accepts secret values.

Quality 84 / 100new

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorization83 · weight 15
  • pass
    auth.prmProtected Resource Metadata (RFC 9728) published
  • pass
    auth.as_metadataauthorization server metadata reachable
  • warn
    auth.cimdonly Dynamic Client Registration, deprecated in 2026-07-28 in favour of CIMD
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene93 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations51 of 51 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • warn
    tools.token_costabout 14,201 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pulltool history recorded for 1 of the 7 days needed
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

51 tools, about 14,201 tokens to load them all · tool set d77e0bb2359e · tools last changed 2026-11-06 · checked 2026-11-07 17:28 UTC

Tool changes

  • ringkit_complete_onboardingchangedtitle, annotations
  • ringkit_list_business_userschangedtitle, annotations
  • ringkit_get_businesschangedtitle, annotations
  • ringkit_invite_ownerchangedtitle, annotations
  • ringkit_revoke_api_keychangedtitle, annotations
  • ringkit_list_api_keyschangedtitle, annotations
  • ringkit_create_api_keychangedtitle, annotations
  • ringkit_list_webhookschangedtitle, annotations
  • ringkit_create_webhookchangedtitle, annotations
  • ringkit_get_recordingchangedtitle, annotations

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 83 / 100

no-repository
provenance55
liveness100
freshness100
hygiene80

+dns-namespace +website +reachable +uptime-100% +updated-2d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://api.ringkit.com/mcp streamable-httpnoneyes100%461 ms2025-11-252026-11-07
https://api.ringkit.com/mcp/oauth streamable-httpoauth2 AS: https://api.ringkit.comyes83%441 ms–2026-11-07

Tools (51)

ringkit_close_setup_chatdestructiveClose a setup-assistant conversation (conversationId); what it saved stays saved. Reuse an idempotencyKey when retrying; without one, each call executes again.
ringkit_complete_onboardingdestructiveStep 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.
ringkit_confirm_destinationdestructiveStep 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.
ringkit_create_api_keyStep 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.
ringkit_create_businessStep 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.
ringkit_create_webhookStep 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.
ringkit_delete_knowledge_documentdestructiveDelete 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.
ringkit_get_auto_refillread-onlyRead the auto-refill settings (enabled, threshold, amount) and whether a card is saved.
ringkit_get_businessread-onlyStep 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).
ringkit_get_callread-onlyStep 9: Watch the calls. One call (callId) with its full transcript.
ringkit_get_knowledgeread-onlyRead the knowledge profile the receptionist answers from (services, hours, FAQs, policies).
ringkit_get_knowledge_documentread-onlyRead one uploaded document (documentId) with its extracted sections.
ringkit_get_knowledge_usageread-onlyRead the knowledge tier (starter | pro), its limits, and how many documents/tokens are used.
ringkit_get_latest_knowledge_importread-onlyStep 2: Teach it the business. The newest website import and its status (queued, running, done, failed), or null when none was started.
ringkit_get_onboardingread-onlySetup progress: the next step (number | done), whether the business has a number, whether the knowledge profile has the basics, and the latest website import.
ringkit_get_recordingread-onlyStep 9: Watch the calls. A short-lived URL for a call's recording (callId); 404 when the call has none.
ringkit_get_routingread-onlyStep 4: Decide who answers. Read the routing policy: when the AI answers, transfers or takes a message, the schedules, transfer targets and spend cap.
ringkit_get_setup_chatread-onlyThe open setup-assistant conversation with its messages, or null.
ringkit_get_voice_stackread-onlyRead 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.
ringkit_get_walletread-onlyStep 6: Fund the wallet. Read the prepaid wallet balance (cents), including the unspent free trial credit (trialCreditCents, calls only), and auto-refill.
ringkit_import_knowledgedestructiveStep 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.
ringkit_invite_ownerdestructiveStep 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.
ringkit_list_api_keysread-onlyStep 11: Manage API keys. List the business's API keys (prefix, scope, last use, revoked or not); never the plaintext.
ringkit_list_business_usersread-onlyStep 12: Hand it to the owner. List the people who can sign in to the business dashboard, with their roles and last sign-in.
ringkit_list_callsread-onlyStep 9: Watch the calls. List recent calls with outcome, intent, summary and cost, newest first (paginated).
ringkit_list_destinationsread-onlyNumbers the business proved it controls (allowed test-call targets and ownerPhone).
ringkit_list_knowledge_documentsread-onlyList uploaded knowledge documents (newest first) with usage against the tier's limits.
ringkit_list_ledgerread-onlyWallet ledger entries (top-ups, call charges, rentals), newest first, paginated.
ringkit_list_numbersread-onlyStep 7: Get a phone number. List the business's phone numbers.
ringkit_list_voicesread-onlyStep 3: Pick a voice. List the receptionist voices (id, gender, accent) and the default. Pick one with ringkit_update_business {voice}.
ringkit_list_webhooksread-onlyStep 10: Get told about calls. List the business's webhook endpoints and their events.
ringkit_patch_knowledgedestructiveStep 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.
ringkit_provision_numberdestructiveStep 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.
ringkit_put_auto_refilldestructiveStep 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.
ringkit_put_knowledgedestructiveStep 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.
ringkit_put_routingdestructiveStep 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.
ringkit_put_voice_stackdestructiveSwitch 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.
ringkit_release_numberdestructiveRelease 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.
ringkit_revoke_api_keydestructiveStep 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.
ringkit_search_numbersread-onlyStep 7: Get a phone number. Search available phone numbers (US, by area code).
ringkit_send_setup_chatdestructiveStep 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.
ringkit_set_knowledge_tierdestructiveSwitch 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.
ringkit_simulate_calldestructiveStep 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.
ringkit_start_knowledge_importdestructiveStep 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.
ringkit_start_setup_chatdestructiveStep 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.
ringkit_test_calldestructiveStep 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.
ringkit_top_updestructiveStep 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.
ringkit_update_businessdestructiveStep 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.
ringkit_upload_knowledge_documentStep 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.
ringkit_verify_destinationdestructiveStep 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.
ringkit_whoamiread-onlyStep 1: Create the business. The business behind the API key on this connection, with authKind, role and the key's scope (manage or read).

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.ringkit/ringkit",
  "title": "RingKit",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://api.ringkit.com/mcp",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "isSecret": true,
          "description": "Optional. 'Bearer rk_...' business API key. Without it, only ringkit_create_business works, and it returns a new key."
        }
      ]
    },
    {
      "url": "https://api.ringkit.com/mcp/oauth",
      "type": "streamable-http"
    }
  ],
  "version": "0.0.3",
  "websiteUrl": "https://www.ringkit.com/docs",
  "description": "Cheapest AI virtual assistant for your business line: $1.99/mo per number, then pay only for usage."
}