Skip to main content

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


Download files

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

Source Distribution

bill4time_mcp-0.1.0.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

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

bill4time_mcp-0.1.0-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

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

Hashes for bill4time_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3991956d8ab1ea5ff0e8543369861b287a472e89f88f86a515a1e7d3c8c7e69e
MD5 9545b406de601c7f6ba9cefd16580d6b
BLAKE2b-256 280cf6aa464c042bdca8c985ab39cd81e7288ebf61e50a94b3c9d44d27b10b97

See more details on using hashes here.

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

Hashes for bill4time_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 072b7116851cb09d8f9eb15c735873f3375a001ef8ef515b66f3999edf9a32e2
MD5 bcb64191613081bb079dc2b925c66457
BLAKE2b-256 b8a788494b292b466b9312cffaa8cf9549a368af6c2847a24c208933cd9a94df

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