practicepanther-mcp
Click on "Install 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., "@practicepanther-mcpList open matters for account Acme Corp"
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.
PracticePanther MCP
Model Context Protocol (MCP) server for PracticePanther — cloud-based legal practice management software for solo and small-to-mid law firms.
Talk to PracticePanther from Claude, Cursor, or any MCP client. Read matters (cases), client accounts, contacts, time entries (billable hours), invoices, activities, tasks, calendar events — and create new records. Built against PracticePanther's public OAuth 2 + REST + OData API.
No existing MCP for PracticePanther — this is the first.
What you can do with it
You: "List open matters for account 'Acme Corp' and show last week's time entries."
Claude: *find_accounts → find_matters (odata filter status=open) → find_time_entries*
You: "Log 2.5 hours on matter 4421 for Sarah Lee today — research on the deposition brief."
Claude: *create_time_entry with matterId=4421, userId=<Sarah's>, date=today, hours=2.5,
description="Research: deposition brief", billable=true*
You: "Show all unpaid invoices over 60 days old across the firm."
Claude: *find_invoices (status=sent/overdue, startDate=2024-04-01) → summary*
You: "Book a hearing for matter 7788 on Friday May 30 at 2pm — judge Miller, courthouse 5."
Claude: *create_event with matterId=7788, startsAt, attendees, location*Related MCP server: filevine-mcp
Why this exists
PracticePanther's web UI is fine for solo use but doesn't expose firm-wide rollups (which matters are bleeding hours, which clients are slow-paying, who's about to blow a statute).
Logging billable hours from the UI requires click-through per entry — Claude can batch-log 10 entries in a single conversation.
The legal vertical has had Clio MCP servers for over a year; solo and small firms on PracticePanther had nothing equivalent.
For solo/small-firm attorneys, automating "what did I bill this week?" / "what's overdue?" / "log these 6 hours" is the most concrete, recurring time-save.
Install
pip install -e .Authenticate (one-time)
PracticePanther uses OAuth 2 authorization-code flow. The included helper script runs the full flow locally and prints the env vars to set:
practicepanther-mcp-auth --client-id <your_client_id> --client-secret <your_client_secret>This opens your browser, walks you through PracticePanther login, captures the redirect on http://localhost:8765/callback, exchanges the code for tokens, and prints:
export PRACTICEPANTHER_ACCESS_TOKEN="..."
export PRACTICEPANTHER_REFRESH_TOKEN="..."
export PRACTICEPANTHER_CLIENT_ID="..."
export PRACTICEPANTHER_CLIENT_SECRET="..."To register an OAuth app, contact PracticePanther support or your account manager — they issue client_id + client_secret per integration.
Configure
Once you have tokens, set them in your shell (or paste into the Claude Desktop config below):
export PRACTICEPANTHER_ACCESS_TOKEN="..."
export PRACTICEPANTHER_REFRESH_TOKEN="..."
export PRACTICEPANTHER_CLIENT_ID="..."
export PRACTICEPANTHER_CLIENT_SECRET="..."Refresh tokens last 60 days. The MCP client auto-refreshes the access token; when the refresh token expires, just re-run practicepanther-mcp-auth.
Use with Claude Desktop
{
"mcpServers": {
"practicepanther_mcp": {
"command": "practicepanther_mcp",
"env": {
"PRACTICEPANTHER_ACCESS_TOKEN": "...",
"PRACTICEPANTHER_REFRESH_TOKEN": "...",
"PRACTICEPANTHER_CLIENT_ID": "...",
"PRACTICEPANTHER_CLIENT_SECRET": "..."
}
}
}
}Tools (25)
Tool | Type | What it does |
| Diagnostic | Verifies credentials by listing users |
| Read | Search matters (cases) — supports OData |
| Read | Single matter with full detail |
| Write | Open new matter |
| Write | Patch matter fields |
| Read | Search client accounts |
| Read | Single client account |
| Write | New client account |
| Read | List contacts on accounts |
| Write | New contact |
| Read | The killer feature — billable hours across the firm |
| Read | Single time entry |
| Write | Log billable/non-billable time |
| Write | Patch time entry |
| Read | List invoices (filter by status, matter, account, date) |
| Read | Single invoice with line items |
| Write | New invoice |
| Read | Calls, emails, meetings |
| Write | Log activity against matter |
| Read | Tasks (to-dos) |
| Write | New task |
| Read | Calendar events (hearings, deadlines) |
| Write | New calendar event |
| Reference | Firm staff (attorneys, paralegals) |
| Reference | Practice areas (Family Law, PI, etc.) |
| Reference | Expense categories |
API coverage
Maps MCP tools to PracticePanther's OData-enabled REST API (/api/v2/*). The full surface is exposed via Swagger UI: https://app.practicepanther.com/swagger/ui/index.
This MCP exposes the resources a solo/small-firm attorney most often needs: matters, accounts, contacts, time entries, invoices, activities, tasks, calendar. Document management and trust accounting endpoints are intentionally out of scope for v0.1 — open an issue if you need them.
Rate limits
PracticePanther throttles at the OAuth-app level. The client auto-retries once on 401 (refreshes the access token) but does not retry on 429 — slow down if you hit rate limits.
Development
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest
ruff check src tests
practicepanther_mcpSee also
Need a custom MCP for your SaaS?
I build production-grade MCP servers for vertical SaaS — insurance, dental, veterinary, legal, property mgmt, home services. Typical engagement: 2-4 weeks, $25K-$120K. Source-owned, MIT-licensed, no vendor lock-in.
See sanjibani/mcp-services or email schoudhury1991@gmail.com.
Ships in the sanjibani vertical-MCP portfolio — see also hawksoft-mcp, open-dental-mcp, ezyvet-mcp, jobber-mcp, mcp-vertical-template.
MIT.
Acknowledgements
PracticePanther for the public REST + OData API + OAuth flow
Built using mcp-vertical-template
Inspired by sanjibani/hawksoft-mcp and the rest of the sanjibani vertical-MCP portfolio
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- 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/sanjibani/practicepanther-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server