Skip to Content
API keys are issued to organizations with a signed BAA. Request API access →
MCP server

MCP server

The BloomText MCP server lets any Model Context Protocol  client read and send BloomText messages. It’s a remote server, so there’s nothing to install: point your client at the URL and authenticate with an API key. The agent gets exactly the scopes and conversations that key has.

Server URL
https://mcp.bloomtext.com/mcp

Connect your client

Replace YOUR_BLOOMTEXT_API_KEY with a key from an app user created for the agent. Don’t have one? Request API access.

Run this once in your terminal:

Terminal
claude mcp add --transport http bloomtext https://mcp.bloomtext.com/mcp \ --header "Authorization: Bearer YOUR_BLOOMTEXT_API_KEY"

Check it’s connected with claude mcp list, or type /mcp inside Claude Code.

Let your agent set it up

Paste this into your coding agent and it will wire up the server for you:

Set up the BloomText MCP server

Add the BloomText MCP server to this project. It's a remote Streamable HTTP server at https://mcp.bloomtext.com/mcp that authenticates with the header 'Authorization: Bearer <key>'. Read the key from the BLOOMTEXT_API_KEY environment variable and never hard-code it. Setup docs: https://www.bloomtext.com/developers/api/mcp.md

Tools

Each tool maps to one API endpoint and requires the same scope. The agent only sees tools its key’s scopes allow.

ToolDoesScope
get_organizationReturns the organization the key belongs to.organization:read
list_usersLists organization members.users:read
list_conversationsLists conversations the app user is in.conversations:read
get_conversationReturns one conversation.conversations:read
list_messagesReads messages in a conversation, newest page first.messages:read
list_repliesReads a message’s thread.messages:read
send_messageSends a message or threaded reply.messages:write
add_reactionReacts to a message.reactions:write
remove_reactionRemoves the app user’s reaction.reactions:write
list_participantsLists who is in a conversation.participants:read
list_broadcastsLists broadcasts and their status.broadcasts:read
create_exportStarts a conversation export.exports:write
get_exportChecks an export and returns its download URL.exports:read

send_message and create_export generate idempotency keys for you, so an agent retrying a tool call never sends twice.

Use cases

Each prompt works as-is once the server is connected. Swap in your own conversation names.

Morning catch-up

Summarize overnight messages so the front desk starts the day knowing what needs a reply.

Morning catch-up

Read the messages sent since 6pm yesterday in every conversation you can see. Group them into: needs a staff reply, already handled, and FYI. Keep patient details out of the summary; use conversation names only.

Schedule change notice

Post a change to a staff group and acknowledge the request that prompted it.

Schedule change

Reply in the Scheduling group thread: 'Dr. Lee's 2pm is moved to 3pm today.' Then react 👍 to the original request so staff know it's handled.

Handoff triage

Find patient messages that need a person and route them to the right staff group.

Handoff triage

Find messages from the last 2 hours that ask a clinical question or mention a problem. For each, post 'Needs a staff reply' with the conversation name in the Front Desk group. Don't reply to the patient yourself.

Unanswered messages

Catch conversations where the last word is still the patient’s.

Unanswered messages

List conversations where the most recent message is from someone outside our staff and is older than 1 hour. Show the conversation name and how long it's been waiting.

Records export

Package a conversation’s history for the chart or a records request.

Records export

Export last month's messages from the Intake conversation and give me the download link when it's ready.

Care team check

Make sure the right people are in a conversation.

Care team check

List the participants in the Johnson family care team conversation and tell me if anyone from the Nursing group is missing.

Agent skill

The BloomText API skill teaches an agent the API’s rules: authentication, idempotency, pagination, error codes, and what never to send. Agents that support Agent Skills  load it automatically when a task involves BloomText.

Terminal
mkdir -p .claude/skills/bloomtext-api curl -o .claude/skills/bloomtext-api/SKILL.md https://www.bloomtext.com/developers/api/skills/bloomtext-api/SKILL.md

Safety

An agent with messages:write can post as your app user in every conversation it’s in. Start with read-only scopes, add the app user only to the conversations the agent needs, and review what it sends before widening access.

  • Messages the agent sends appear under its app user’s name, so staff always know what came from it.
  • An organization admin can revoke the key or remove the app user at any time.
  • Keep patient data inside tools covered by a BAA. See Security and BAA.

For building your own agent loop on the REST API instead, see Build an AI agent.

Last updated on