therapie-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| THERAPIE_MCP_DB | No | Path to the private local SQLite workflow database. Defaults to ~/.local/share/therapie-mcp/workflow.sqlite3. Equivalent to the --db PATH command-line option. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_search_filtersA | Get current filter IDs and German labels from the actual therapie.de search form. Includes focus, method, billing, audience, gender, additional language and reported availability. |
| search_therapistsA | Search public therapist listings with contact details, distances, source URLs and pagination. Pass filter IDs or exact German labels from get_search_filters. One website page is returned; use the next page number when next_page_url is present. Availability is not a booking guarantee. |
| get_therapistA | Get a therapist's public profile: contact, qualifications, billing, methods, focuses and reported availability. |
| compare_therapistsA | Compare profiles against explicit directory facts. OR within a field, AND across fields. Unknown/not_listed needs direct confirmation. No medical suitability/quality ranking is inferred. |
| get_preferencesA | Read private local sender/contact/search preferences; nothing is sent to therapie.de. |
| update_preferencesA | Save local sender_name, sender_email, sender_phone, insurance, city, preferred_language. null removes a field. |
| save_therapistA | Fetch a public profile and save/refresh it in the private shortlist. Existing notes/status are preserved unless notes are provided. |
| get_shortlistA | List saved profiles, local notes and actual contact history, optionally filtered by status. |
| update_saved_therapistA | Update the user's local shortlist notes/status, without contacting the therapist. |
| delete_saved_therapistA | Delete a local saved therapist and all associated notes, drafts and contacts. Does not affect therapie.de. |
| draft_enquiryA | Create an editable email draft for a saved therapist, using local sender/insurance preferences. Only include health details explicitly supplied for this email. Does not send or log a contact. Follow-up drafts require a recorded earlier enquiry. Missing email needs a verified recipient. |
| get_email_draftA | Read the full recipient, subject and body of a private email draft before editing or exporting. |
| update_email_draftA | Edit a draft's recipient, subject or body. Nothing is sent. |
| export_email_draftA | Return .eml file content and a mailto link for the user's mail app. Review and send there; this does not send or log a contact. |
| log_contactA | Record an actual contact/reply/appointment and optional follow-up date (YYYY-MM-DD). Never use this to pretend a draft was sent. |
| complete_follow_upB | Mark a recorded follow-up as resolved, removing it from the due list. |
| record_appointmentA | Record a user-arranged appointment locally. ISO local time + IANA zone or explicit offset. Does not book/contact anyone. |
| list_appointmentsB | List locally recorded appointments in chronological order. |
| update_appointmentB | Reschedule or update a local appointment record. Does not notify the practice. |
| export_appointmentA | Return a private .ics calendar file for manual import. No booking or invitation is sent. |
| workflow_overviewA | Show local preferences, saved therapists, drafts and due follow-ups. Nothing is sent to the directory. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| therapeutensuche | Find and compare therapist listings for a town or postcode. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 21 tools
The tools split cleanly into search/profile, preferences, shortlist, drafts, contacts, appointments, and a workflow summary. A few pairs touch adjacent local state (save_therapist vs update_saved_therapist, log_contact vs record_appointment, get_shortlist vs workflow_overview), but the descriptions make their boundaries clear.
Nearly all tools use snake_case verb_noun patterns such as get_, search_, save_, update_, delete_, draft_, log_, record_, list_, and export_. Minor deviations are workflow_overview as a noun phrase and mixing get_shortlist with list_appointments for listing operations.
21 tools is heavy for one MCP server, even though they cover several distinct sub-workflows: search, shortlist, drafts, contacts, appointments, preferences, and overview. The grouping is logical, but the surface is large enough that splitting it would improve scoping.
The main workflow is well covered: search -> profile -> shortlist CRUD -> draft create/read/update/export -> contact/follow-up -> appointment record/list/update/export. Gaps are mostly deletion operations: there is no delete for drafts, contacts/follow-ups, or appointments, and no explicit list of all drafts or follow-ups beyond the overview.