Spruce Health MCP by usefulapi
Read Spruce Health contacts, conversations, messages, phone lines and team members (read-only).
Connect it
Settings → Connectors → Add custom connector
URL: https://spruce-health.usefulapi.io/mcpSettings → Apps & Connectors → Advanced → Developer mode
Create connector with URL: https://spruce-health.usefulapi.io/mcp{
"mcpServers": {
"spruce-health": {
"url": "https://spruce-health.usefulapi.io/mcp"
}
}
}claude mcp add --transport http spruce-health https://spruce-health.usefulapi.io/mcp{
"servers": {
"spruce-health": {
"type": "http",
"url": "https://spruce-health.usefulapi.io/mcp"
}
}
}24 tools, verified live
sprucehealth_get_organizationread-onlyYour Spruce organization (id and name). The id is the owner/member id used by other objects. Good first call. GET /organization.
sprucehealth_list_membersread-onlyAll members of the organization: teammates (name, email, admin, suspended), teams and the organization itself. Paged with hasMore/paginationToken; totalCount included. GET /organization/members.
sprucehealth_get_memberread-onlyOne organization member (teammate, team or the organization) by id. GET /organization/members/{memberId}.
sprucehealth_list_team_membersread-onlyThe members of one team (team ids come from sprucehealth_list_members, type 'team'). Paged. GET /teams/{teamId}/members.
sprucehealth_list_contactsread-onlyContacts 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.
sprucehealth_search_contactsread-onlyFind 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.
sprucehealth_get_contactread-onlyOne contact by Spruce contact id (entity_…): demographics, phones, emails, tags, custom and organization fields, integration links. GET /contacts/{contactId}.
sprucehealth_list_contact_conversationsread-onlyThe conversations (secure, SMS/phone, email, fax…) associated with one contact. GET /contacts/{contactId}/conversations.
sprucehealth_list_contact_integration_linksread-onlyLinks between a contact and external systems (Elation, Hint, athena, custom): type, external id, url. GET /contacts/{contactId}/integrationlinks.
sprucehealth_list_contact_tagsread-onlyAll contact tags of the organization. Paged with hasMore/paginationToken; totalCount included. GET /contacts/tags.
sprucehealth_list_contact_fieldsread-onlyThe organization-wide contact fields shown on every contact. Paged; totalCount included. GET /contacts/fields.
sprucehealth_list_conversationsread-onlyConversations 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.
sprucehealth_get_conversationread-onlyOne conversation by id (t_…). GET /conversations/{conversationId}.
sprucehealth_list_conversation_itemsread-onlyThe 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.
sprucehealth_get_conversation_itemread-onlyOne conversation item (message, note, call, voicemail…) by id (ti_…). GET /conversationItems/{conversationItemId}.
sprucehealth_list_read_receiptsread-onlyWho has read one conversation item and when they first read it (oldest first). GET /conversationItems/{conversationItemId}/readReceipts.
sprucehealth_get_transcriptionread-onlyThe 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}.
sprucehealth_list_conversation_tagsread-onlyAll conversation tags of the organization. Paged; totalCount included. GET /conversations/tags.
sprucehealth_list_conversation_scheduled_messagesread-onlyMessages scheduled to be sent later in one conversation (read only; nothing is sent or cancelled). GET /conversations/{conversationId}/scheduledmessages.
sprucehealth_list_scheduled_messagesread-onlyAll messages scheduled to be sent from the organization (read only). Paged with hasMore/paginationToken; totalCount included. GET /scheduledmessages.
sprucehealth_list_saved_messagesread-onlySaved message templates (private and organization-wide): title, text, internal/shared flags. Paged with hasMore/paginationToken. GET /savedmessages.
sprucehealth_list_internal_endpointsread-onlyThe organization's own channels: Spruce phone and fax numbers, email addresses and Spruce Links, with their owner and members. GET /internalendpoints.
sprucehealth_list_phone_linesread-onlyAll phone lines of the organization (id, name); totalCount included. GET /phonelines.
sprucehealth_get_phone_lineread-onlyOne phone line by id (pd_…). GET /phonelines/{phonelineId}.
Alternatives in Email & Messaging
Compare →
Sendlane MCP by usefulapiB
Manage Sendlane lists, contacts, tags and custom fields; read campaign and SMS reports.
Encharge MCP by usefulapiB
Manage Encharge people, tags, segments and fields, and track events for email automation.
Benchmark Email MCP by usefulapiB
Manage Benchmark Email lists and contacts, and read campaign reports: opens, clicks, bounces.
Trengo MCP by usefulapiB
Work tickets and messages, look up contacts and teams, pull reports, and reply, assign or close.
Together AI MCP by usefulapiB
Run Together AI chat, embeddings and images; manage fine-tunes, batches and endpoints.
Squadcast MCP by usefulapiB
Read incidents, services, teams, on-call schedules; acknowledge, resolve and note incidents.