Skip to main content
Glama
sanjibani

practicepanther-mcp

by sanjibani

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PRACTICEPANTHER_CLIENT_IDYesOAuth client ID for PracticePanther
PRACTICEPANTHER_ACCESS_TOKENYesAccess token for PracticePanther OAuth
PRACTICEPANTHER_CLIENT_SECRETYesOAuth client secret for PracticePanther
PRACTICEPANTHER_REFRESH_TOKENYesRefresh token for PracticePanther OAuth

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
find_mattersB

Search matters (cases). Optional OData orderby, filter, select let you write rich queries (e.g. orderby="openDate desc", odata_filter="contains(displayName,'Smith')").

get_matterA

Fetch a single matter with full detail (parties, practice area, status, etc.).

create_matterA

Open a new matter. matter_json is a JSON object string. Minimum required fields: displayName, accountId, practiceAreaId, responsibleAttorneyId, openDate.

update_matterB

Patch fields on a matter. updates_json is a JSON object with only the fields you want to change (e.g. '{"status":"closed"}').

find_accountsC

Search client accounts by name or email.

get_accountA

Fetch a single client account with full detail.

create_accountA

Create a new client account. account_json is a JSON object string. Minimum required: displayName.

find_contactsC

List contacts associated with accounts (e.g. co-counsel, witnesses).

create_contactC

Create a new contact. contact_json is a JSON object string.

find_time_entriesA

List time entries (billable hours). Use start_date + end_date for a date range (ISO-8601, e.g. "2026-01-01"), matter_id for a single case, user_id for a single attorney, billable to filter.

get_time_entryB

Fetch a single time entry.

create_time_entryA

Log a billable or non-billable time entry. entry_json is a JSON object string. Required: matterId, userId, date (YYYY-MM-DD), hours, description. For billable entries also include rate and billable: true.

update_time_entryB

Patch fields on a time entry (e.g. add narrative, adjust hours, mark billed).

find_invoicesB

List invoices. Filter by status (draft, sent, paid, partially_paid, void, overdue) or by matter/account/date range.

get_invoiceB

Fetch a single invoice with line items.

create_invoiceC

Create a new invoice. invoice_json is a JSON object string.

find_activitiesC

List activities (calls, emails, meetings) on matters/accounts.

create_activityC

Log a new activity (call, email, meeting) against a matter.

find_tasksC

List tasks (to-dos) on matters.

create_taskC

Create a new task. task_json is a JSON object string.

find_eventsC

List calendar events (hearings, deadlines, meetings).

create_eventC

Create a new calendar event. event_json is a JSON object string.

list_usersA

List firm users (attorneys, paralegals, staff). Use to look up IDs for responsible_attorney_id, user_id, assignee_id in other tools.

list_practice_areasA

List practice areas defined for the firm (e.g. Family Law, Personal Injury).

list_expense_categoriesA

List expense categories (Filing Fees, Travel, Copying, etc.).

health_checkA

Verify credentials by listing firm users. If this works, all other tools should work too.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.3/5.0

Scored across 26 tools

Disambiguation5/5

Each tool targets a distinct entity or action (e.g., create_account vs create_contact, find_matters vs find_tasks). Verbs (create, find, get, list, update) clearly separate creation, search, retrieval, and modification. No two tools have overlapping purposes.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern: verbs are imperative (create, find, get, list, update, health_check) and nouns are plural for list/find operations (e.g., find_accounts, list_users) and singular for create/get/update (e.g., get_matter, create_invoice). No mixing of styles or unexpected abbreviations.

Tool Count4/5

With 26 tools, the count is on the high end but justified for a comprehensive legal practice management system covering accounts, matters, contacts, activities, invoices, time entries, tasks, events, and reference lists. The scope is broad, and each tool serves a distinct purpose, making the count reasonable.

Completeness3/5

The server provides create, get/list/search for most entities but is missing update operations for accounts, contacts, activities, tasks, and events (only matter and time entry have update). There are no delete or archive tools, which are notable gaps for a CRUD-like lifecycle. Reference lists (expense categories, practice areas, users) are present but not modifiable.

Maintenance

ActivityInactive
ResponsivenessNo issues