clio-mcp — Claude Code MCP server: Clio data
Connects Claude Code to Clio through MCP for work with matters, notes, documents, and billing. Useful when an agent needs live practice data.
claude mcp add --env CLIO_CLIENT_ID=<CLIO_CLIENT_ID> --env CLIO_CLIENT_SECRET=<CLIO_CLIENT_SECRET> --env ENCRYPTION_KEY=<ENCRYPTION_KEY> --env CLIO_REDIRECT_PORT=<CLIO_REDIRECT_PORT> --env CLIO_REGION=<CLIO_REGION> --transport stdio clio-mcp -- npx -y @oktopeak/clio-mcpWhat clio-mcp does
clio-mcp connects Claude Code to Clio through the Model Context Protocol. It exposes data about matters, custom fields, notes, contacts, documents, folders, tasks, calendar entries, and billing. The agent can query the Clio API instead of relying on manually copied records.
Tool calls are appended to the local ~/.clio-mcp/audit.log, while the authentication token is encrypted at rest. Setup requires a registered Clio developer app and the values CLIO_CLIENT_ID, CLIO_CLIENT_SECRET, and ENCRYPTION_KEY. Without those credentials, the server cannot establish a Clio connection.
What it helps with
- search Clio matters and contacts from the agent
- retrieve notes and custom fields for a matter
- inspect documents and folders through Claude Code
- review tasks, calendar entries, and billing data
- send Clio data actions through an MCP server
Example prompts for the agent
- Find open Clio matters connected to this client.
- Show the notes and custom fields for the matter with this name.
- Check the documents, tasks, and billing records for this matter.
How to install clio-mcp
Platform CLI
claude mcp add --env CLIO_CLIENT_ID=<CLIO_CLIENT_ID> --env CLIO_CLIENT_SECRET=<CLIO_CLIENT_SECRET> --env ENCRYPTION_KEY=<ENCRYPTION_KEY> --env CLIO_REDIRECT_PORT=<CLIO_REDIRECT_PORT> --env CLIO_REGION=<CLIO_REGION> --transport stdio clio-mcp -- npx -y @oktopeak/clio-mcpReplace <…> with your own values. 5 more environment variables are in the server README
Platform CLI
codex mcp add clio-mcp --env CLIO_CLIENT_ID=<CLIO_CLIENT_ID> --env CLIO_CLIENT_SECRET=<CLIO_CLIENT_SECRET> --env ENCRYPTION_KEY=<ENCRYPTION_KEY> --env CLIO_REDIRECT_PORT=<CLIO_REDIRECT_PORT> --env CLIO_REGION=<CLIO_REGION> -- npx -y @oktopeak/clio-mcpReplace <…> with your own values. 5 more environment variables are in the server README
Config file
{
"mcpServers": {
"clio-mcp": {
"command": "npx",
"args": [
"-y",
"@oktopeak/clio-mcp"
],
"env": {
"CLIO_CLIENT_ID": "<CLIO_CLIENT_ID>",
"CLIO_CLIENT_SECRET": "<CLIO_CLIENT_SECRET>",
"ENCRYPTION_KEY": "<ENCRYPTION_KEY>",
"CLIO_REDIRECT_PORT": "<CLIO_REDIRECT_PORT>",
"CLIO_REGION": "<CLIO_REGION>"
}
}
}
}Replace <…> with your own values. 5 more environment variables are in the server README
Config file
{
"servers": {
"clio-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@oktopeak/clio-mcp"
],
"env": {
"CLIO_CLIENT_ID": "<CLIO_CLIENT_ID>",
"CLIO_CLIENT_SECRET": "<CLIO_CLIENT_SECRET>",
"ENCRYPTION_KEY": "<ENCRYPTION_KEY>",
"CLIO_REDIRECT_PORT": "<CLIO_REDIRECT_PORT>",
"CLIO_REGION": "<CLIO_REGION>"
}
}
}
}Replace <…> with your own values. 5 more environment variables are in the server README
Platform CLI
gemini mcp add -e CLIO_CLIENT_ID=<CLIO_CLIENT_ID> -e CLIO_CLIENT_SECRET=<CLIO_CLIENT_SECRET> -e ENCRYPTION_KEY=<ENCRYPTION_KEY> -e CLIO_REDIRECT_PORT=<CLIO_REDIRECT_PORT> -e CLIO_REGION=<CLIO_REGION> clio-mcp npx -y @oktopeak/clio-mcpReplace <…> with your own values. 5 more environment variables are in the server README
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about clio-mcp
How do I install clio-mcp in Claude Code?
Run `claude mcp add clio-mcp -e CLIO_CLIENT_ID=<CLIO_CLIENT_ID> -e CLIO_CLIENT_SECRET=<CLIO_CLIENT_SECRET> -e ENCRYPTION_KEY=<ENCRYPTION_KEY> -- npx -y @oktopeak/clio-mcp`.
What does clio-mcp do?
It connects Claude Code to Clio through MCP and exposes matter, note, document, folder, and billing data for agent requests.
What do I need before running clio-mcp?
Register a Clio developer app, then provide its CLIO_CLIENT_ID and CLIO_CLIENT_SECRET together with an ENCRYPTION_KEY.