Clio MCP
An open-source MCP server connecting Claude AI to Clio practice management. It enables agents to manage matters, contacts, documents, tasks, calendar, and billing via 34 tools. Features include ABA 512 audit logging, OS keychain encryption for credentials, and support for stdio and HTTP/SSE transports.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Read live case data and matter details
- Create new matters and contacts
- Book calendar events and close tasks
- Export entire Clio account data
Source and maintenance
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
@oktopeak/clio-mcp 2.2.0
{
"version": "2.2.0",
"transport": "stdio",
"identifier": "@oktopeak/clio-mcp",
"registryType": "npm",
"environmentVariables": [
{
"name": "CLIO_CLIENT_ID",
"format": "string",
"isRequired": true,
"description": "Client ID from your Clio developer application (Settings → Developer Applications)"
},
{
"name": "CLIO_CLIENT_SECRET",
"format": "string",
"isRequired": true,
"description": "Client Secret from your Clio developer application"
},
{
"name": "ENCRYPTION_KEY",
"format": "string",
"description": "Optional. Leave unset to auto-generate a key stored in the OS keychain (or ~/.clio-mcp/key.hex as fallback on headless Linux/WSL2). If set, must be a 64-character hex string — it will be migrated to the OS keychain on first use."
},
{
"name": "CLIO_REDIRECT_PORT",
"format": "string",
"description": "Local port for the OAuth callback listener (default: 5678). Change if 5678 is in use."
},
{
"name": "CLIO_REGION",
"format": "string",
"description": "Clio data region: 'us' (default, app.clio.com), 'eu' (eu.app.clio.com), 'au' (au.app.clio.com), or 'ca' (ca.app.clio.com). Controls the API and OAuth base URLs. Fixed at Clio account creation; must match the server your firm logs in to. Any other value stops startup."
},
{
"name": "READ_ONLY",
"format": "string",
"description": "Optional. 'true', '1' or 'yes' leaves the nine write tools (create_matter, create_note, create_task, update_task, complete_task, create_calendar_entry, log_time_entry, create_activity, upload_document) unregistered so Claude can read Clio but never change it. Works on both transports."
},
{
"name": "CLIO_API_BASE",
"format": "string",
"description": "Advanced override for the Clio API base URL (e.g. https://eu.app.clio.com/api/v4). Takes precedence over CLIO_REGION."
},
{
"name": "CLIO_AUTH_URL",
"format": "string",
"description": "Override the OAuth authorization endpoint (e.g. https://eu.app.clio.com/oauth/authorize)."
},
{
"name": "CLIO_TOKEN_URL",
"format": "string",
"description": "Override the OAuth token endpoint (e.g. https://eu.app.clio.com/oauth/token)."
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"clio-mcp": {
"command": "npx",
"args": [
"-y",
"@oktopeak/clio-mcp@2.2.0"
],
"env": {
"CLIO_CLIENT_ID": "<YOUR_CLIO_CLIENT_ID>",
"CLIO_CLIENT_SECRET": "<YOUR_CLIO_CLIENT_SECRET>",
"ENCRYPTION_KEY": "<YOUR_ENCRYPTION_KEY>",
"CLIO_REDIRECT_PORT": "<YOUR_CLIO_REDIRECT_PORT>",
"CLIO_REGION": "<YOUR_CLIO_REGION>",
"READ_ONLY": "<YOUR_READ_ONLY>",
"CLIO_API_BASE": "<YOUR_CLIO_API_BASE>",
"CLIO_AUTH_URL": "<YOUR_CLIO_AUTH_URL>",
"CLIO_TOKEN_URL": "<YOUR_CLIO_TOKEN_URL>"
}
}
}
}Cline
{
"mcpServers": {
"clio-mcp": {
"command": "npx",
"args": [
"-y",
"@oktopeak/clio-mcp@2.2.0"
],
"env": {
"CLIO_CLIENT_ID": "<YOUR_CLIO_CLIENT_ID>",
"CLIO_CLIENT_SECRET": "<YOUR_CLIO_CLIENT_SECRET>",
"ENCRYPTION_KEY": "<YOUR_ENCRYPTION_KEY>",
"CLIO_REDIRECT_PORT": "<YOUR_CLIO_REDIRECT_PORT>",
"CLIO_REGION": "<YOUR_CLIO_REGION>",
"READ_ONLY": "<YOUR_READ_ONLY>",
"CLIO_API_BASE": "<YOUR_CLIO_API_BASE>",
"CLIO_AUTH_URL": "<YOUR_CLIO_AUTH_URL>",
"CLIO_TOKEN_URL": "<YOUR_CLIO_TOKEN_URL>"
}
}
}
}VS Code
{
"servers": {
"clio-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@oktopeak/clio-mcp@2.2.0"
],
"env": {
"CLIO_CLIENT_ID": "<YOUR_CLIO_CLIENT_ID>",
"CLIO_CLIENT_SECRET": "<YOUR_CLIO_CLIENT_SECRET>",
"ENCRYPTION_KEY": "<YOUR_ENCRYPTION_KEY>",
"CLIO_REDIRECT_PORT": "<YOUR_CLIO_REDIRECT_PORT>",
"CLIO_REGION": "<YOUR_CLIO_REGION>",
"READ_ONLY": "<YOUR_READ_ONLY>",
"CLIO_API_BASE": "<YOUR_CLIO_API_BASE>",
"CLIO_AUTH_URL": "<YOUR_CLIO_AUTH_URL>",
"CLIO_TOKEN_URL": "<YOUR_CLIO_TOKEN_URL>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"clio-mcp": {
"command": "npx",
"args": [
"-y",
"@oktopeak/clio-mcp@2.2.0"
],
"env": {
"CLIO_CLIENT_ID": "<YOUR_CLIO_CLIENT_ID>",
"CLIO_CLIENT_SECRET": "<YOUR_CLIO_CLIENT_SECRET>",
"ENCRYPTION_KEY": "<YOUR_ENCRYPTION_KEY>",
"CLIO_REDIRECT_PORT": "<YOUR_CLIO_REDIRECT_PORT>",
"CLIO_REGION": "<YOUR_CLIO_REGION>",
"READ_ONLY": "<YOUR_READ_ONLY>",
"CLIO_API_BASE": "<YOUR_CLIO_API_BASE>",
"CLIO_AUTH_URL": "<YOUR_CLIO_AUTH_URL>",
"CLIO_TOKEN_URL": "<YOUR_CLIO_TOKEN_URL>"
}
}
}
}Let your agent find its tools
Find servers like Clio MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.