Skip to main content
Glama

simplepractice-mcp

用于 SimplePractice 客户门户 的 MCP 服务器 —— 即诊所的 客户 登录的那一侧,而非临床医生侧。通过门户自身的 JSON:API 读取预约、账单、文书和公告。

由 AI(Claude Code)开发和维护。请自行斟酌使用。

它能读取什么

工具

提供的内容

simplepractice_get_account

诊所、当前客户、此登录覆盖的所有客户、取消政策、功能权限

simplepractice_list_appointments

已安排或请求的预约,包含临床医生和地点

simplepractice_list_billing_items

发票 · 对账单 · 超级账单 · 收据 · 账户历史

simplepractice_get_billing_overview

应付余额和按类别计数

simplepractice_list_payment_methods

已保存的卡片 —— 品牌、后四位、有效期

simplepractice_list_document_requests

发送给您的文书,支持仅显示未完成筛选

simplepractice_get_document_request

完整查看一个请求,包含其问题和答案

simplepractice_list_documents

诊所已共享的文件

simplepractice_list_announcements

诊所公告,包含未读计数

simplepractice_session_status · _request_sign_in_link · _verify_sign_in_token · _verify_sign_in_pin · _sign_out

登录

所有操作均为只读。取消、签署和支付均在门户中完成。

Related MCP server: practice-fusion-mcp

设置

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

SIMPLEPRACTICE_PRACTICE 是诊所的门户地址 —— 即您提供商通过电子邮件发送的链接中的 slug 或完整的 <practice>.clientsecure.me 主机名。

变量

SIMPLEPRACTICE_PRACTICE

必需 —— 门户 slug 或主机名

SIMPLEPRACTICE_SESSION_FILE

可选 —— 会话路径(默认 ~/.simplepractice-mcp/session.json,权限为 0600

登录

客户门户 没有密码。SimplePractice 会通过电子邮件发送一次性链接(或 6 位 PIN 码);您将其兑换为会话 cookie:

  1. simplepractice_request_sign_in_link { email, confirm: true }

  2. 打开电子邮件,复制链接。

  3. simplepractice_verify_sign_in_token { link } —— 传递整个链接;令牌是其 # 片段,工具会自动提取。

链接为一次性使用 —— 重放会返回 401 "Authorization has already been used or expired" —— 且有效期为 24 小时。请求端点按地址 IP 进行速率限制,这就是发送需要确认的原因:重试循环会将您锁在唯一的入口之外。没有刷新令牌;当会话过期时,您需要重新登录。

整个链路已针对真实门户进行端到端验证 —— 请求、电子邮件中的链接、返回 verified 及会话 cookie 的交换,以及使用新会话进行的经过身份验证的读取。

由于该流程仅需 HTTP 和您的收件箱,此服务器没有浏览器依赖,可在任何地方运行。

不使用服务器

skills/simplepractice-fpx 使用 curl 执行相同的读取,既可以通过魔法链接登录,也可以使用 fpx 从浏览器标签页中提取会话 cookie。

构建笔记

门户是一个 Ember 应用,附带 公开的 sourcemap,因此其模型、适配器和路由可直接读取 —— docs/SIMPLEPRACTICE-API.md 记录了端点和陷阱,所有内容均已在真实门户上确认:

  • SPA 的 catch-all 对 API 未定义的任何路径返回 HTTP 200 且内容类型为 text/html/cards/client-billing-overviews 看起来像可用的空端点,但实际上根本不是端点 —— 两者都是 /clients/<id>include 关系。

  • hasDocumentPdf、卡片的 isDefault 以及客户的 permissions 数据块都是 字符串,而非布尔值或对象。

  • 账单按 游标 分页(page[before] = 行的 cursorId),预约按 数字 分页。两者不可互换。

开发

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

许可证

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