simplepractice-mcp
simplepractice-mcp
SimplePractice 클라이언트 포털용 MCP 서버 — 실무의 클라이언트가 로그인하는 쪽이지, 임상가 쪽이 아닙니다. 예약, 청구, 서류, 공지사항을 포털 자체 JSON:API를 통해 읽습니다.
AI(Claude Code)가 개발 및 유지 관리합니다. 사용에 따른 책임은 본인에게 있습니다.
읽는 항목
도구 | 제공 내용 |
| 실무, 현재 클라이언트, 이 로그인이 포함하는 모든 클라이언트, 취소 정책, 기능 권한 |
| 예약되었거나 요청된 약속, 임상가 및 위치 포함 |
| 인보이스 · 명세서 · 슈퍼빌 · 영수증 · 계정 내역 |
| 미납 잔액 및 카테고리별 개수 |
| 저장된 카드 — 브랜드, 마지막 4자리, 만료일 |
| 귀하에게 보낸 서류, 미완료만 필터링 |
| 질문과 답변이 포함된 전체 요청 하나 |
| 실무가 공유한 파일 |
| 실무 공지사항, 읽지 않은 개수 포함 |
| 로그인 |
모든 것은 읽기 전용입니다. 취소, 서명, 결제는 포털에서 이루어집니다.
Related MCP server: practice-fusion-mcp
설정
npm install -g simplepractice-mcp
export SIMPLEPRACTICE_PRACTICE=achievebalancetherapy # or the full hostSIMPLEPRACTICE_PRACTICE는 실무의 포털 주소입니다 — 제공자가 이메일로 보낸 링크의 슬러그 또는 전체 <practice>.clientsecure.me 호스트입니다.
변수 | |
| 필수 — 포털 슬러그 또는 호스트 |
| 선택 사항 — 세션 경로 (기본값 |
로그인
클라이언트 포털에는 비밀번호가 없습니다. SimplePractice가 일회용 링크(또는 6자리 PIN)를 이메일로 보냅니다. 이를 세션 쿠키로 교환합니다:
simplepractice_request_sign_in_link { email, confirm: true }이메일을 열고 링크를 복사하세요.
simplepractice_verify_sign_in_token { link }— 전체 링크를 전달하세요. 토큰은 링크의#조각이며 도구가 이를 추출합니다.
링크는 일회용입니다 — 재사용하면 401 "Authorization has already been used or expired" 응답이 옵니다 — 그리고 24시간 동안 유효합니다. 요청 엔드포인트는 주소 및 IP별로 속도 제한이 있으므로 전송 시 확인 게이트가 있습니다. 재시도 루프는 유일한 진입 경로를 잠글 수 있습니다. 새로 고침 토큰은 없습니다. 세션이 만료되면 다시 로그인해야 합니다.
전체 체인은 실제 포털에 대해 종단 간 검증되었습니다 — 요청, 이메일로 받은 링크, verified 및 세션 쿠키를 반환하는 교환, 그리고 새 세션으로 인증된 읽기.
이 흐름은 HTTP와 이메일만 필요하므로 이 서버는 브라우저 의존성이 없으며 어디서나 실행할 수 있습니다.
서버 없이
skills/simplepractice-fpx는 curl로 동일한 읽기를 수행하며, 매직 링크로 로그인하거나 fpx를 사용하여 브라우저 탭에서 세션 쿠키를 가져옵니다.
구축하면서 얻은 참고 사항
포털은 공개 소스맵을 제공하는 Ember 앱이므로 모델, 어댑터 및 라우트를 직접 읽을 수 있습니다 — 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
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