Skip to main content

MCP server for Rocketmatter — ProfitSolv LCS /v1 Integration API (scoped OAuth)

Project description

rocketmatter-mcp

PyPI version Python 3.10+ License: MIT

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:

  1. Stores your integration's API key, OAuth client ID, and client secret in your OS keyring (see Credential storage below).
  2. Prints an authorization URL. Open it in your browser (logged in to Rocket Matter) and click Allow.
  3. 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 the code value from the address bar and paste it back into the wizard.
  4. 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/authorizeAllow) to obtain an authorization code.
  • Exchange the code at {base}/api/ext/auth/token (grant_type=authorization_code) for an access_token (~5h) + a long-lived refresh_token.
  • Data calls go to the LCS /v1 host with two headers: X-Api-Key: <app key> and X-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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rocketmatter_mcp-0.4.0.tar.gz (100.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rocketmatter_mcp-0.4.0-py3-none-any.whl (27.5 kB view details)

Uploaded Python 3

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

Hashes for rocketmatter_mcp-0.4.0.tar.gz
Algorithm Hash digest
SHA256 62997e79eaa06fd05fd3980471710b6d2d67fbe56d33a4894e072f545785240e
MD5 5345e4327a530afe3723ebaea4cb9ab8
BLAKE2b-256 67a0323388694630e45b1eb8386019b39cd1c9b2154ab5b4e82706789f8d8d8e

See more details on using hashes here.

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

Hashes for rocketmatter_mcp-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b54a26dab10763051d17eb25e8bd6679de7fc108cac43f1742fa78bd678004a1
MD5 4287f5b9677558ca9a29987dd46ea6e2
BLAKE2b-256 4115c0c2875684f2025af23420f1f845859a11f1cdee53b7887be9b2e9da75ed

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page