careops-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@careops-mcp Check which carers have compliance issues in the next 30 days"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
careops-mcp
An MCP (Model Context Protocol) server that exposes a home-care provider's operational database to Claude — with schema-validated write tools and a tamper-evident, hash-chained audit log of every call.
Built as a working demonstration of authoring a production-style MCP server in Python: secure bidirectional connection between an LLM and local data, strict input validation before anything touches the database, and an audit trail that can prove it hasn't been altered.
What it does
Surface | Name | Purpose |
Tool |
| Query clients by suburb / preferred language |
Tool |
| One client's record + upcoming visits |
Tool |
| Write tool, Pydantic-validated: rejects past dates, malformed times, out-of-range durations, unknown IDs, and carer double-bookings |
Tool |
| Carer certifications expired or expiring within N days |
Tool |
| Re-walks the hash chain; reports the exact line if tampered |
Resource |
| Full JSONL audit trail of every tool call |
The audit log
Every tool invocation appends a JSONL entry carrying the SHA-256 of the previous entry:
{"ts": "...", "tool": "schedule_visit", "arguments": {...}, "status": "ok",
"prev_hash": "3f2a...", "hash": "9c41..."}Editing or deleting any historical record breaks the chain, and
verify_audit_log pinpoints the broken line. In compliance-sensitive
settings (aged care, audit) the question isn't only what did the AI do but
can you prove the record of it is intact — this answers both.
Related MCP server: careflow-mcp
Run it
python3 -m venv .venv
.venv/bin/pip install -e ".[dev]"
.venv/bin/python -m pytest # 9 tests: validation, double-booking, chain tamperingRegister with Claude Code:
claude mcp add careops -- /absolute/path/to/.venv/bin/python -m careops.serverOr Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"careops": {
"command": "/absolute/path/to/.venv/bin/python",
"args": ["-m", "careops.server"]
}
}
}Then ask Claude things like:
"Which carers have compliance problems in the next 30 days?"
"Schedule a personal-care visit for Mei Lin with a Mandarin-speaking carer tomorrow at 9am."
"Verify the audit log is intact."
The SQLite database self-seeds with demo data on first run.
Design notes
Validation before side effects.
schedule_visittakes a Pydantic model; bad input fails at the schema boundary and never reaches SQL. The double-booking check runs before the insert.Errors are honest. Unknown IDs and clashes raise with a clear message (surfaced to the model as a tool error) and are still audit-logged with an
error:*status — failures are part of the record.Compatible with mcp 1.x and 2.x. Imports
MCPServer(2.x) and falls back toFastMCP(1.x).
Available Tools
5 toolscheck_complianceA
Report carer certifications that are expired or expiring soon.
Aged-care providers must not roster carers with lapsed mandatory certifications (First Aid, Police Check). Use this before assigning visits or for a weekly compliance review.
Inputs: days_ahead. Returns: object
get_clientB
Get one client's full record, including their upcoming visits.
Inputs: client_id (required). Returns: object
list_clientsA
List clients, optionally filtered by suburb or preferred language.
Use this to find a client before scheduling a visit or answering questions about the client base.
Inputs: suburb, language. Returns: result
schedule_visitA
Schedule a care visit. Input is strictly validated (Pydantic).
Rejects past dates, malformed times, and out-of-range durations before anything touches the database. Refuses to double-book a carer at an already-scheduled date and start time.
Inputs: request (required). Returns: object
verify_audit_logA
Verify the integrity of the hash-chained audit log.
Re-computes every entry's SHA-256 link. Returns valid=false with the breaking line number if any record was altered or removed.
Inputs: no named parameters. Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Each tool serves a distinct purpose: compliance checking, client retrieval, client listing, scheduling, and audit verification. No overlap or ambiguity.
All tool names follow a consistent verb_noun pattern (check_compliance, get_client, list_clients, schedule_visit, verify_audit_log). No mixing of conventions.
With 5 tools covering compliance, client management, scheduling, and audit, the count is well-scoped for the care operations domain. Each tool adds clear value.
The tool set covers key workflows: compliance checks, client lookup, visit scheduling, and integrity verification. Minor gaps exist (e.g., no tool to update or cancel a visit), but the core lifecycle is supported.
Maintenance
Related MCP Connectors
Telehealth support for Claude, Codex and Cursor: investigate cases and connect your tools.
Solk CRM for Claude: accounts, pipeline, visits, quotes, orders and tickets with your permissions.
Truth-validated, SHA-512-sealed AI memory for Claude & Cursor. Free tier, OAuth, 38 tools.
Hosted MCP server for Cliniko — patients, appointments, availability, and invoices for AI agents.
Related MCP Servers
FlicenseNot gradedqualityDmaintenanceEnables AI agents to manage virtual clinic data including patients, visits, diagnoses, treatments, lab/radiology orders, and search medical literature and internal knowledge base.-- AlicenseNot gradedqualityDmaintenanceEnables Claude and other AI assistants to trigger HIPAA-compliant patient task management workflows through natural language.1MIT
- FlicenseAqualityDmaintenanceExposes a clinic's knowledge base and structured records to Claude Desktop as callable tools, with read tools grounded with citations and write tools gated behind approval.4-
- AlicenseAqualityDmaintenanceEnables Claude to access IntakeQ practice management data including scheduling, intake forms, treatment notes, invoices, and client records with HIPAA-compliant audit logging.2255 npmMIT