passare-mcp
MCP server for the Passare Public API that enables users to query funeral home case data, including cases, acquaintances, addresses, and contact information, through natural language.
README
Passare MCP
MCP server for the Passare Public API - talk to your funeral-home case data from Claude, Cursor, or any MCP client. First MCP for the Passare platform, MIT-licensed, no vendor relationship required to run.
What you can do with it
Passare is the leading cloud-based funeral home management software in the US. The Public API gives 3rd parties read access to cases (deceased, services, status), acquaintances (next of kin), addresses, and contact info. With this MCP, you can ask:
You: "Show me every case that was updated this week and group them by service status."
Claude: *calls list_updated_cases, summarises*
You: "Pull up the family contacts for case 7f3a1bcd-... and give me phone + email for the next of kin."
Claude: *calls list_case_acquaintances, then get_phone_number and get_email*
You: "Any new cases come in since yesterday?"
Claude: *calls list_new_cases*
Use cases for funeral directors, family-services agencies, and adjacent SaaS:
- Auto-summarise a day's new cases into a daily digest
- Sync case status to a CRM, Google Sheet, or Slack channel
- Pull service addresses into a routing / dispatch tool
- Drive a follow-up call list from next-of-kin phone numbers
Install
pip install -e .
Configure
export PASSARE_API_KEY="<your-bearer-token>"
export PASSARE_ORGANIZATION_ID="<your-organization-uuid>"
Both are issued by Passare after you submit the Public API access form. The org UUID scopes every call to your funeral home.
Who uses this?
- Funeral homes running Passare who want to bring their case data into Claude / Cursor / a custom agent workflow.
- Adjacent SaaS (CRM, dispatch, family-portal, monument companies) building B2B integrations to Passare without waiting on a partner agreement.
- AI engineers prototyping vertical workflows for the deathcare industry.
Use with Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"passare_mcp": {
"command": "passare_mcp",
"env": {
"PASSARE_API_KEY": "your-api-key",
"PASSARE_ORGANIZATION_ID": "your-organization-uuid"
}
}
}
}
Use with Claude Code
claude mcp add passare_mcp -- passare_mcp \
--env PASSARE_API_KEY=your-key \
--env PASSARE_ORGANIZATION_ID=your-uuid
Tools
| Tool | Type | What it does |
|---|---|---|
health_check |
Diagnostic | Verifies credentials by calling the cheapest list endpoint |
list_cases |
Read | List every case in the org (paginated by limit/offset) |
get_case |
Read | Retrieve one case by its Passare UUID |
list_case_acquaintances |
Read | List family / next-of-kin contacts for a case |
list_new_cases |
Read | Incremental sync: cases created since the last poll |
list_updated_cases |
Read | Incremental sync: cases updated since the last poll |
get_address |
Read | Retrieve one address by its Passare UUID |
get_phone_number |
Read | Retrieve a contact's phone by the contact UUID |
get_email |
Read | Retrieve a contact's email by the contact UUID |
Why this exists
The Passare Public API has been live since 2018 and is documented at passare.com/api. The endpoint surface is listed in Cyclr's Passare connector docs: Cases, Address, Contacts. But no first-party MCP server exists, no Zapier / Composio / mcp.so wrapper covers Passare specifically, and the only DIY options are buried in Tribute/Frazer/Passare's funeral-home-lead aggregators (which only surface "what software does this funeral home run?", not actual case data).
This MCP is the missing layer: same auth, same endpoints, no vendor lock-in, MIT-licensed, 9 tools covering the entire read surface of the Public API.
Development
pip install -e ".[dev]"
pytest
ruff check src tests
ruff format --check src tests
mypy src tests
passare_mcp
Architecture
Built on the patterns documented in ~/.mavis/agents/mavis/memory/engineering-playbook.md:
httpx.AsyncClientwith pooling + transport retries- Typed exception hierarchy with structured fields
- Application-level retry with exponential backoff + Retry-After
- Bare
raiseinside@mcp.toolhandlers (FastMCP setsisError=true) - JSONL audit logging per tool call with secret redaction
py.typedmarker;mypy --strictcleanrespx+hypothesisfor unit and property tests
License
MIT.
See also
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.