Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CLIO_REGIONNoClio region: us, ca, eu, or auus
MCP_AUTH_MODENoAuthentication mode: oauth, static, or hybridhybrid
CLIO_CLIENT_IDYesFrom your Clio Developer Application
PUBLIC_BASE_URLNoPublic HTTPS base URL (required for OAuth/hybrid HTTP mode)
CLIO_CLIENT_SECRETYesFrom your Clio Developer Application
CLIO_ENCRYPTION_KEYYes64-hex (32 bytes) encryption key. Generate with openssl rand -hex 32
CLIO_HTTP_AUTH_TOKENSNoComma-separated bearer tokens for static/hybrid HTTP mode
CLIO_BOOTSTRAP_REFRESH_TOKENNoBootstrap refresh token for static/hybrid mode

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
clio_authenticateA

Starts the OAuth 2.0 authorization-code flow with Clio in the user's default browser, then persists the resulting access + refresh tokens (encrypted with AES-256-GCM) to disk. LOCAL STDIO TRANSPORT ONLY. On a remote/HTTP deployment (the Clio custom connector), each end user authenticates through the connector's own OAuth sign-in — Claude drives that flow when you add the connector — so this tool is unavailable there and is not needed.

clio_auth_statusA

Reports whether valid Clio credentials are currently available, the Clio user id they were issued to, and when the access token expires. On the remote connector this reflects YOUR own per-user session (established via the connector's OAuth sign-in); on local stdio and static/shared HTTP mode it reflects the single shared account.

clio_logoutA

Deletes the encrypted token file for the shared account (local stdio / static HTTP mode). Does not revoke the token on Clio's side — use Clio's Developer Applications screen to fully revoke. On the remote connector, per-user sessions are not cleared by this tool; disconnect the connector in Claude (or revoke the app in Clio) to end a session.

clio_who_am_iA

Calls GET /users/who_am_i.json to confirm credentials work and return the current user record.

clio_list_mattersA

Lists matters with optional filtering. Use query for free-text search across matter names, client_id to scope to a single client, and status to filter by lifecycle stage.

clio_get_matterA

Returns full detail for a single matter by id.

clio_create_matterA

Creates a new matter. client_id is required. If flat_rate_amount is supplied, the matter is created and then PATCHed with the custom_rate association — which is how Clio actually flips billing_method to flat (the top-level billing_method field is silently ignored on POST/PATCH; this is a confirmed Clio API quirk).

clio_update_matterA

PATCH a matter. Pass only the fields you want to change.

clio_delete_matterA

Soft-deletes a matter. Disabled unless CLIO_ALLOW_DESTRUCTIVE=true. Returns 204 on success, 404 if already deleted, 422 if the matter has dependencies (e.g. open bills).

clio_list_matter_contactsA

Returns related contacts for the given matter (the client plus any related parties).

clio_search_contactsA

Search contacts by free-text query (matches name, email, company). Use clio_get_contact for full detail.

clio_get_contactA

Returns full detail for a contact, including all emails, phone numbers, and addresses.

clio_create_person_contactC

Creates a person (individual) contact in Clio.

clio_create_company_contactC

Creates a company (entity) contact in Clio — Inc., LLC, Ltd., etc.

clio_update_contactA

PATCH a contact. Pass only the fields you want to change.

clio_delete_contactA

Deletes a contact. Disabled unless CLIO_ALLOW_DESTRUCTIVE=true. Returns 409 if the contact has open bills, 422 if they are a client on an open matter.

clio_list_activitiesA

Lists time entries and expenses. Filter by matter, user, date range, or type. Defaults to a useful field set since a bare GET on activities returns only id + etag.

clio_get_activityA

Returns a single activity. You MUST request specific fields — Clio's default response is just id + etag.

clio_create_time_entryA

Logs billable or non-billable time on a matter. TimeEntry.total = quantity_in_hours × rate.

clio_create_expense_entryA

Creates an ExpenseEntry. Use this for flat-fee line items as well — total = quantity × price (not rate × hours).

clio_list_tasksA

Lists tasks with optional filters by matter, status, priority, due date range, and assignee.

clio_get_taskA

Returns a single task by id.

clio_create_taskB

Creates a task. Optionally scoped to a matter and/or assignee.

clio_update_taskB

PATCH a task. Common use: mark complete by setting status=Complete.

clio_list_notesA

Lists notes attached to a matter or contact.

clio_create_noteA

Creates a note on a matter or contact. Notes appear in Clio's matter timeline and survive indefinitely — appropriate for memorializing client conversations and AI-generated summaries.

clio_list_calendar_entriesA

Lists calendar entries within a date range. Use ISO dates (YYYY-MM-DD).

clio_create_calendar_entryA

Creates a calendar entry. All-day events should set all_day=true and use date-only timestamps.

clio_list_calendarsA

Lists the calendars available to the current user.

clio_list_documentsB

Lists documents in a matter or folder.

clio_get_documentB

Returns document metadata.

clio_get_document_download_urlA

Resolves the GET /documents/{id}/download.json endpoint and returns the redirect target — a short-lived signed URL. We do NOT proxy the bytes through the MCP server.

clio_list_foldersA

Lists folders under a parent, or top-level if no parent_id given.

clio_list_billsA

Lists bills with optional filtering by matter, client, state, or issued-date range.

clio_get_billA

Returns a single bill by id.

clio_get_billing_summaryA

Aggregates totals across all bills on a matter: total billed, total paid, outstanding balance, and the date of the most-recently-issued bill.

clio_list_usersB

Lists firm users.

clio_get_userA

Returns a single user by id.

clio_list_practice_areasB

Lists practice areas configured on the firm.

clio_open_new_matterA

End-to-end intake: creates the client contact (or uses an existing one), opens the matter, and optionally seeds an opening note and an intake task. Returns a summary of everything created.

clio_api_requestA

Issue an arbitrary request against the Clio v4 API. Prefer the dedicated tools — this exists for endpoints not yet wrapped (custom_fields, trust_requests, webhooks, etc.). The path is relative to the API root (/matters.json, /users/who_am_i.json). For POST/PATCH bodies, pass data and we will wrap it in { data: ... }; pass body for already-wrapped JSON.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
compliance-noticeABA Opinion 512 reminder and an audit-logging summary.
auth-statusLive view of whether the server holds valid Clio credentials.

Latest Blog Posts

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/patrickking67/clio-manage-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server