simplepractice-mcp
simplepractice-mcp
Servidor MCP para el SimplePractice Client Portal — el lado al que acceden los clientes de una práctica, no el lado del clínico. Citas, facturación, papeleo y anuncios, leídos a través de la propia JSON:API del portal.
Desarrollado y mantenido por IA (Claude Code). Úsalo bajo tu propio criterio.
Lo que lee
Herramienta | Lo que te ofrece |
| práctica, cliente actual, todos los clientes que cubre este inicio de sesión, política de cancelación, permisos de funciones |
| citas programadas o solicitadas, con clínico y ubicación |
| facturas · estados de cuenta · superbills · recibos · historial de cuenta |
| saldo pendiente y recuentos por categoría |
| tarjetas guardadas — marca, últimos cuatro, vencimiento |
| papeleo enviado a ti, con un filtro de solo pendientes |
| una solicitud completa, con sus preguntas y respuestas |
| archivos que la práctica ha compartido |
| anuncios de la práctica, con recuentos de no leídos |
| inicio de sesión |
Todo es de solo lectura. Cancelar, firmar y pagar ocurren en el portal.
Related MCP server: practice-fusion-mcp
Configuración
npm install -g simplepractice-mcp
export SIMPLEPRACTICE_PRACTICE=achievebalancetherapy # or the full hostSIMPLEPRACTICE_PRACTICE es la dirección del portal de la práctica — el slug o el host completo <practice>.clientsecure.me del enlace que tu proveedor envió por correo.
Variable | |
| obligatorio — slug o host del portal |
| opcional — ruta de sesión (por defecto |
Iniciar sesión
El Client Portal no tiene contraseña. SimplePractice envía por correo un enlace de un solo uso (o un PIN de 6 dígitos); lo intercambias por una cookie de sesión:
simplepractice_request_sign_in_link { email, confirm: true }Abre el correo, copia el enlace.
simplepractice_verify_sign_in_token { link }— pasa el enlace completo; el token es su fragmento#y la herramienta lo extrae.
Los enlaces son de un solo uso — reproducir uno responde 401 "Authorization has already been used or expired" — y duran 24 horas. El endpoint de solicitud tiene límite de velocidad por dirección y por IP, por lo que el envío está controlado por confirmación: un bucle de reintentos te bloquea la única vía de entrada. No hay token de actualización; cuando la sesión caduca, vuelves a iniciar sesión.
Toda la cadena se verifica de extremo a extremo contra un portal en vivo — solicitud, el enlace enviado por correo, el intercambio que devuelve verified más una cookie de sesión, y una lectura autenticada con esa nueva sesión.
Debido a que ese flujo solo necesita HTTP y tu bandeja de entrada, este servidor no tiene dependencia de navegador y puede ejecutarse en cualquier lugar.
Sin el servidor
skills/simplepractice-fpx hace las mismas lecturas con curl, ya sea iniciando sesión mediante enlace mágico o extrayendo la cookie de sesión de una pestaña del navegador con fpx.
Notas de la construcción de esto
El portal es una aplicación Ember que incluye sourcemaps públicos, por lo que sus modelos, adaptadores y rutas son legibles directamente — docs/SIMPLEPRACTICE-API.md registra los endpoints y las trampas, todo confirmado contra un portal en vivo:
El catch-all de la SPA responde HTTP 200 con
text/htmlpara cualquier ruta que la API no defina./cardsy/client-billing-overviewsparecen endpoints vacíos y funcionales, pero no son endpoints en absoluto — ambos son relacionesincludede/clients/<id>.hasDocumentPdf, elisDefaultde una tarjeta y el blob depermissionsdel cliente son todos cadenas, no booleanos ni objetos.Las páginas de facturación se paginan por cursor (
page[before]= elcursorIdde una fila), las citas por número. Los dos no son intercambiables.
Desarrollo
npm install
npm run build
npm test # 151 tests
npm run test:coverage # 100% enforced
npm run typecheck # vitest does not run tsc — this doesLicencia
MIT
Maintenance
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
- FlicenseNot gradedqualityDmaintenanceEnables read-only access to InvoiceNinja data, including invoices, expenses, clients, and tax reports, for AI assistants like Claude.1
- AlicenseAqualityAmaintenanceEnables read-only FHIR access to Practice Fusion EHR to search patients, appointments, conditions, medications, and lab results.13223MIT
- AlicenseNot gradedqualityCmaintenanceEnables clinical teams to list patients with active sharing and read glucose, graph, logbook, and statistics from LibreLink Up, with secure magic-link login and encrypted credentials.MIT
- AlicenseAqualityAmaintenanceEnables 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.773MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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