Skip to main content
Glama

Spruce Health MCP by usefulapi

Server Details

Read Spruce Health contacts, conversations, messages, phone lines and team members (read-only).

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

TDQS

Score is being calculated.

Available Tools

24 tools
sprucehealth_get_contactGet a contact
Read-onlyIdempotent
Inspect

One contact by Spruce contact id (entity_…): demographics, phones, emails, tags, custom and organization fields, integration links. GET /contacts/{contactId}.

ParametersJSON Schema
NameRequiredDescriptionDefault
contact_idYesThe contact id (e.g. "entity_0E5QDGJC03000").
sprucehealth_get_conversationGet a conversation
Read-onlyIdempotent
Inspect

One conversation by id (t_…). GET /conversations/{conversationId}.

ParametersJSON Schema
NameRequiredDescriptionDefault
conversation_idYesThe conversation id (e.g. "t_0E5QDJJC03000").
sprucehealth_get_conversation_itemGet a conversation message
Read-onlyIdempotent
Inspect

One conversation item (message, note, call, voicemail…) by id (ti_…). GET /conversationItems/{conversationItemId}.

ParametersJSON Schema
NameRequiredDescriptionDefault
conversation_item_idYesThe conversation item id (e.g. "ti_0D4QABCC06000").
sprucehealth_get_memberGet an organization member
Read-onlyIdempotent
Inspect

One organization member (teammate, team or the organization) by id. GET /organization/members/{memberId}.

ParametersJSON Schema
NameRequiredDescriptionDefault
member_idYesThe member id (e.g. "entity_0D4QABCC06000").
sprucehealth_get_organizationGet the organization
Read-onlyIdempotent
Inspect

Your Spruce organization (id and name). The id is the owner/member id used by other objects. Good first call. GET /organization.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

sprucehealth_get_phone_lineGet a phone line
Read-onlyIdempotent
Inspect

One phone line by id (pd_…). GET /phonelines/{phonelineId}.

ParametersJSON Schema
NameRequiredDescriptionDefault
phone_line_idYesThe phone line id (e.g. "pd_26RRC7PQ6JG00").
sprucehealth_get_transcriptionGet a call or voicemail transcription
Read-onlyIdempotent
Inspect

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}.

ParametersJSON Schema
NameRequiredDescriptionDefault
transcription_idYesThe transcription id (from a conversation item's audio attachment).
sprucehealth_list_contact_conversationsList a contact's conversations
Read-onlyIdempotent
Inspect

The conversations (secure, SMS/phone, email, fax…) associated with one contact. GET /contacts/{contactId}/conversations.

ParametersJSON Schema
NameRequiredDescriptionDefault
contact_idYesThe contact id (e.g. "entity_0E5QDGJC03000").
sprucehealth_list_contact_fieldsList organization contact fields
Read-onlyIdempotent
Inspect

The organization-wide contact fields shown on every contact. Paged; totalCount included. GET /contacts/fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_sizeNoResults per page (1-500). Keep it small (e.g. 25-50) for long records: an oversized page is cut, but the Paging part with the cursor always stays whole.
pagination_tokenNoThe paginationToken from the previous page's reply (when hasMore is true).
sprucehealth_list_contactsList contacts
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_sizeNoResults per page (1-500). Keep it small (e.g. 25-50) for long records: an oversized page is cut, but the Paging part with the cursor always stays whole.
pagination_tokenNoThe paginationToken from the previous page's reply (when hasMore is true).
sprucehealth_list_contact_tagsList contact tags
Read-onlyIdempotent
Inspect

All contact tags of the organization. Paged with hasMore/paginationToken; totalCount included. GET /contacts/tags.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_sizeNoResults per page (1-500). Keep it small (e.g. 25-50) for long records: an oversized page is cut, but the Paging part with the cursor always stays whole.
pagination_tokenNoThe paginationToken from the previous page's reply (when hasMore is true).
sprucehealth_list_conversation_itemsList conversation messages
Read-onlyIdempotent
Inspect

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 /conversations/{conversationId}/items.

ParametersJSON Schema
NameRequiredDescriptionDefault
orderNoOrder of the items (default newest_first).
page_sizeNoResults per page (1-200). Keep it small (e.g. 25-50) for long records: an oversized page is cut, but the Paging part with the cursor always stays whole.
start_fromNoOnly items created after this RFC 3339 date-time (with zone).
conversation_idYesThe conversation id (e.g. "t_0E5QDJJC03000").
pagination_tokenNoThe paginationToken from the previous page's reply (when hasMore is true).
sprucehealth_list_conversationsList conversations
Read-onlyIdempotent
Inspect

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_from OR pagination_token, not both. GET /conversations.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_byNoOrder by creation time or last message time (default last_message).
page_sizeNoResults per page (1-200). Keep it small (e.g. 25-50) for long records: an oversized page is cut, but the Paging part with the cursor always stays whole.
start_fromNoOnly conversations whose ordering time is at or after this RFC 3339 date-time (with zone).
pagination_tokenNoThe paginationToken from the previous page's reply (when hasMore is true).
sprucehealth_list_conversation_scheduled_messagesList a conversation's scheduled messages
Read-onlyIdempotent
Inspect

Messages scheduled to be sent later in one conversation (read only; nothing is sent or cancelled). GET /conversations/{conversationId}/scheduledmessages.

ParametersJSON Schema
NameRequiredDescriptionDefault
conversation_idYesThe conversation id (e.g. "t_0E5QDJJC03000").
sprucehealth_list_conversation_tagsList conversation tags
Read-onlyIdempotent
Inspect

All conversation tags of the organization. Paged; totalCount included. GET /conversations/tags.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_sizeNoResults per page (1-500). Keep it small (e.g. 25-50) for long records: an oversized page is cut, but the Paging part with the cursor always stays whole.
pagination_tokenNoThe paginationToken from the previous page's reply (when hasMore is true).
sprucehealth_list_internal_endpointsList internal endpoints
Read-onlyIdempotent
Inspect

The organization's own channels: Spruce phone and fax numbers, email addresses and Spruce Links, with their owner and members. GET /internalendpoints.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

sprucehealth_list_membersList organization members
Read-onlyIdempotent
Inspect

All members of the organization: teammates (name, email, admin, suspended), teams and the organization itself. Paged with hasMore/paginationToken; totalCount included. GET /organization/members.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_sizeNoResults per page (2-500). Keep it small (e.g. 25-50) for long records: an oversized page is cut, but the Paging part with the cursor always stays whole.
pagination_tokenNoThe paginationToken from the previous page's reply (when hasMore is true).
sprucehealth_list_phone_linesList phone lines
Read-onlyIdempotent
Inspect

All phone lines of the organization (id, name); totalCount included. GET /phonelines.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

sprucehealth_list_read_receiptsList a message's read receipts
Read-onlyIdempotent
Inspect

Who has read one conversation item and when they first read it (oldest first). GET /conversationItems/{conversationItemId}/readReceipts.

ParametersJSON Schema
NameRequiredDescriptionDefault
conversation_item_idYesThe conversation item id (e.g. "ti_0D4QABCC06000").
sprucehealth_list_saved_messagesList saved messages
Read-onlyIdempotent
Inspect

Saved message templates (private and organization-wide): title, text, internal/shared flags. Paged with hasMore/paginationToken. GET /savedmessages.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_sizeNoResults per page (1-500). Keep it small (e.g. 25-50) for long records: an oversized page is cut, but the Paging part with the cursor always stays whole.
pagination_tokenNoThe paginationToken from the previous page's reply (when hasMore is true).
sprucehealth_list_scheduled_messagesList scheduled messages
Read-onlyIdempotent
Inspect

All messages scheduled to be sent from the organization (read only). Paged with hasMore/paginationToken; totalCount included. GET /scheduledmessages.

ParametersJSON Schema
NameRequiredDescriptionDefault
pagination_tokenNoThe paginationToken from the previous page's reply (when hasMore is true).
sprucehealth_list_team_membersList a team's members
Read-onlyIdempotent
Inspect

The members of one team (team ids come from sprucehealth_list_members, type 'team'). Paged. GET /teams/{teamId}/members.

ParametersJSON Schema
NameRequiredDescriptionDefault
team_idYesThe team id (e.g. "entity_0D4QABCC06000").
page_sizeNoResults per page (1-500). Keep it small (e.g. 25-50) for long records: an oversized page is cut, but the Paging part with the cursor always stays whole.
pagination_tokenNoThe paginationToken from the previous page's reply (when hasMore is true).
sprucehealth_search_contactsSearch contacts
Read-onlyIdempotent
Inspect

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 changes nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoContact tag text values (the `value` of a tag from sprucehealth_list_contact_tags).
free_textNoFree-text query (name, phone, email…).
page_sizeNoResults per page (1-500). Keep it small (e.g. 25-50) for long records: an oversized page is cut, but the Paging part with the cursor always stays whole.
categoriesNoContact categories to include.
created_toNoOnly contacts added at or before this time (RFC 3339 with zone).
given_nameNoGiven (first) name.
tags_matchNoHow the tags combine: any (default), all, or none (exclude).
family_nameNoFamily (last) name.
created_fromNoOnly contacts added at or after this time (RFC 3339 with zone).
invite_statesNoSpruce account/invite state.
phone_numbersNoPhone numbers, e.g. 2065551234 or +12065551234.
email_addressesNoEmail addresses.
pagination_tokenNoThe paginationToken from the previous page's reply (when hasMore is true).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 24 tool updates
    • First observedsprucehealth_get_contact
    • First observedsprucehealth_get_conversation
    • First observedsprucehealth_get_conversation_item
    • First observedsprucehealth_get_member
    • First observedsprucehealth_get_organization
    • First observedsprucehealth_get_phone_line
    • First observedsprucehealth_get_transcription
    • First observedsprucehealth_list_contact_conversations
    • First observedsprucehealth_list_contact_fields
    • First observedsprucehealth_list_contact_integration_links
    • First observedsprucehealth_list_contact_tags
    • First observedsprucehealth_list_contacts
    • First observedsprucehealth_list_conversation_items
    • First observedsprucehealth_list_conversation_scheduled_messages
    • First observedsprucehealth_list_conversation_tags
    • First observedsprucehealth_list_conversations
    • First observedsprucehealth_list_internal_endpoints
    • First observedsprucehealth_list_members
    • First observedsprucehealth_list_phone_lines
    • First observedsprucehealth_list_read_receipts
    • First observedsprucehealth_list_saved_messages
    • First observedsprucehealth_list_scheduled_messages
    • First observedsprucehealth_list_team_members
    • First observedsprucehealth_search_contacts

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables read-only access to Benepass employee-web API, allowing users to view HSA accounts, investments, transactions, documents, and benefits without write operations.
    13
    7 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables read-only access to Klaviyo marketing data, including campaigns, flows, segments, metrics, reports, and customer profiles, across multiple Klaviyo accounts.
    24
    27 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.