MCP server for Bill4Time API — legal billing and time tracking
Project description
bill4time-mcp
MCP server for Bill4Time — API coverage for legal billing and time tracking. Use Bill4Time from Claude Desktop with natural language.
What you can do
- Clients — list, filter by status, search active/disabled
- Projects — list, filter by client, status, billing method
- Time Entries — list by client, project, user, invoice, date range, billing status
- Expenses — list by client, project, invoice, date range
- Invoices — list by status (prebill/finalized), paid status, client, project, date range
- Payments — list by client, project, date range
- Payments Applied — track payment-to-invoice applications
- Users — list and look up users
- Contacts — list by status, date range, contact connections
- Trust Accounting — list trust records by client, project, date range
All resources support OData-style filtering via filter_expr parameter for advanced queries.
Requirements
- Python 3.10+
- Claude Desktop (or any MCP-compatible client)
- Bill4Time API key (create in Settings → API tab)
Note: The Bill4Time API is currently read-only. All tools retrieve data only.
Installation
pip install bill4time-mcp
Setup
bill4time-mcp-setup
This prompts for your API key and tests the connection. Credentials saved to ~/.bill4time-mcp/.
Verify:
bill4time-mcp-verify
Claude Desktop Configuration
{
"mcpServers": {
"bill4time": {
"command": "bill4time-mcp"
}
}
}
Authentication Notes
Bill4Time uses an API key embedded directly in the URL path:
https://secure.bill4time.com/b4t-api/{api_key}/v1/{resource}
No OAuth or token refresh required. Create API keys from Settings → API in your Bill4Time account.
OData Filtering
All list_* tools accept a filter_expr parameter for advanced filtering:
"status eq 'Active'"
"clientId eq 751"
"invoiceDate ge '2024-01-01' AND invoiceDate le '2024-12-31'"
"billingStatus eq 'Ready For Billing'"
Supported operators: eq, ne, gt, ge, lt, le
Use top to limit results, orderby to sort, skip for pagination.
Example usage in Claude
"Show all unpaid invoices"
"List time entries for project 456 this month"
"Get all payments received from client 123 in 2024"
"Show trust account activity for client 789"
"List open projects ordered by project name"
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 bill4time_mcp-0.1.0.tar.gz.
File metadata
- Download URL: bill4time_mcp-0.1.0.tar.gz
- Upload date:
- Size: 6.8 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 |
3991956d8ab1ea5ff0e8543369861b287a472e89f88f86a515a1e7d3c8c7e69e
|
|
| MD5 |
9545b406de601c7f6ba9cefd16580d6b
|
|
| BLAKE2b-256 |
280cf6aa464c042bdca8c985ab39cd81e7288ebf61e50a94b3c9d44d27b10b97
|
File details
Details for the file bill4time_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: bill4time_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.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 |
072b7116851cb09d8f9eb15c735873f3375a001ef8ef515b66f3999edf9a32e2
|
|
| MD5 |
bcb64191613081bb079dc2b925c66457
|
|
| BLAKE2b-256 |
b8a788494b292b466b9312cffaa8cf9549a368af6c2847a24c208933cd9a94df
|