About lawmatics-mcp
lawmatics-mcp connects Claude to Lawmatics, giving law firms a way to query CRM records and perform supported updates from a conversation. Its 37 tools cover matters, contacts, intake, tasks, custom fields, and reporting, with an optional read-only mode and local audit log.
Key features
- 01Query matters, contacts, and companies
- 02Create and update tasks and events
- 03Read intake forms and submissions
- 04Access custom fields and billing records
- 05Filter, sort, and paginate lists
- 06Optional read-only mode and audit log
Use cases
- 01Review matter pipelines by practice area
- 02Find leads and inspect intake submissions
- 03Create follow-up tasks for matters
- 04Export records with custom field values
MCP support
An MCP server that exposes Lawmatics CRM records and actions as tools for clients such as Claude. Set read-only mode to remove write tools; calls can be recorded in a local audit log.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @oktopeak/lawmatics-mcpLAWMATICS_ACCESS_TOKENSecretLawmatics OAuth access token (never expires). Obtain once with `npx @oktopeak/lawmatics-mcp auth`.LAWMATICS_READ_ONLYSet to '1' to disable all write tools (create/update/tag/submit). Read-only mode for cautious firms.LAWMATICS_EXPERIMENTAL_TOOLSSet to '1' to enable experimental tools (set-matter-custom-fields) whose API request shape is not fully documented by Lawmatics.LAWMATICS_RATE_LIMIT_PER_MINClient-side request throttle per minute (default: 50, the conservative documented per-firm limit; newer docs say 150).LAWMATICS_AUDIT_LOGSet to '0' to disable the local JSONL audit log (default path: ~/.lawmatics-mcp/audit.log).LAWMATICS_AUDIT_LOG_PATHOverride the audit log file location (default: ~/.lawmatics-mcp/audit.log). The log contains tool arguments, which can include client data.LAWMATICS_CLIENT_IDOnly needed for the one-time `auth` command: your Lawmatics developer app client ID.LAWMATICS_CLIENT_SECRETSecretOnly needed for the one-time `auth` command: your Lawmatics developer app client secret.LAWMATICS_REDIRECT_PORTLocal port for the one-time OAuth callback (default: 5678). Must match the app's Callback URL.LAWMATICS_API_BASEOverride the Lawmatics API base URL (default: https://api.lawmatics.com/v1).Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
37Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| page | integer | No | Page number (Lawmatics returns a fixed 25 records per page). |
| fields | string | No | Comma-separated attributes to return, or 'all' for everything. Add 'custom_fields' to include custom field values. |
| sort_by | string | No | Attribute to sort by, e.g. 'created_at', 'updated_at', 'id'. Default: id, newest first. |
| fetch_all | boolean | No | Follow pagination and return every record (capped at 1,000). The response says complete=false if truncated. |
| filter_by | string | No | Attribute to filter on. IMPORTANT: the Lawmatics API supports only ONE filter per request. Association filters use the _id suffix, e.g. practice_area_id, stage_id, source_id, matter_id, contact_id. |
| filter_on | string|number | No | Value to filter for. Required with filter_by unless filter_with is null/not_null. |
| sort_order | enum | No | asc | desc |
| filter_with | string | No | Filter operator: =, !=, <, <=, >, >=, like, ilike (default: ilike for text — add % wildcards for fuzzy match, e.g. %smith%), or presence checks: null, not_null. Currency values are in cents. |
Details
From the project READMELawmatics MCP Server
Connect Claude to your Lawmatics legal CRM. Ask Claude to pull pipeline reports Lawmatics can't build natively, look up matters and contacts, check intake form submissions, create follow-up tasks — all without leaving your conversation.
Built by Oktopeak — AI transformation & automation for law firms
Digital transformation for legal and healthcare businesses. We build AI integrations, workflow automation, and custom software your firm owns outright — including this connector. → Book a 30-min call
Tip
Not a developer? You don't need to be.
The README below assumes someone comfortable editing a JSON config file. If that's not you or your team, we deploy this for law firms — scoped credentials, read-only mode if you want it, audit log wired in, one custom workflow, training.
→ Whole firm? The Firm Plan: $300 a month. Set up in your own cloud, every attorney signs in with their own login, one audit log, one automation built for you each month, no setup fee, cancel any time. → oktopeak.com/firm-plan/, or book a 30-min call
Jump to: What it does · Installation · Getting API access · Available tools · Read-only mode · Security · Known API limitations · Other connectors · Need it deployed for you?
What it does
Once connected, Claude can talk directly to your Lawmatics firm data. You can ask things like:
- "How many open PNCs do we have per practice area?"
- "Which marketing source brought in the matters we actually hired this quarter?"
- "Show me every matter sitting in the 'Consult Completed' stage with no task attached"
- "Export all personal injury leads from July with their custom intake fields"
- "What did the Smith intake form submissions say this week?"
- "Create a follow-up task for the Jones matter, due Friday, assigned to Sarah"
Lawmatics' built-in reporting is a common complaint among firms. With this connector, Claude becomes the reporting layer: it pulls raw records (including custom fields) and does the aggregation, cross-tabbing, and formatting itself.
Project status
This server is built strictly against the official Lawmatics API documentation (v1.22) and its published example payloads, with 80+ unit tests locking in the documented request/response contract. It has not yet been run against a live firm account — if you hit a mismatch with the real API, open an issue with the tool name and the error text. That's the point of it being open source: real-world reports make it solid for everyone.
Prerequisites: getting Lawmatics API access
- Node.js 18+
- A Lawmatics account with admin access
- Developer Settings enabled on your account. Lawmatics gates API access behind a support request: contact Lawmatics support or email [email protected] and ask them to enable Developer Settings. It's free; it's just not on by default.
- A developer app: once Developer Settings is on, go to Settings → Developers in Lawmatics, create an app, and set the Callback URL to
http://localhost:5678/callback. You'll get a Client ID and Client Secret.
Get your access token (one time)
Lawmatics access tokens never expire, so you do this exactly once:
LAWMATICS_CLIENT_ID=your_client_id LAWMATICS_CLIENT_SECRET=your_client_secret npx -y @oktopeak/lawmatics-mcp auth
Open the printed URL, approve access, and the command prints your token plus a ready-to-paste config snippet. Store the token like a password — anyone holding it has full access to your firm's Lawmatics data until you delete the developer app.
Installation
With Claude Desktop (recommended)
Add this to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"lawmatics": {
"command": "npx",
"args": ["-y", "@oktopeak/lawmatics-mcp"],
"env": {
"LAWMATICS_ACCESS_TOKEN": "your_token_here"
}
}
}
}
Restart Claude Desktop. Ask "Who am I logged in as in Lawmatics?" to verify the connection (it calls get-current-user).
With Claude Code
claude mcp add lawmatics -e LAWMATICS_ACCESS_TOKEN=your_token_here -- npx -y @oktopeak/lawmatics-mcp
Available tools
37 tools. Matters are what Lawmatics calls "prospects" internally — every lead and case, whether PNC, hired, or lost.
| Group | Tools |
|---|---|
| Matters | list-matters, get-matter, find-matter (by email/phone/name), create-matter, update-matter |
| Contacts | list-contacts, get-contact, find-contact, create-contact, update-contact |
| Companies | list-companies, get-company, find-company |
| Pipeline & firm data | list-pipelines, list-stages, list-practice-areas, list-sources, list-sub-statuses, list-users, get-current-user |
| Tasks | list-tasks, create-task, update-task |
| Events | list-events, create-event |
| Notes & timeline | list-notes, create-note, list-activities |
| Tags | list-tags, attach-tags, detach-tags |
| Custom fields | list-custom-fields (+ experimental set-matter-custom-fields, see below) |
| Intake forms | list-forms, get-form, get-form-entries, submit-form |
| Billing | list-invoices (read-only in the Lawmatics API) |
Every list tool supports the full Lawmatics query surface: one filter (filter_by / filter_on / filter_with with =, !=, <, >, like, ilike, null, not_null), sorting, field selection (fields, including custom_fields), and pagination — plus a fetch_all option that follows pagination up to 1,000 records and always tells you if the result was truncated.
Custom fields
Lawmatics firms live in custom fields. To read them, add custom_fields to the fields parameter of any get/list tool. list-custom-fields shows every field definition including picklist options, so Claude can interpret raw values.
Writing custom field values is only loosely documented by Lawmatics, so set-matter-custom-fields ships behind a flag until someone with a live account confirms the request shape (set LAWMATICS_EXPERIMENTAL_TOOLS=1 to enable it — and please report whether it works).
Read-only mode
Set LAWMATICS_READ_ONLY=1 in the server's env config and every write tool (create/update/tag/submit) is removed entirely — not just blocked, they don't exist as far as Claude is concerned. Recommended for a first rollout, for reporting-only use, and for cautious partners.
Configuration reference
| Env var | Purpose |
|---|---|
LAWMATICS_ACCESS_TOKEN | Required. Your OAuth access token (never expires). |
LAWMATICS_READ_ONLY | 1 = disable all write tools. |
LAWMATICS_EXPERIMENTAL_TOOLS | 1 = enable tools whose API shape Lawmatics hasn't fully documented. |
LAWMATICS_RATE_LIMIT_PER_MIN | Client-side throttle. Default 50 (Lawmatics documents both 50/min and 150/min; we default to the safe one). |
LAWMATICS_AUDIT_LOG | 0 = disable the local audit log. |
LAWMATICS_AUDIT_LOG_PATH | Audit log location (default ~/.lawmatics-mcp/audit.log). |
LAWMATICS_CLIENT_ID / LAWMATICS_CLIENT_SECRET | Only for the one-time auth command. |
LAWMATICS_REDIRECT_PORT | OAuth callback port (default 5678). |
LAWMATICS_API_BASE | API base override (default https://api.lawmatics.com/v1). |
Security
- Your token stays on your machine. It lives in your MCP config file and is sent only to
api.lawmatics.com. This server has no backend, no telemetry, and phones home to no one. - Audit log. Every tool call (name, arguments, outcome) is appended to a local JSONL file at
~/.lawmatics-mcp/audit.log, so a firm admin can always answer "what did the AI touch." Note that tool arguments can include client data (names, emails, note text) — the log lives only on your machine, but include it in your firm's data retention policy, or disable it withLAWMATICS_AUDIT_LOG=0. - Least privilege caveat. The Lawmatics API has no scopes: any token has full CRUD access. Read-only mode is enforced by this server, not by Lawmatics — pair it with the audit log, and delete the developer app to revoke access entirely.
- Data flow. Records Claude requests flow from Lawmatics through this local process into your MCP client and its model context. Review your AI provider's data handling terms the same way you would for any vendor touching client data.
Known Lawmatics API limitations
Things this connector cannot do because the underlying API doesn't support them (as of API v1.22):
- No pipeline stage moves. The API exposes stages read-only;
sub_status_idon update-matter is the closest control. - One filter per request. Complex queries need
fetch_all+ letting Claude filter the result. - Page size is fixed at 25. Large exports take one request per 25 records (the built-in throttle respects the rate limit).
- Invoices, pipelines, sources, campaigns are read-only.
- No e-signature, document templates, email sending, or automation management via API.
- Webhooks are configured in the Lawmatics dashboard only (no API management).
Roadmap
File upload/download, time entries and expenses, relationships, task subtasks/comments, and Collections (Lawmatics' custom data tables) — in rough order of demand. Open an issue if you need one sooner.
Other connectors by Oktopeak
Each connector has its own overview page on oktopeak.com with setup notes and FAQ:
- Clio MCP: Clio practice management. Source: github.com/oktopeak/clio-mcp
- MyCase MCP: MyCase practice management. Source: github.com/oktopeak/mycase-mcp
- Filevine MCP: Filevine case management. Source: github.com/oktopeak/filevine-mcp
- IntakeQ MCP: IntakeQ / PracticeQ intake (healthcare)
Same architecture, same audit logging. All MIT licensed.
Need more than the connector?
The connector is free and stays free. Firms hire us for what's around it: deployment on every attorney's machine, scoped credentials, custom workflows ("every morning, list yesterday's new leads by source with intake answers"), integrations Lawmatics doesn't have, and the production software layer when you outgrow Zapier.
→ Whole firm? The Firm Plan: $300 a month. Set up in your own cloud, every attorney signs in with their own login, one audit log, one automation built for you each month, no setup fee, cancel any time. → oktopeak.com/firm-plan/ · Book a 30-min call
Want a polished overview of this connector with FAQ? → oktopeak.com/lawmatics-mcp/
Supporting this project
This connector is free, MIT licensed, and maintained by Oktopeak. It always will be; we don't take donations. If it saved you time, the things that actually help:
- Star this repo. It is genuinely how other firms find it.
- Tell another firm running Lawmatics.
- Leave a review if we helped you directly.
- Need it deployed, extended, or maintained for your firm? Commercial support; that is what funds the free work.
Development
npm install
npm test # 80+ unit tests against the documented API contract
npm run build
npm run inspect # MCP Inspector against the built server
Contributions welcome — especially reports from live Lawmatics accounts.
License
MIT © Oktopeak
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.