Rinkel MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.15.4Updated Nov 7, 2026

Read Rinkel calls, voicemails, contacts and numbers; add call notes, edit contacts, block numbers.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableCommunication & CollaborationBusiness & Commerce

Overview

AI-generated overview

Hosted Rinkel telephony connector: lets an assistant read calls, voicemails, contacts and numbers, and add notes, edit contacts, block numbers or start calls.

What you can do
  • List and inspect call records, including AI summaries, sentiment, transcriptions and temporary recording links
  • List voicemails, count unplayed ones and get temporary playback links
  • Look up contacts, users and phone numbers, including dial plans and greeting recordings
  • Validate phone numbers and list webhook subscriptions
  • Add, update or delete call notes; create, update or delete shared contacts; block or unblock numbers
  • Start a real outgoing call through a user's device, and check usage or manage the subscription
When to use it
Useful when you want an assistant to answer questions about a Rinkel phone account — missed calls, who called twice, new voicemails, contact details — or to log call notes and tidy up contacts without opening the Rinkel dashboard.
Requirements
Remote MCP endpoint added by URL only; sign-in is via OAuth with Rinkel credentials, and on first connect you paste a Rinkel API key created in My Rinkel under Settings > Integrations. API access requires a Rinkel Professional or Expert plan. The hosted service has its own free tier of 50 tool calls per month, with paid plans above that.
Before you install
Write tools change account-wide data: contacts are shared with everyone in the account, contact updates replace all stored numbers, and deletes are irreversible and need confirm=true. Blocking a wildcard can block a whole country. Starting a call dials real numbers and consumes call minutes charged to the account. The service is a third party that holds your Rinkel API key and proxies account data; paid plans are billed through a checkout link.

Installation

In SourceWeft

  1. Open Rinkel MCP by usefulapi 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/io.usefulapi%2Frinkel/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": {
    "rinkel-by-usefulapi": {
      "type": "http",
      "url": "https://rinkel.usefulapi.io/mcp"
    }
  }
}

README

Rinkel MCP by usefulapi

Read Rinkel calls, voicemails, contacts and numbers; add call notes, edit contacts, block numbers.

Live endpoint: https://rinkel.usefulapi.io/mcp · Homepage: https://usefulapi.io/rinkel

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://rinkel.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http rinkel https://rinkel.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "rinkel": {      "url": "https://rinkel.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Rinkel credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/rinkel/

On first connect you'll paste your Rinkel API key (create it in My Rinkel > Settings > Integrations; API access needs the Professional or Expert plan).

Tools

ToolTypeWhat it does
rinkel_list_callsreadList calls
rinkel_get_callreadGet a call
rinkel_get_call_by_network_idreadGet a call by network call id
rinkel_get_call_transcriptionreadGet a call transcription
rinkel_get_call_recording_urlreadGet a call recording URL
rinkel_list_voicemailsreadList voicemails
rinkel_count_new_voicemailsreadCount new voicemails
rinkel_get_voicemail_urlreadGet a voicemail URL
rinkel_list_contactsreadList contacts
rinkel_get_contactreadGet a contact
rinkel_find_contact_by_numberreadFind a contact by phone number
rinkel_list_usersreadList users
rinkel_get_userreadGet a user
rinkel_list_numbersreadList phone numbers
rinkel_get_numberreadGet a phone number
rinkel_list_recordingsreadList greeting recordings
rinkel_list_webhooksreadList webhooks
rinkel_validate_phone_numberreadValidate a phone number
rinkel_add_call_notewriteAdd a call note
rinkel_update_call_notewriteUpdate a call note
rinkel_delete_call_notewriteDelete a call note
rinkel_create_contactwriteCreate a contact
rinkel_update_contactwriteUpdate a contact
rinkel_delete_contactwriteDelete a contact
rinkel_block_numberwriteBlock a number
rinkel_unblock_numberwriteUnblock a number
rinkel_start_callwriteStart an outgoing call
rinkel_usage_statusmetaUsage status (free-tier meter)
rinkel_request_featuremetaRequest a missing feature
rinkel_upgrademetaUpgrade to Pro or Pro+
rinkel_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per user)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with rinkel_upgrade (it returns a Stripe Checkout link). Cancel any time with rinkel_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running rinkel_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT © usefulapi. Not affiliated with or endorsed by Rinkel.

Source: servers/rinkel/README.md at commit 4046075

Tools

27

rinkel_list_calls

List calls

List call detail records (inbound and outbound calls) with date, direction, status (ANSWERED, MISSED, VOICEMAIL, ANSWERING_SERVICE), duration, external and internal number, the users involved, notes, and (when the account has Rinkel AI insights) the AI summary and sentiment. Use for 'who called today', 'which calls did we miss this week', 'calls longer than 5 minutes'. Newest first by default. Rinkel API: GET /call-detail-records.

Parameterspagesortfiltercontactend_dateper_pagestatusesuser_idshas_notesdirectionssentimentssort_order+12 more

rinkel_get_call

Get a call

Get one call detail record by its Rinkel id (the `id` field of rinkel_list_calls): numbers, users, status, duration, notes, voicemail and call-recording ids, AI insights. Rinkel API: GET /call-detail-records/{id}.

Parameterscall_record_idrequired

rinkel_get_call_by_network_id

Get a call by network call id

Get one call detail record by its network `callId` (the id Rinkel sends in webhook events), optionally with insights and notes. Rinkel API: GET /call-detail-records/by-call-id/{callId}.

Parametersinclude_detailsnetwork_call_idrequired

rinkel_get_call_transcription

Get a call transcription

Get the raw transcription of a call by its network `callId` (needs Rinkel AI insights on the account; 404 when the call has none). Rinkel API: GET /call-detail-records/by-call-id/{callId}/transcription.

Parametersnetwork_call_idrequired

rinkel_get_call_recording_url

Get a call recording URL

Get a temporary URL (valid 3 hours) to stream or download a call recording. The id is `callRecording.id` of a call record. Append `download` as a query parameter to the URL to download instead of stream. Rinkel API: GET /call-recordings/{id}/stream.

Parameterscall_recording_idrequired

rinkel_list_voicemails

List voicemails

List voicemail messages (call records with status VOICEMAIL): caller, date, duration, whether new, and the voicemail id. Newest first. With is_new=true Rinkel ignores every other filter and returns only unplayed voicemails. Rinkel API: GET /voicemails.

Parameterspagefilteris_newtopicsend_dateper_pagehas_notessort_orderstart_datedate_presetis_anonymouscontact_lookup+2 more

rinkel_count_new_voicemails

Count new voicemails

Number of voicemails that have not been played yet. Rinkel API: GET /voicemails/new-count.

Takes no parameters.

rinkel_get_voicemail_url

Get a voicemail URL

Get a temporary URL (valid 3 hours) to stream or download a voicemail. The id is `voicemail.id` of a call or voicemail record. Rinkel API: GET /voicemails/{id}/stream.

Parametersvoicemail_idrequired

rinkel_list_contacts

List contacts

List the contacts shared with everyone in the account (plus the Rinkel system contact, tag 'system'): names, company, phone numbers, email. Rinkel API: GET /contacts.

Parameterspagefilterletterper_page

rinkel_get_contact

Get a contact

Get one contact by id. Rinkel API: GET /contacts/{id}.

Parameterscontact_idrequired

rinkel_find_contact_by_number

Find a contact by phone number

Find the contact that owns a phone number (E.164 such as +31612345678 works best). 404 when there is none. Rinkel API: GET /contacts/find-by-number/{number}.

Parametersphone_numberrequired

rinkel_list_users

List users

List the account's users: name, email, phone number, role (ADMIN, USER, ANSWERINGSERVICE), availability schedule and status, and `fixed`/device info (`deviceId` is needed to start a call). Rinkel API: GET /users.

Parametersinclude_avatars

rinkel_get_user

Get a user

Get one user by id, including preferences, notification settings, schedule and `deviceId`. Rinkel API: GET /users/{id}.

Parametersuser_idrequiredinclude_avatar

rinkel_list_numbers

List phone numbers

List the account's Rinkel phone numbers: id, label, number, status (ACTIVE, SUSPENDED, PENDING_PORTING_IN ...), activation date and the users assigned. Rinkel API: GET /numbers.

Takes no parameters.

rinkel_get_number

Get a phone number

Get one Rinkel number with its full dial plan: greeting, business hours schedule, call forwarding targets and ring logic, voice menu, call recording and caller-id settings. Rinkel API: GET /numbers/{id}.

Parametersnumber_idrequired

rinkel_list_recordings

List greeting recordings

List the uploaded audio recordings used in the dial plan (greetings, announcements, voice-over scripts): name, description, duration and where each is used. Not call recordings. Rinkel API: GET /recordings.

Parameterspagesortper_pagesort_order

rinkel_list_webhooks

List webhooks

List the webhook subscriptions (events incomingCall, outgoingCall, callStart, callEnd, callInsights) with URL and active flag. Webhooks need the Expert plan. Rinkel API: GET /webhooks.

Takes no parameters.

rinkel_validate_phone_number

Validate a phone number

Check a phone number for a country and return its normalised form. With check_inventory=true Rinkel also checks whether the number is available to order. Rinkel API: GET /misc/validate-phone-number.

Parametersnumberrequiredcheck_inventorycountry_iso_coderequired

rinkel_add_call_note

Add a call note

WRITE: add a note to a call record (visible to everyone in the account who sees the call). The id is the call record's `id`; if Rinkel answers 404, retry with the record's `callId`. Rinkel API: PUT /call-detail-records/{callId}/note.

Parameterscontentrequiredcall_record_idrequired

rinkel_update_call_note

Update a call note

WRITE: replace the text of an existing note on a call record (the note id is in `notes[].id` of the call record). Rinkel API: PATCH /call-detail-records/{callId}/note/{noteId}.

Parameterscontentrequirednote_idrequiredcall_record_idrequired

rinkel_delete_call_note

Delete a call note

WRITE, irreversible: delete one note from a call record. Needs confirm=true after the user approved it. Rinkel API: DELETE /call-detail-records/{callId}/note/{noteId}.

Parametersconfirmnote_idrequiredcall_record_idrequired

rinkel_create_contact

Create a contact

WRITE: create a contact. It is shared with everyone in the Rinkel account (all users see it and calls from its numbers show its name). Rinkel API: POST /contacts.

Parametersemailnumbersrequiredlast_namefirst_namecompany_namedefault_outbound_number_id

rinkel_update_contact

Update a contact

WRITE: update a contact (PUT semantics). `numbers` is required and REPLACES all stored numbers, and an omitted default_outbound_number_id CLEARS it; omitted names, company and email keep their stored value. Read the contact first (rinkel_get_contact) and resend what must stay. The system contact cannot be changed. Rinkel API: PUT /contacts/{id}.

Parametersemailnumbersrequiredlast_namecontact_idrequiredfirst_namecompany_namedefault_outbound_number_id

rinkel_delete_contact

Delete a contact

WRITE, irreversible: delete a contact for the whole account. Needs confirm=true after the user approved it. The Rinkel system contact cannot be deleted. Rinkel API: DELETE /contacts/{id}.

Parametersconfirmcontact_idrequired

rinkel_block_number

Block a number

WRITE: block a number from calling ANY of the account's numbers. Accepts an E.164 number, 'anonymous', or a prefix wildcard such as '+31*' (a wildcard must end the value and include a country code; a broad wildcard blocks every caller from that country). Undo with rinkel_unblock_number. Rinkel API: POST /privacy/block-number.

Parametersnumberrequiredreason

rinkel_unblock_number

Unblock a number

WRITE: remove a number (or the same wildcard pattern that was blocked) from the block list so it can call again. Rinkel API: DELETE /privacy/unblock-number.

Parametersnumberrequired

rinkel_start_call

Start an outgoing call

WRITE, COSTS CALL MINUTES: starts a real phone call. Rinkel rings the given user device first and, once it is answered, dials `to` using the chosen Rinkel number as caller id, so call charges apply to the account and the person called sees the number. Needs confirm=true, set only after the user explicitly asked to place this call. Get device_id from rinkel_list_users (`fixed`/device info or `deviceId`) and number_id from rinkel_list_numbers. Rinkel API: POST /dial.

Parameterstorequiredconfirmanonymousdevice_idrequirednumber_idrequired

Version history

14
  1. v1.15.4LatestNov 7, 2026
  2. v1.14.3Nov 5, 2026
  3. v1.14.2Nov 5, 2026
  4. v1.14.1Nov 4, 2026
  5. v1.14.0Nov 3, 2026
  6. v1.13.1Nov 3, 2026
  7. v1.12.0Nov 1, 2026
  8. v1.10.0Oct 31, 2026
  9. v1.9.0Oct 31, 2026
  10. v1.8.2Oct 30, 2026
  11. v1.8.0Oct 30, 2026
  12. v1.3.0Oct 26, 2026
  13. v1.0.3Oct 25, 2026
  14. v1.0.0Oct 25, 2026

Score

100% 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
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations