MCP server
Spruce Health MCP by usefulapi
io.usefulapi/spruce-health
Checked 26 Oct 2026, 08:29 UTC · Connected to it and listed its tools
Read Spruce Health contacts, conversations, messages, phone lines and team members (read-only).
Working at last checkVerified publisher: usefulapi.ioAbout 4,530 tokens per request once connected24 tools
https://spruce-health.usefulapi.io/mcp
At a glance
- Type
- MCP server
- Publisher
- usefulapi.io (verified by the MCP Registry)
- Status
- Working at last check
- Tools
- 24
- Token cost
- About 4,530 tokens per request
- Sets up in
- Claude Code, Claude Desktop, Codex, Gemini CLI, Cursor, VS Code, Antigravity, ChatGPT, OpenAI API, Grok
- Last checked
- 26 Oct 2026, 08:29 UTC
Connect it to your agent
Opens the app, which shows the server and asks you to confirm. For other apps, copy the setup below.
Claude Code
claude mcp add --transport http spruce-health https://spruce-health.usefulapi.io/mcp
Claude Desktop
Settings → Connectors → Add custom connector, and paste the URL.
Codex (config.toml)
[mcp_servers.spruce-health] url = "https://spruce-health.usefulapi.io/mcp"
Gemini CLI
{"mcpServers":{"spruce-health":{"httpUrl":"https://spruce-health.usefulapi.io/mcp"}}}
Cursor
{"mcpServers":{"spruce-health":{"url":"https://spruce-health.usefulapi.io/mcp"}}}
VS Code
{"servers":{"spruce-health":{"type":"http","url":"https://spruce-health.usefulapi.io/mcp"}}}
Antigravity
agy mcp add spruce-health https://spruce-health.usefulapi.io/mcp
ChatGPT
Settings → Apps & Connectors → Advanced settings: turn on Developer mode, then Create a connector and paste the URL. Which plans can do this varies.
OpenAI API (Responses tools)
{"type":"mcp","server_label":"spruce-health","server_url":"https://spruce-health.usefulapi.io/mcp","require_approval":"always"}
Grok (xAI API tools)
{"type":"mcp","server_label":"spruce-health","server_url":"https://spruce-health.usefulapi.io/mcp"}
Tools
sprucehealth_get_contact~134 tokens
One contact by Spruce contact id (entity_…): demographics, phones, emails, tags, custom and organization fields, integration links. GET /contacts/{contactId}.sprucehealth_get_conversation~112 tokens
One conversation by id (t_…). GET /conversations/{conversationId}.sprucehealth_get_conversation_item~131 tokens
One conversation item (message, note, call, voicemail…) by id (ti_…). GET /conversationItems/{conversationItemId}.sprucehealth_get_member~117 tokens
One organization member (teammate, team or the organization) by id. GET /organization/members/{memberId}.sprucehealth_get_organization~84 tokens
Your Spruce organization (id and name). The id is the owner/member id used by other objects. Good first call. GET /organization.sprucehealth_get_phone_line~108 tokens
One phone line by id (pd_…). GET /phonelines/{phonelineId}.sprucehealth_get_transcription~159 tokens
The 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_contact_conversations~127 tokens
The conversations (secure, SMS/phone, email, fax…) associated with one contact. GET /contacts/{contactId}/conversations.sprucehealth_list_contact_fields~189 tokens
The organization-wide contact fields shown on every contact. Paged; totalCount included. GET /contacts/fields.sprucehealth_list_contact_integration_links~135 tokens
Links between a contact and external systems (Elation, Hint, athena, custom): type, external id, url. GET /contacts/{contactId}/integrationlinks.sprucehealth_list_contact_tags~190 tokens
All contact tags of the organization. Paged with hasMore/paginationToken; totalCount included. GET /contacts/tags.sprucehealth_list_contacts~231 tokens
Contacts 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_list_conversation_items~367 tokens
The 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 /consprucehealth_list_conversation_scheduled_messages~142 tokens
Messages scheduled to be sent later in one conversation (read only; nothing is sent or cancelled). GET /conversations/{conversationId}/scheduledmessages.sprucehealth_list_conversation_tags~186 tokens
All conversation tags of the organization. Paged; totalCount included. GET /conversations/tags.sprucehealth_list_conversations~339 tokens
Conversations 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_fromsprucehealth_list_internal_endpoints~92 tokens
The organization's own channels: Spruce phone and fax numbers, email addresses and Spruce Links, with their owner and members. GET /internalendpoints.sprucehealth_list_members~211 tokens
All members of the organization: teammates (name, email, admin, suspended), teams and the organization itself. Paged with hasMore/paginationToken; totalCount included. GET /organization/members.sprucehealth_list_phone_lines~71 tokens
All phone lines of the organization (id, name); totalCount included. GET /phonelines.sprucehealth_list_read_receipts~137 tokens
Who has read one conversation item and when they first read it (oldest first). GET /conversationItems/{conversationItemId}/readReceipts.sprucehealth_list_saved_messages~200 tokens
Saved message templates (private and organization-wide): title, text, internal/shared flags. Paged with hasMore/paginationToken. GET /savedmessages.sprucehealth_list_scheduled_messages~137 tokens
All messages scheduled to be sent from the organization (read only). Paged with hasMore/paginationToken; totalCount included. GET /scheduledmessages.sprucehealth_list_team_members~232 tokens
The members of one team (team ids come from sprucehealth_list_members, type 'team'). Paged. GET /teams/{teamId}/members.sprucehealth_search_contacts~699 tokens
Find 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 c
Browse
Related MCP servers
- Textline MCP by usefulapi
Read Textline conversations, contacts and reports; send a text, add notes, resolve or transfer. - SlickText MCP by usefulapi
Read SlickText contacts, lists, campaigns, analytics and inbox; create and update contacts. - OpenPhone MCP by usefulapi
Send and read OpenPhone messages, calls, contacts and phone numbers. - Spoke Phone MCP by usefulapi
Read Spoke calls, transcripts, directory and users; manage phonebook contacts and send SMS. - Sakari MCP by usefulapi
Manage Sakari SMS contacts, conversations, templates and campaigns, and send texts. - Helpwise MCP by usefulapi
Read Helpwise conversations, contacts, tags and reports; note, tag, assign, close; send one email. - Missive MCP by usefulapi
Read email/chat conversations, messages, contacts and teams; draft, send and update threads. - Chaport MCP by usefulapi
Read Chaport visitors, chats, operators and webhooks; update visitors and chats; message visitors.
Badge for your README
[](https://aptlynx.net/servers/io.usefulapi/spruce-health)
Listing text is written by the maker; AptLynx lists tools and does not vouch for them. Find another tool · Browse by topic · For agents