Skip to main content
Glama

simplepractice-mcp

MCP-Server für das SimplePractice Client Portal – die Seite, mit der sich die Klienten einer Praxis anmelden, nicht die Therapeutenseite. Termine, Abrechnung, Unterlagen und Ankündigungen, gelesen über die eigene JSON:API des Portals.

Entwickelt und gepflegt von KI (Claude Code). Verwendung auf eigene Verantwortung.

Was es liest

Tool

Was es Ihnen gibt

simplepractice_get_account

Praxis, aktueller Klient, alle Klienten, die dieser Login abdeckt, Stornierungsrichtlinie, Funktionsberechtigungen

simplepractice_list_appointments

geplante oder angefragte Termine, mit Therapeut und Ort

simplepractice_list_billing_items

Rechnungen · Kontoauszüge · Superbills · Quittungen · Kontohistorie

simplepractice_get_billing_overview

fälliger Saldo und Anzahl pro Kategorie

simplepractice_list_payment_methods

gespeicherte Karten – Marke, letzte vier Ziffern, Ablaufdatum

simplepractice_list_document_requests

an Sie gesendete Unterlagen, mit Filter für nur ausstehende

simplepractice_get_document_request

eine Anfrage vollständig, mit ihren Fragen und Antworten

simplepractice_list_documents

Dateien, die die Praxis geteilt hat

simplepractice_list_announcements

Praxis-Ankündigungen, mit Anzahl ungelesener

simplepractice_session_status · _request_sign_in_link · _verify_sign_in_token · _verify_sign_in_pin · _sign_out

Anmeldung

Alles ist schreibgeschützt. Stornieren, Unterschreiben und Bezahlen erfolgen im Portal.

Related MCP server: practice-fusion-mcp

Einrichtung

npm install -g simplepractice-mcp
export SIMPLEPRACTICE_PRACTICE=achievebalancetherapy   # or the full host

SIMPLEPRACTICE_PRACTICE ist die Portaladresse der Praxis – der Slug oder der gesamte <practice>.clientsecure.me-Host aus dem Link, den Ihr Anbieter per E-Mail gesendet hat.

Variable

SIMPLEPRACTICE_PRACTICE

erforderlich – Portal-Slug oder Host

SIMPLEPRACTICE_SESSION_FILE

optional – Sitzungspfad (Standard ~/.simplepractice-mcp/session.json, geschrieben mit 0600)

Anmelden

Das Client Portal hat kein Passwort. SimplePractice sendet per E-Mail einen Einmal-Link (oder eine 6-stellige PIN); Sie tauschen ihn gegen ein Sitzungs-Cookie ein:

  1. simplepractice_request_sign_in_link { email, confirm: true }

  2. Öffnen Sie die E-Mail und kopieren Sie den Link.

  3. simplepractice_verify_sign_in_token { link } – übergeben Sie den gesamten Link; das Token ist sein #-Fragment und das Tool extrahiert es.

Links sind nur einmal verwendbar – das erneute Senden eines Links führt zu 401 "Authorization has already been used or expired" – und sie sind 24 Stunden gültig. Der Anfrage-Endpunkt ist pro Adresse und pro IP ratenbegrenzt, weshalb das Senden bestätigungspflichtig ist: Eine Wiederholungsschleife sperrt Sie aus dem einzigen Zugang aus. Es gibt kein Refresh-Token; wenn die Sitzung abläuft, melden Sie sich erneut an.

Die gesamte Kette wird Ende-zu-Ende gegen ein Live-Portal verifiziert – Anfrage, der per E-Mail gesendete Link, der Austausch, der verified plus ein Sitzungs-Cookie zurückgibt, und ein authentifizierter Lesevorgang mit dieser neuen Sitzung.

Da dieser Ablauf nur HTTP und Ihr Postfach benötigt, hat dieser Server keine Browser-Abhängigkeit und kann überall ausgeführt werden.

Ohne den Server

skills/simplepractice-fpx führt dieselben Lesevorgänge mit curl durch, entweder per Magic-Link-Anmeldung oder durch Übernahme des Sitzungs-Cookies aus einem Browser-Tab mit fpx.

Anmerkungen zur Entwicklung

Das Portal ist eine Ember-App, die öffentliche Sourcemaps ausliefert, sodass ihre Modelle, Adapter und Routen direkt lesbar sind – docs/SIMPLEPRACTICE-API.md dokumentiert die Endpunkte und die Fallstricke, alle gegen ein Live-Portal bestätigt:

  • Die SPA-Catch-all-Antwort liefert HTTP 200 mit text/html für jeden Pfad, den die API nicht definiert. /cards und /client-billing-overviews sehen wie funktionierende, leere Endpunkte aus und sind überhaupt keine Endpunkte – beide sind include-Beziehungen von /clients/<id>.

  • hasDocumentPdf, das isDefault einer Karte und der permissions-Blob des Klienten sind alle Strings, keine Booleans oder Objekte.

  • Abrechnung paginiert per Cursor (page[before] = die cursorId einer Zeile), Termine per Nummer. Die beiden sind nicht austauschbar.

Entwicklung

npm install
npm run build
npm test              # 151 tests
npm run test:coverage # 100% enforced
npm run typecheck     # vitest does not run tsc — this does

Lizenz

MIT

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables read-only access to InvoiceNinja data, including invoices, expenses, clients, and tax reports, for AI assistants like Claude.
    1
  • A
    license
    A
    quality
    A
    maintenance
    Enables Claude to read appointments, invoices, quotes, and work requests from a Jobber Client Hub. Read-only, uses a local browser bridge to access the customer portal.
    7
    73
    MIT

View all related MCP servers

Related MCP Connectors

  • Securely access and manage FHIR healthcare data stored in Medplum.

  • Read your Savee saves, boards and home feed, and search its public library. Read-only.

  • Access the Notra API for managing posts, brand identities, integrations, and schedules.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/chrischall/simplepractice-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server