willitstick.appVerified
Tests whether your message will stick: grades readability and memorability before you send.
OtherCommunication & messaging
- Passed: Handshake
- Passed: Tools listed
- Passed: Updated recently
Median latency 62 ms · Last checked
Explore
Evidence for your next connection.
Independent measurements of remote MCP servers. Every observation has a timestamp.
Read-only probesMCP server · Communication & messaging
Read Spruce Health contacts, conversations, messages, phone lines and team members (read-only).
0 failed · 8 not measured
Median of successful probes over 7 days
Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.
Tool definitions returned by this server
Independent monitoring
Outdated check
Last connection measurement is over 24 hours old. Current availability is unknown.
Last checked| Test area | Passed | Failed | Unmeasured |
|---|---|---|---|
ConnectionCan a client connect and discover tools? | 5 | 0 | 0 |
Reliability & speedDoes it respond consistently and quickly? | 0 | 0 | 4 |
Access & authenticationWhat is required to use this server? | 1 | 0 | 2 |
Tool qualityAre the tool definitions usable by an agent? | 4 | 0 | 0 |
Publisher identityCan the publisher be traced to its source? | 4 | 0 | 2 |
Unmeasured means there is not enough evidence to decide. How these checks work
Start using Spruce Health MCP by usefulapi
Choose your client, copy the configuration, then enable the server in your client’s MCP settings.
Run this command in your terminal, then restart Claude Code.
Claude Code
claude mcp add --transport http spruce-health-mcp-by-usefulapi https://spruce-health.usefulapi.io/mcpCapabilities
One contact by Spruce contact id (entity_…): demographics, phones, emails, tags, custom and organization fields, integration links. GET /contacts/{contactId}.
DiscoveredOne conversation by id (t_…). GET /conversations/{conversationId}.
DiscoveredOne conversation item (message, note, call, voicemail…) by id (ti_…). GET /conversationItems/{conversationItemId}.
DiscoveredOne organization member (teammate, team or the organization) by id. GET /organization/members/{memberId}.
DiscoveredYour Spruce organization (id and name). The id is the owner/member id used by other objects. Good first call. GET /organization.
DiscoveredOne phone line by id (pd_…). GET /phonelines/{phonelineId}.
DiscoveredThe full transcription text and its summary (if any) for a transcription id (the transcriptionId on a call/voicemail attachment). Status pending/completed/failed/noSpeech. GET /transcriptions/{transcriptionId}.
DiscoveredThe conversations (secure, SMS/phone, email, fax…) associated with one contact. GET /contacts/{contactId}/conversations.
DiscoveredThe organization-wide contact fields shown on every contact. Paged; totalCount included. GET /contacts/fields.
DiscoveredLinks between a contact and external systems (Elation, Hint, athena, custom): type, external id, url. GET /contacts/{contactId}/integrationlinks.
DiscoveredAll contact tags of the organization. Paged with hasMore/paginationToken; totalCount included. GET /contacts/tags.
DiscoveredContacts of the organization (patients, professionals, clinics): name, date of birth, phones, emails, tags, custom fields, integration links. Paged with hasMore/paginationToken; totalCount included. Use sprucehealth_search_contacts to find someone. GET /contacts.
DiscoveredThe items (messages, internal notes, calls, voicemails, faxes, attachments with short-lived signed URLs) in one conversation. Order newest_first (default) or oldest_first; start_from = only items created after that time. Paged with hasMore/paginationToken; totalCount is a best-effort count. GET /conversations/{conversationId}/items.
DiscoveredMessages scheduled to be sent later in one conversation (read only; nothing is sent or cancelled). GET /conversations/{conversationId}/scheduledmessages.
DiscoveredAll conversation tags of the organization. Paged; totalCount included. GET /conversations/tags.
DiscoveredConversations of the organization (title, type, tags, archived, assignee, participants, last message time), ordered by creation or last message. With start_from, only conversations whose ordering time is at or after it (useful for 'what changed since…'). Eventually consistent. Paged; give start_from OR pagination_token, not both. GET /conversations.
DiscoveredThe organization's own channels: Spruce phone and fax numbers, email addresses and Spruce Links, with their owner and members. GET /internalendpoints.
DiscoveredAll members of the organization: teammates (name, email, admin, suspended), teams and the organization itself. Paged with hasMore/paginationToken; totalCount included. GET /organization/members.
DiscoveredAll phone lines of the organization (id, name); totalCount included. GET /phonelines.
DiscoveredWho has read one conversation item and when they first read it (oldest first). GET /conversationItems/{conversationItemId}/readReceipts.
DiscoveredSaved message templates (private and organization-wide): title, text, internal/shared flags. Paged with hasMore/paginationToken. GET /savedmessages.
DiscoveredAll messages scheduled to be sent from the organization (read only). Paged with hasMore/paginationToken; totalCount included. GET /scheduledmessages.
DiscoveredThe members of one team (team ids come from sprucehealth_list_members, type 'team'). Paged. GET /teams/{teamId}/members.
DiscoveredFind contacts by free text and/or filters (category, tags, name, phone, email, invite state, created time). Filters combine with AND; values inside one filter match ANY (tags can use all/none). Paged; totalCount with totalCountRelation (eq = exact, gte = lower bound). A read: POST /contacts/search changes nothing.
DiscoveredRecent measurements
| Checked | Result | Response | Tools |
|---|---|---|---|
| Connected | 63 ms | 24 |