bill4time-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BILL4TIME_API_KEY | No | Your Bill4Time API key. If not provided, the server will look in the OS keyring or ~/.bill4time-mcp/.env file. | |
| BILL4TIME_MCP_USE_KEYRING | No | Set to '0' to disable keyring and use file fallback. | 1 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_clientsC | List clients. Use filter_expr for OData filtering, e.g. "status eq 'Active'". |
| get_clientB | Get a client by ID. |
| list_active_clientsC | List all active clients. |
| list_disabled_clientsC | List all disabled clients. |
| list_projectsC | List projects. Use filter_expr for OData filtering, e.g. "status eq 'Open'". |
| get_projectC | Get a project by ID. |
| list_projects_for_clientB | List all projects for a specific client. |
| list_open_projectsC | List all open projects. |
| list_closed_projectsC | List all closed projects. |
| list_projects_by_billing_methodB | List projects by billing method. Values: Hourly, Flat Fee, Percentage. |
| list_time_entriesC | List time entries. Use filter_expr for OData filtering. |
| get_time_entryB | Get a time entry by ID. |
| list_time_entries_for_clientA | List all time entries for a specific client. |
| list_time_entries_for_projectC | List all time entries for a specific project. |
| list_time_entries_for_userC | List all time entries for a specific user. |
| list_time_entries_for_invoiceA | List all time entries attached to a specific invoice. |
| list_time_entries_for_date_rangeB | List time entries within a date range (YYYY-MM-DD format). |
| list_time_entries_by_billing_statusC | List time entries by billing status. Values: Ready For Summary, Ready For Billing, Billing Complete, Pending Project Close. |
| list_expensesC | List expenses. Use filter_expr for OData filtering. |
| get_expenseC | Get an expense by ID. |
| list_expenses_for_clientC | List all expenses for a specific client. |
| list_expenses_for_projectC | List all expenses for a specific project. |
| list_expenses_for_invoiceC | List all expenses attached to a specific invoice. |
| list_expenses_for_date_rangeC | List expenses within a date range (YYYY-MM-DD format). |
| list_invoicesC | List invoices. Use filter_expr for OData filtering. |
| get_invoiceC | Get an invoice by ID. |
| list_invoices_for_clientB | List all invoices for a specific client. |
| list_invoices_for_projectB | List all invoices for a specific project. |
| list_prebill_invoicesC | List all invoices in prebill status. |
| list_finalized_invoicesC | List all finalized invoices. |
| list_unpaid_invoicesC | List all unpaid invoices. |
| list_partially_paid_invoicesC | List all partially paid invoices. |
| list_paid_invoicesB | List all fully paid invoices. |
| list_invoices_for_date_rangeC | List invoices within a date range (YYYY-MM-DD format). |
| list_paymentsC | List payments. Use filter_expr for OData filtering. |
| get_paymentC | Get a payment by ID. |
| list_payments_for_clientB | List all payments for a specific client. |
| list_payments_for_projectB | List all payments for a specific project. |
| list_payments_for_date_rangeC | List payments within a date range (YYYY-MM-DD format). |
| list_payments_appliedC | List payments-applied records. Use filter_expr for OData filtering. |
| get_payment_appliedC | Get a payments-applied record by ID. |
| list_payments_applied_for_invoiceA | List all payment applications for a specific invoice. |
| list_payments_applied_for_paymentC | List all invoice applications for a specific payment. |
| list_payments_applied_for_date_rangeB | List payments-applied within a date range (YYYY-MM-DD format). |
| list_usersC | List users. Use filter_expr for OData filtering. |
| get_userB | Get a user by ID. |
| list_contactsC | List contacts. Use filter_expr for OData filtering. |
| get_contactB | Get a contact by ID. |
| list_active_contactsC | List all active contacts. |
| list_contacts_for_date_rangeB | List contacts created within a date range (YYYY-MM-DD format). |
| list_contact_connectionsC | List all contact connections. Use filter_expr for OData filtering. |
| list_contact_connections_for_contactA | List all client/project connections for a specific contact. |
| list_contact_connections_for_clientC | List all contact connections for a specific client. |
| list_contact_connections_for_projectC | List all contact connections for a specific project. |
| list_trust_recordsC | List trust accounting records. Use filter_expr for OData filtering. |
| get_trust_recordB | Get a trust accounting record by ID. |
| list_trust_records_for_clientB | List all trust accounting records for a specific client. |
| list_trust_records_for_projectC | List all trust accounting records for a specific project. |
| list_trust_records_for_date_rangeB | List trust records created within a date range (YYYY-MM-DD format). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| unbilled_time_report | Report on unbilled time entries for a date range — billing status review workflow. |
| client_billing_summary | Full billing picture for a single client: projects, time, invoices, payments. |
| trust_account_review | Review trust accounting records for a client — compliance-oriented workflow. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| active_clients_resource | Active clients from Bill4Time — read-only reference data. |
| users_resource | Bill4Time users (timekeeper list) — read-only reference data. |
| security_notes_resource | Security posture documentation for this Bill4Time MCP server. |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/RosenAdvertising/bill4time-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server