Spoke Phone MCP by usefulapi
REMOTE · SPOKE-PHONE.USEFULAPI.IO
Read Spoke calls, transcripts, directory and users; manage phonebook contacts and send SMS.
Available components
Last scanned (1 hour ago)
Scores higher than 4% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Communication
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security46
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not yet verified: we couldn't confirm whether this endpoint requires it. View diagnostics → Unverified
- HTTPS enforcement could not be verified: the plaintext port redirected somewhere other than https, so enforcement is unproven. View diagnostics → Unverified
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability0
- Transport check failed: declared streamable-http, but the endpoint redirected instead of responding directly. See how to fix → View diagnostics → Fail
Schema Quality & AI Usability0
- Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.Unverified
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
- Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Tool Safety0
- Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Capabilities0
- Capabilities not yet verified: we couldn't read the endpoint's capabilities.Unverified
Unverified: 5 categories
Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.
Checks we ran (4)
- TLS certificate
- HSTS header
- DNSSEC
- Transport
Checks we could not complete (7)
These are gaps on our side, not findings about this hosted endpoint. We only credit what we can confirm, so a category made up entirely of them scores 0.
- Authorization in Endpoint SecurityAuthorisation not yet verified: we couldn't confirm whether this endpoint requires it.
- HTTPS in Endpoint SecurityHTTPS enforcement could not be verified: the plaintext port redirected somewhere other than https, so enforcement is unproven.
- Schema quality in Schema Quality & AI Usability (scores 0 for this)Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.
- Stability in Stability & Change Management (scores 0 for this)Stability not yet verified: not enough scan history yet (needs a 30-day window).
- Tool coverage in Tool Coverage (scores 0 for this)Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
- Tool safety in Tool Safety (scores 0 for this)Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
- Capabilities in Capabilities (scores 0 for this)Capabilities not yet verified: we couldn't read the endpoint's capabilities.
Does not apply to this hosted endpoint (2)
- Supply Chain SecurityScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
- Provenance & TransparencyScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
The score does not measure everything. What the score does not measure →
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 1 Nov 26 −48
- Endpoint reachability: reachable → not serving MCP ▼ security
- Tool safety: pass → unverified ▼ security
- Authorization: pass → unverified ▼ security
- Stability: 0.17 → unverified ▼ security
- Schema quality: 100 → unverified ▼ functional
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- 31 Oct 26 +3
- Authorization: partial → pass ▲ security
- MCP protocol: fail → pass ▲ functional
- New prompt “check_who_is_available_right_now” functional
- New prompt “keep_caller_id_contacts_up_to_date” functional
- New prompt “read_a_call_s_transcript_and_ai_summary” functional
- New prompt “review_yesterday_s_calls” functional
- New prompt “see_how_locations_and_teams_are_staffed” functional
- New prompt “send_a_text_message_after_a_call” functional
- MCP protocol version: 2025-06-18 → 2025-11-25 functional
- Server version: 1.7.0 → 1.9.0 functional
- Server version: 1.6.0 → 1.7.0 functional
- Server version: 1.5.2 → 1.6.0 functional
- 30 Oct 26 +1
- Server version: 1.5.1 → 1.5.2 functional
- Server version: 1.5.0 → 1.5.1 functional
- 29 Oct 26 0
- Server version: 1.4.0 → 1.5.0 functional
- Server version: 1.3.0 → 1.4.0 functional
- 28 Oct 26 +1
- Server version: 1.1.0 → 1.3.0 functional
- 27 Oct 26 0
- Stability: unverified → 0.03 ▲ functional
- Server version: 1.0.0 → 1.1.0 functional
- 26 Oct 26 61
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://spoke-phone.usefulapi.io/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=usefulapi.io | CN=WE1,O=Google Trust Services,C=US | 13 Sept 2026 | 12 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | d9be3287b0fde9630e825ba1f79bff3f |
| SANs: usefulapi.io, *.usefulapi.io | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of spoke-phone.usefulapi.io. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | Trust anchor | 20326, 38696 | 8, 8 | Verified |
| io. | DS published | 38690 | 8 | Verified |
| usefulapi.io. | No DS | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Inconclusive
We could not reach the endpoint well enough to judge its authorisation posture.
| Result | Inconclusive |
|---|---|
| HTTP status | 302 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://spoke-phone.usefulapi.io/mcp | Redirected | 302 | https://usefulapi.io/spoke-phone/ |
| http (plaintext) | http://spoke-phone.usefulapi.io/mcp | Inconclusive | 302 | http://spoke-phone.usefulapi.io/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
spokephone_delete_phonebook_contact Delete a phonebook contact ~77
WRITE, destructive: delete one contact from a phonebook (it stops showing in caller ID). DELETE /phonebooks/{id}/contacts/{contactId}.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | yes | Must be true: the user approved deleting this contact. |
| contactId | string | yes | – |
| phonebookId | string | yes | – |
No output schema declared.
No examples provided.
spokephone_get_call Get a call ~36
Get one call record by call id.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Call id. |
| includeRecordingUrl | boolean | – | – |
No output schema declared.
No examples provided.
spokephone_get_call_recording Get a call recording ~42
Get the details and download URL of one recording of a call.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Call id. |
| recordingId | string | yes | – |
No output schema declared.
No examples provided.
spokephone_get_content_analysis Get an AI content analysis ~26
Get one content-analysis result by id.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
No output schema declared.
No examples provided.
spokephone_get_directory_entry Get a directory entry ~34
Get one directory entry (user, team or device) by entry id.
| Name | Type | Req | Description |
|---|---|---|---|
| entryId | string | yes | – |
No output schema declared.
No examples provided.
spokephone_get_location Get a location ~24
Get one location by id.
| Name | Type | Req | Description |
|---|---|---|---|
| locationId | string | yes | – |
No output schema declared.
No examples provided.
spokephone_get_phonebook Get a phonebook ~91
Get one phonebook and a page of its contacts. The id may also be a user's email address for that user's personal phonebook.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
| limit | integer | – | Page size (default 100, max 1000). |
| next | string | – | Cursor from the previous reply's meta.next; omit for the first page. |
| search | string | – | – |
No output schema declared.
No examples provided.
spokephone_get_phonebook_contact Get a phonebook contact ~38
Get one contact of a phonebook.
| Name | Type | Req | Description |
|---|---|---|---|
| contactId | string | yes | – |
| id | string | yes | Phonebook id. |
No output schema declared.
No examples provided.
spokephone_get_transcript Get a transcript ~24
Get one transcript by id.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
No output schema declared.
No examples provided.
spokephone_get_transcript_segments Get transcript segments ~31
Get the per-speaker segments of one transcript.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Transcript id. |
No output schema declared.
No examples provided.
spokephone_get_trunk Get a SIP trunk ~26
Get one SIP trunk by id.
| Name | Type | Req | Description |
|---|---|---|---|
| trunkId | string | yes | – |
No output schema declared.
No examples provided.
spokephone_get_user Get a user ~29
Get one Spoke user with availability, by user id.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
No output schema declared.
No examples provided.
spokephone_get_webhook Get a webhook ~25
Get one webhook subscription by id.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
No output schema declared.
No examples provided.
spokephone_list_call_content_analysis List a call's AI analysis ~94
List the Enlighten AI content-analysis results (summaries etc.) stored for one call.
| Name | Type | Req | Description |
|---|---|---|---|
| artifact | string | – | Artifact schema name, e.g. "generalSummary". |
| id | string | yes | Call id. |
| limit | integer | – | Page size (default 5, max 10). |
| next | string | – | Cursor from the previous reply's meta.next; omit for the first page. |
No output schema declared.
No examples provided.
spokephone_list_calls List calls ~247
List call records (oldest first by default; pass sortOrder descending for the latest calls), with caller, direction, duration, assigned user/team and recording URLs. Filter by time window or the external party's number. Returns { meta: { next }, calls }.
| Name | Type | Req | Description |
|---|---|---|---|
| before | integer | – | Only calls created before this time (unix timestamp in milliseconds). |
| contactNumber | string | – | Only calls with this external party number (+E.164). |
| includeActive | boolean | – | Also return calls still in progress (default false). |
| includeRecordingUrl | boolean | – | Include recording/voicemail URLs (default true). |
| limit | integer | – | Page size (default 100, max 1000). |
| modified | integer | – | Only calls created or modified since this time (calls gain notes/recordings after they end) (unix timestamp in milliseconds). |
| next | string | – | Cursor from the previous reply's meta.next; omit for the first page. |
| since | integer | – | Only calls created at or after this time (unix timestamp in milliseconds). |
| sortOrder | string | – | ascending = oldest first (the API default); descending = latest first. |
No output schema declared.
No examples provided.
spokephone_list_content_analysis List AI content analysis ~151
List AI content-analysis results (needs the Enlighten entitlement). Filter by time, source, participant or artifact name.
| Name | Type | Req | Description |
|---|---|---|---|
| artifact | string | – | Artifact schema name, e.g. "generalSummary". |
| before | integer | – | First recording/transcript started before (unix timestamp in milliseconds). |
| contactNumber | string | – | – |
| limit | integer | – | Page size (default 5, max 10). |
| next | string | – | Cursor from the previous reply's meta.next; omit for the first page. |
| participantId | string | – | – |
| since | integer | – | First recording/transcript started at or after (unix timestamp in milliseconds). |
| sourceId | string | – | – |
No output schema declared.
No examples provided.
spokephone_list_directory List the directory ~158
List or search the unified Spoke directory (users, teams, devices) with extensions and live availability. Exactly one of extension, phoneNumber or ivrKey may be used to look up an entry. Returns { meta: { next }, entries }.
| Name | Type | Req | Description |
|---|---|---|---|
| extension | string | – | Exact extension number. |
| includeHiddenCallGroups | boolean | – | – |
| includeSuspendedUsers | boolean | – | – |
| ivrKey | string | – | Exact IVR key. |
| limit | integer | – | Page size (default 100, max 1000). |
| next | string | – | Cursor from the previous reply's meta.next; omit for the first page. |
| phoneNumber | string | – | Exact phone number assigned to an entry. |
No output schema declared.
No examples provided.
spokephone_list_location_users List a location's users ~66
List the users assigned to one location.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Page size (default 100, max 1000). |
| locationId | string | yes | – |
| next | string | – | Cursor from the previous reply's meta.next; omit for the first page. |
No output schema declared.
No examples provided.
spokephone_list_locations List locations ~56
List the locations of the organisation.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Page size (default 100, max 1000). |
| next | string | – | Cursor from the previous reply's meta.next; omit for the first page. |
No output schema declared.
No examples provided.
spokephone_list_phonebooks List phonebooks ~90
List shared phonebooks (the CRM contact containers used for caller ID), each with its contacts. Use limit 0 to list phonebooks without contacts.
| Name | Type | Req | Description |
|---|---|---|---|
| excludeEmpty | boolean | – | Skip phonebooks that have no matching contacts. |
| limit | integer | – | Page size (default 100, max 1000). |
| search | string | – | Filter contacts (at least 3 characters). |
No output schema declared.
No examples provided.
spokephone_list_teams List teams ~64
List Spoke teams (call groups) with their members and availability.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Page size (default 100, max 1000). |
| next | string | – | Cursor from the previous reply's meta.next; omit for the first page. |
No output schema declared.
No examples provided.
spokephone_list_transcripts List transcripts ~110
List call and voicemail transcripts. Filter by time window or source.
| Name | Type | Req | Description |
|---|---|---|---|
| before | integer | – | Created before (unix timestamp in milliseconds). |
| limit | integer | – | Page size (default 100, max 1000). |
| next | string | – | Cursor from the previous reply's meta.next; omit for the first page. |
| since | integer | – | Created at or after (unix timestamp in milliseconds). |
| sourceContextId | string | – | – |
| sourceId | string | – | – |
No output schema declared.
No examples provided.
spokephone_list_trunks List SIP trunks ~64
List the SIP trunks that overlay a legacy PBX onto Spoke.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Page size (default 100, max 1000). |
| next | string | – | Cursor from the previous reply's meta.next; omit for the first page. |
No output schema declared.
No examples provided.
spokephone_list_users List users ~42
List active Spoke users with real-time availability. Optionally filter by email address.
| Name | Type | Req | Description |
|---|---|---|---|
| string | – | Return only the user with this email address. |
No output schema declared.
No examples provided.
spokephone_list_webhooks List webhooks ~58
List the webhook subscriptions of the account.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Page size (default 100, max 1000). |
| next | string | – | Cursor from the previous reply's meta.next; omit for the first page. |
No output schema declared.
No examples provided.
spokephone_save_phonebook_contact Add or replace a phonebook contact ~205
WRITE: add a contact to a phonebook, REPLACING any contact there with the same contactId (other contacts are untouched). The phonebook id may be a user's email for a personal phonebook. Contacts feed caller ID. PUT /phonebooks/{id}/contacts.
| Name | Type | Req | Description |
|---|---|---|---|
| companyName | string | – | – |
| contactId | string | – | Your own stable id for the contact; reuse it to replace that contact. |
| countryIso | string | – | ISO country code for formatting local numbers, e.g. GB. |
| emails | array | – | – |
| firstName | string | – | – |
| jobTitle | string | – | – |
| lastName | string | – | – |
| phoneNumbers | array | yes | At least one number, e.g. { label: 'work', value: '+442071234567' }. |
| phonebookId | string | yes | Phonebook id (from spokephone_list_phonebooks) or a user's email address. |
No output schema declared.
No examples provided.
spokephone_send_sms Send an SMS ~234
WRITE: send a real SMS to a phone number (or a group MMS to several) from a company number or from a Spoke user's conversation number. The message appears in the Spoke conversation. Confirm the recipient and text with the user first. Needs an SMS-enabled number. POST /conversationMessages.
| Name | Type | Req | Description |
|---|---|---|---|
| assignUsers | array | – | User emails to assign (required with routingAction assign_users). |
| body | string | yes | Message text, up to 1600 characters. |
| confirm | boolean | yes | Must be true: the user approved sending this exact text to these recipients. |
| conversationName | string | – | – |
| fromNumber | string | – | Company number to send from (+E.164). Give this OR fromUserEmail. |
| fromUserEmail | string | – | Email of the Spoke user whose conversation number sends the message. Give this OR fromNumber. |
| notificationMode | string | – | – |
| routingAction | string | – | Who handles replies in a new conversation. |
| to | array | yes | Recipient number(s) in +E.164 form. More than one sends a group MMS. |
No output schema declared.
No examples provided.
How do I install the Spoke Phone MCP by usefulapi server?
Spoke Phone MCP by usefulapi is a hosted endpoint at https://spoke-phone.usefulapi.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · spoke-phone.usefulapi.io
claude mcp add --transport http io-usefulapi-spoke-phone 'https://spoke-phone.usefulapi.io/mcp'
What is the Spoke Phone MCP by usefulapi server?
Spoke Phone MCP by usefulapi is listed in the public MCP registry as io.usefulapi/spoke-phone. Read Spoke calls, transcripts, directory and users; manage phonebook contacts and send SMS. This page covers its hosted endpoint (https://spoke-phone.usefulapi.io/mcp).
Is the Spoke Phone MCP by usefulapi server safe to use?
Spoke Phone MCP by usefulapi scores 18 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Spoke Phone MCP by usefulapi server expose?
Spoke Phone MCP by usefulapi exposes 27 tools: spokephone_list_calls, spokephone_get_call, spokephone_get_call_recording, spokephone_list_call_content_analysis, spokephone_list_directory, and 22 more. Their descriptions and schemas cost roughly 2,142 tokens of context every time the server is loaded.
Does the Spoke Phone MCP by usefulapi server require authentication?
Its publisher declares no required credentials for Spoke Phone MCP by usefulapi. We have not been able to confirm that against the live endpoint, and a server can require authorisation without declaring it here.
Is the Spoke Phone MCP by usefulapi server still maintained?
Spoke Phone MCP by usefulapi is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What did VerifyMCP test on the Spoke Phone MCP by usefulapi server?
VerifyMCP ran 4 checks on Spoke Phone MCP by usefulapi, covering TLS certificate, HSTS header, DNSSEC and Transport. 7 items could not be completed, a gap on our side rather than a finding about Spoke Phone MCP by usefulapi: Authorization, HTTPS, Schema quality, Stability and 3 more. 5 categories score 0 for that reason, because we only credit what we can confirm. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.