MCP server for Rocketmatter — ProfitSolv LCS /v1 Integration API (scoped OAuth)
Project description
rocketmatter-mcp
MCP server for Rocketmatter — legal practice management
from Claude Desktop in natural language, over the official ProfitSolv LCS /v1
Integration API with a scoped OAuth integration.
No password login: the server authorizes once in the browser, then refreshes its own token forever. It never trips Rocket Matter's single-session-per-user limit, so it won't log you out of your Rocket Matter browser session while it runs.
What you can do
The LCS /v1 Integration API covers the core practice-management entities:
- Matters — list, get, create, update, delete
- Clients & Contacts — full CRUD
- Time entries & Expenses — full CRUD (log and edit billable time and costs)
- Invoices — list, get, create, update, delete
- Payments — list and record
- Transactions — list (by matter or bank), get, create, update, delete
- Documents — list (read-only)
- Users / timekeepers — list, get
- UTBMS codes — per matter
Not covered by the /v1 API
The /v1 Integration API is narrower than Rocket Matter's internal UI. These are
not available and their tools fail loudly (rather than returning nothing): firm
financial summary, timekeeper time summaries, bank/chart-of-accounts enumeration,
the two-step invoice-generation flow, accounts payable, lookup/defaults endpoints,
and tasks, timers, calendar, tags, trust, rates, firm roles, tax/discount, phone
messages, internal chat, workflow, reports, recurring billing, matter templates, and
court rules.
Requirements
- Python 3.10+
- Claude Desktop (or any MCP-compatible client)
- A Rocket Matter account and a registered OAuth integration (API key + OAuth client ID/secret) for the ProfitSolv LCS Integration API
Installation
pip install rocketmatter-mcp
Setup
rocketmatter-mcp-setup
The wizard:
- Stores your integration's API key, OAuth client ID, and client secret in your OS keyring (see Credential storage below).
- Prints an authorization URL. Open it in your browser (logged in to Rocket Matter) and click Allow.
- Your browser redirects to the app's registered redirect URI
(
https://example.com/oauth/callback) with a?code=...parameter. The page may show an error — that's fine; just copy thecodevalue from the address bar and paste it back into the wizard. - The wizard exchanges the code for an access token + refresh token, cached at
~/.rocketmatter-mcp/tokens.json(chmod 600).
After that, the client refreshes its own access token with the long-lived refresh token — no browser, no password — so you won't be prompted again unless the refresh token is revoked.
Verify:
rocketmatter-mcp-verify
Claude Desktop Configuration
{
"mcpServers": {
"rocketmatter": {
"command": "rocketmatter-mcp"
}
}
}
Credential storage
By default credentials are stored in your operating system's native secret store
via the cross-platform keyring library:
| OS | Backend |
|---|---|
| macOS | Keychain |
| Windows | Credential Manager |
| Linux | Secret Service (GNOME Keyring / KWallet) |
Secrets are saved under the service name rocketmatter-mcp. Nothing is written to
disk in clear text.
File fallback. On a host with no keyring backend (e.g. a headless Linux box
without Secret Service), or if you set ROCKETMATTER_MCP_USE_KEYRING=0, credentials
fall back to a ~/.rocketmatter-mcp/.env file with 0600 permissions.
Read order. Credentials resolve in the order OS keyring → process environment
→ .env file.
Authentication notes
The server uses the ProfitSolv LCS /v1 Integration API with a scoped OAuth
integration:
- Consent once (
/OAuth/authorize→Allow) to obtain an authorization code. - Exchange the code at
{base}/api/ext/auth/token(grant_type=authorization_code) for anaccess_token(~5h) + a long-livedrefresh_token. - Data calls go to the LCS
/v1host with two headers:X-Api-Key: <app key>andX-User-Token: <access token>. - Refresh (
grant_type=refresh_token) renews the access token without a password login, so the user's Rocket Matter browser session is never bumped.
Hosts are overridable via ROCKETMATTER_BASE_URL (OAuth host — Rocket Matter
app.rocketmatter.net, CosmoLex law.cosmolex.com) and ROCKETMATTER_API_BASE_URL
(the LCS /v1 data host).
Example usage in Claude
"List my matters"
"Create a client named Acme Holdings"
"Log a time entry on matter "
"Show open invoices and recent payments"
"List the firm's users"
License
MIT — see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rocketmatter_mcp-0.4.0.tar.gz.
File metadata
- Download URL: rocketmatter_mcp-0.4.0.tar.gz
- Upload date:
- Size: 100.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62997e79eaa06fd05fd3980471710b6d2d67fbe56d33a4894e072f545785240e
|
|
| MD5 |
5345e4327a530afe3723ebaea4cb9ab8
|
|
| BLAKE2b-256 |
67a0323388694630e45b1eb8386019b39cd1c9b2154ab5b4e82706789f8d8d8e
|
File details
Details for the file rocketmatter_mcp-0.4.0-py3-none-any.whl.
File metadata
- Download URL: rocketmatter_mcp-0.4.0-py3-none-any.whl
- Upload date:
- Size: 27.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b54a26dab10763051d17eb25e8bd6679de7fc108cac43f1742fa78bd678004a1
|
|
| MD5 |
4287f5b9677558ca9a29987dd46ea6e2
|
|
| BLAKE2b-256 |
4115c0c2875684f2025af23420f1f845859a11f1cdee53b7887be9b2e9da75ed
|