Rinkel MCP by usefulapi
io.usefulapi/rinkel · v1.3.0 · MCP 2025-06-18
Read Rinkel calls, voicemails, contacts and numbers; add call notes, edit contacts, block numbers.
Reachability
reachable
checked 2026-10-26 05:30 UTC
Registry status active
Tools pinned 27
4327a883deb8
Tools last changed
unchanged since first capture 2026-10-25
Repo last push 2026-10-26
as of 2026-10-26
GitHub stars 0
as of 2026-10-26
Provenance
Registry namespace io.usefulapi
(domain verified by the official registry)
Repository
github.com/m190/usefulapi-mcp
Website
https://usefulapi.io/rinkel/
Remote endpoints
https://rinkel.usefulapi.io/mcp (streamable-http)
Observed changes
| When (UTC) | Event | Detail |
|---|---|---|
| 2026-10-25 05:30 | first capture | 27 tools pinned |
Pinned tool definitions (27)
| Tool | Description |
|---|---|
| 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... |
| 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... |
| 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:... |
| 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_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... |
| 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... |
Get alerted when this changes.
Email the moment io.usefulapi/rinkel drifts, dies, or revives.
Status badge
[](https://toolpin.dev/servers/io.usefulapi/rinkel)
Maintain this server? Add the badge to your README. It links your users to this live status page.