io.usefulapi/rinkel · v1.0.0 · sales-and-crm
Rinkel MCP by usefulapi is healthy: it completed an MCP handshake in 152 ms and exposes 27 tools.
Read Rinkel calls, voicemails, contacts and numbers; add call notes, edit contacts, block numbers.
Endpoint: https://rinkel.usefulapi.io/mcp (streamable-http)
Repository · Website · JSON · Add to my inventory
| Users (last 30 days) | 0 |
| Handshake | Healthy |
| Auth needed | None |
| Tool count | 27 |
| Latency | 152 ms |
| Last checked (UTC) | 2026-10-24T17:40:18.551Z |
| Checked (UTC) | Status | Latency | Error |
|---|---|---|---|
| 2026-10-24T17:40:18.551Z | Healthy | 152 |
rinkel_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 toda |
rinkel_get_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}. |
rinkel_get_call_by_network_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}. |
rinkel_get_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. |
rinkel_get_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. |
rinkel_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. |
rinkel_count_new_voicemails | Number of voicemails that have not been played yet. Rinkel API: GET /voicemails/new-count. |
rinkel_get_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. |
rinkel_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. |
rinkel_get_contact | Get one contact by id. Rinkel API: GET /contacts/{id}. |
rinkel_find_contact_by_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}. |
rinkel_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. |
rinkel_get_user | Get one user by id, including preferences, notification settings, schedule and `deviceId`. Rinkel API: GET /users/{id}. |
rinkel_list_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. |
rinkel_get_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}. |
rinkel_list_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. |
rinkel_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. |
rinkel_validate_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. |
rinkel_add_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. |
rinkel_update_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}. |
rinkel_delete_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}. |
rinkel_create_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. |
rinkel_update_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 can |
rinkel_delete_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}. |
rinkel_block_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: |
rinkel_unblock_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. |
rinkel_start_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 expl |