MCP server for Smokeball API — full coverage for law firm practice management
Project description
smokeball-mcp
MCP server for Smokeball — full API coverage for law firm practice management. Use Smokeball from Claude Desktop with natural language.
What you can do
- Matters — create, update, archive, tag, billing config, roles, relationships, stages
- Contacts & Leads — full CRUD, relations, tags, lead pipeline
- Tasks & Events — tasks, subtasks, task documents, calendar events, reminders
- Files & Folders — upload, download, preview, folder hierarchy, version history
- Billing — fees (time entries), expenses, invoices, activity codes, bank accounts, trust accounting
- Portals — client portal tasks and messages
- Document generation — layout designs, merge workflows, matter items
- Administration — staff, users, authorization groups/policies, plugins, webhooks, notifications
Requirements
- Python 3.10+
- Claude Desktop (or any MCP-compatible client)
- Smokeball partner credentials (Client ID, Client Secret, API Key)
Smokeball partner access: API credentials are issued through the Smokeball partner/developer program. Contact your Smokeball account representative to request API access.
Installation
pip install smokeball-mcp
Setup
Run the guided OAuth setup:
smokeball-mcp-setup
This will:
- Ask for your region (US / AU / UK)
- Ask for your Client ID, Client Secret, and API Key
- Open the browser for Smokeball authorization
- Save credentials to
~/.smokeball-mcp/
Verify the connection:
smokeball-mcp-verify
Claude Desktop Configuration
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"smokeball": {
"command": "smokeball-mcp"
}
}
}
Restart Claude Desktop. Smokeball tools will appear automatically.
Regions
| Region | API Base |
|---|---|
| US | api.smokeball.com |
| AU | api.smokeball.com.au |
| UK | api.smokeball.co.uk |
Region is set during setup and stored in ~/.smokeball-mcp/.env.
Authentication
Smokeball uses two credential layers:
- OAuth 2.0 Bearer token — user identity, obtained via auth code flow
- x-api-key header — app/partner identity, static key from Smokeball partner portal
Both are required for every API call. The setup wizard handles both.
Example usage in Claude
"List my open matters"
"Create a task on matter abc-123 due next Friday — prepare hearing brief"
"Add a fee entry for 2.5 hours on the Johnson matter, description: drafted motion to dismiss"
"Show me all trust account transactions for the Smith matter"
"Send a portal message to the client on matter xyz-456 — documents are ready for review"
Tools
Full coverage across 30 Smokeball API resource categories — 189 tools total.
License
MIT
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 smokeball_mcp-0.1.0.tar.gz.
File metadata
- Download URL: smokeball_mcp-0.1.0.tar.gz
- Upload date:
- Size: 17.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","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 |
a1293c2cbbb6bc136317cdb556a2cf67e0e3fbfa65aa38c9f95662f6a2fbd246
|
|
| MD5 |
a21dd11bd8e1bebf4c91787e16ee1e49
|
|
| BLAKE2b-256 |
8f6d18c5ccd1bd0a8d9ea631abaa05567bebcb1ed581b35efc9e41e3bf77ebd8
|
File details
Details for the file smokeball_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: smokeball_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 18.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","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 |
c50f90609b19d3ed9c7d67d64ec820e6fb3b54bcfb8f5d402f272488eabc6091
|
|
| MD5 |
cd63ba0c3f689196937aaa3b14fded82
|
|
| BLAKE2b-256 |
1828c167b4856680d2e15b8839528961c7986445aca235592077a6d1612173d9
|