lawmatics-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LAWMATICS_API_BASE | No | API base override (default https://api.lawmatics.com/v1). | |
| LAWMATICS_AUDIT_LOG | No | 0 = disable the local audit log. | |
| LAWMATICS_CLIENT_ID | No | Only for the one-time auth command. | |
| LAWMATICS_READ_ONLY | No | 1 = disable all write tools. | |
| LAWMATICS_ACCESS_TOKEN | Yes | Required. Your OAuth access token (never expires). | |
| LAWMATICS_CLIENT_SECRET | No | Only for the one-time auth command. | |
| LAWMATICS_REDIRECT_PORT | No | OAuth callback port (default 5678). | |
| LAWMATICS_AUDIT_LOG_PATH | No | Audit log location (default ~/.lawmatics-mcp/audit.log). | |
| LAWMATICS_EXPERIMENTAL_TOOLS | No | 1 = enable tools whose API shape Lawmatics hasn't fully documented. | |
| LAWMATICS_RATE_LIMIT_PER_MIN | No | Client-side throttle. Default 50. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list-mattersA | List matters (leads/prospects/clients) with optional filter, sort, and pagination. Matter status is 'pnc' (potential new client), 'hired', or 'lost'. Useful filters: status, practice_area_id, stage_id, source_id, sub_status_id, created_at, estimated_value_cents, actual_value_cents. For pipeline reporting, combine filter_by with fields and fetch_all, then aggregate the result. |
| get-matterA | Get full details for a single matter by ID, including custom fields and related records (contact, stage, practice area, tasks, notes, events, invoices as {id, type} references). |
| find-matterA | Find a single matter by exact email, phone, or name. Returns the best match or not_found. For fuzzy or multi-result searches use list-matters with filter_with: 'ilike' and % wildcards. |
| create-matterA | Create a new matter (lead). By default this also creates a contact from first/last name. Pass contact_id to attach an existing contact, or match_contact_by to reuse a contact matched on email/name/phone (falls back to creating one). Pass company_id or company_name for a company matter. Tags that don't exist yet are created automatically. |
| update-matterA | Update a matter. Only the provided fields change. Note: the public API has no documented way to move a matter between pipeline stages — sub_status_id is the closest control. |
| list-contactsA | List contacts (people) with optional filter, sort, and pagination. A contact is the person; the matter (prospect) is the case/lead attached to them. |
| get-contactA | Get full details for a single contact by ID, including custom fields. |
| find-contactA | Find a single contact by exact email, phone, or name. Returns the best match or not_found. For fuzzy searches use list-contacts with filter_with: 'ilike' and % wildcards. |
| create-contactA | Create a new contact (person) without a matter. To create a lead with a case, use create-matter. |
| update-contactC | Update a contact. Only the provided fields change. |
| list-companiesB | List companies with optional filter, sort, and pagination. |
| get-companyA | Get full details for a single company by ID. |
| find-companyA | Find a single company by exact email, phone, or name. Returns the best match or not_found. |
| list-pipelinesA | List the firm's pipelines with matter counts, estimated value, and stage references. Use with list-stages to build a full pipeline board view. |
| list-stagesA | List all pipeline stages. Each stage references its pipeline. To count matters per stage, use list-matters with filter_by: 'stage_id'. |
| list-practice-areasB | List the firm's practice areas (id, name, color). |
| list-sourcesA | List marketing sources (where leads come from: Google, referrals, etc.). For source ROI reporting, use list-matters with filter_by: 'source_id'. |
| list-sub-statusesA | List matter sub-statuses. Each belongs to a top-level status: pnc (potential new client), hired, or lost. Use the IDs with create-matter / update-matter. |
| list-usersA | List the firm's Lawmatics users (staff). Use the IDs for task/event assignment. |
| get-current-userA | Get the user the access token belongs to. Also the cheapest way to verify the connection works. |
| list-tasksA | List tasks with optional filter, sort, and pagination. Useful filters: done (true/false), due_date (with <, >= operators), priority, matter_id, contact_id. |
| create-taskA | Create a task, optionally attached to a matter/contact/company and assigned to users. |
| update-taskB | Update a task — e.g. mark it done, change the due date, or reassign it. |
| list-eventsA | List events (appointments) with optional filter, sort, and pagination. For a date range, filter_by: 'start_date' with filter_with: '>=' (one filter per request; sort by start_date and paginate for windows). |
| create-eventA | Create an event (appointment), optionally attached to a matter or contact and with user hosts. Set send_invites: false to avoid emailing attendees. |
| list-notesA | List notes with optional filter, sort, and pagination. To get one matter's notes, use filter_by: 'matter_id' with the matter ID as filter_on. |
| create-noteA | Create a note on a matter, contact, or company. |
| list-activitiesA | List timeline activities (audit trail of everything that happened: notes, emails, stage moves...). The Lawmatics API REQUIRES a filter here — pass filter_by ('matter_id' or 'contact_id') and filter_on. |
| list-tagsC | List the firm's tags. |
| attach-tagsA | Attach tags to a matter, contact, company, or task. Tags that don't exist yet are created. |
| detach-tagsB | Detach tags from a matter, contact, company, or task. |
| list-custom-fieldsA | List the firm's custom field definitions (id, name, field_type, owner type, list options). Read a record's custom field VALUES by adding 'custom_fields' to the fields parameter of get-matter / get-contact / list-matters. |
| list-formsA | List the firm's custom forms (intake forms). Form IDs are UUIDs. Use get-form to see a form's field structure. |
| get-formA | Get one custom form including its field layout (field IDs, labels, types, required flags). |
| get-form-entriesA | List submissions for a custom form, each with label/value pairs and the matter it created. |
| submit-formA | Submit an entry to a custom form — creates a matter/contact and fires the form's automations, exactly like a website submission. Standard keys: first_name, last_name, email, phone. Custom fields use the key form 'custom_field_' (IDs from get-form or list-custom-fields). utm_source/utm_campaign/utm_medium/utm_term are also accepted. |
| list-invoicesA | List invoices (read-only in the Lawmatics API). Amounts are integer cents. Useful filters: status, due_at, matter_id. Fields include amount_cents, amount_paid_cents, outstanding_amount_cents, due_at, pdf_url. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| auth-status |
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/oktopeak/lawmatics-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server