Bill4Time MCP by usefulapi
Read Bill4Time clients, projects, time entries, expenses, invoices, payments, users and contacts.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"bill4time": {
"url": "https://bill4time.usefulapi.io/mcp"
}
}
}Puntos de conexión remotos
https://bill4time.usefulapi.io/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (8)
🟢bill4time_list_clients(id, top, skip, sort, descending, ...)
List clients (id, name, billing name, email, phone, city, account manager, status, billing rate type, currency). Filter by status, exact client name, id or creation date. Street addresses and tax ids are not returned. GET /clients.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"description": "Only the record with this id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"top": {
"description": "Records to return, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"skip": {
"description": "Records to skip (default 0). Pass the previous reply's next_skip to read the next page.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"sort": {
"description": "Field to sort by (default: Bill4Time's own order).",
"type": "string",
"enum": [
"id",
"clientName",
"creationDate"
]
},
"descending": {
"description": "Sort descending (newest or highest first). Default ascending.",
"type": "boolean"
},
"status": {
"type": "string",
"enum": [
"Active",
"Disabled"
]
},
"client_name": {
"description": "Exact client name (case rules are Bill4Time's).",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"created_after": {
"description": "Clients created on or after this date.",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"created_before": {
"description": "Clients created on or before this date.",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"include_custom_fields": {
"description": "Also return the custom fields (default false).",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bill4time_list_projects(id, top, skip, sort, descending, ...)
List projects (matters): id, name, client, status, billing method, rate overrides, assigned user, created/closed/due dates. Filter by status, billing method, client, id or creation date. GET /projects.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"description": "Only the record with this id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"top": {
"description": "Records to return, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"skip": {
"description": "Records to skip (default 0). Pass the previous reply's next_skip to read the next page.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"sort": {
"description": "Field to sort by (default: Bill4Time's own order).",
"type": "string",
"enum": [
"id",
"projectName",
"createdDate"
]
},
"descending": {
"description": "Sort descending (newest or highest first). Default ascending.",
"type": "boolean"
},
"status": {
"type": "string",
"enum": [
"Open",
"Closed"
]
},
"billing_method": {
"type": "string",
"enum": [
"Hourly",
"Flat Fee",
"Percentage"
]
},
"client_id": {
"description": "Only projects of this client.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"created_after": {
"description": "Projects created on or after this date.",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"created_before": {
"description": "Projects created on or before this date.",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"include_custom_fields": {
"description": "Also return the custom fields (default false).",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bill4time_list_time_entries(id, top, skip, sort, descending, ...)
List time entries: client, project, user, entry date, billable and labor time, billable amount, rate, activity, ABA litigation code, billing status, invoice id, public description. Filter by client, project, user, invoice, entry date range or billing status. Private notes and contractor pay rates are not returned unless include_private_notes is set. GET /timeEntries.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"description": "Only the record with this id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"top": {
"description": "Records to return, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"skip": {
"description": "Records to skip (default 0). Pass the previous reply's next_skip to read the next page.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"sort": {
"description": "Field to sort by (default: Bill4Time's own order).",
"type": "string",
"enum": [
"id",
"entryDate",
"createdDate"
]
},
"descending": {
"description": "Sort descending (newest or highest first). Default ascending.",
"type": "boolean"
},
"client_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"project_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"user_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"invoice_id": {
"description": "Only entries on this invoice.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"date_from": {
"description": "Entries dated on or after this date.",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"date_to": {
"description": "Entries dated on or before this date.",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"billing_status": {
"type": "string",
"enum": [
"Ready For Summary",
"Ready For Billing",
"Billing Complete",
"Pending Project Close"
]
},
"activity_type": {
"description": "Exact activity type name.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"include_private_notes": {
"description": "Also return the private/internal notes (default false). Only set it when the user asks for internal notes.",
"type": "boolean"
},
"include_custom_fields": {
"description": "Also return the custom fields (default false).",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bill4time_list_expenses(id, top, skip, sort, descending, ...)
List expenses: client, project, user, expense date, cost and sell price, quantity, type, billing status, invoice id, public description. Filter by client, project, user, invoice, expense date range, billing status or exact expense type. Private notes are not returned unless include_private_notes is set. GET /expenses.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"description": "Only the record with this id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"top": {
"description": "Records to return, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"skip": {
"description": "Records to skip (default 0). Pass the previous reply's next_skip to read the next page.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"sort": {
"description": "Field to sort by (default: Bill4Time's own order).",
"type": "string",
"enum": [
"id",
"expenseDate",
"createdDate"
]
},
"descending": {
"description": "Sort descending (newest or highest first). Default ascending.",
"type": "boolean"
},
"client_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"project_id": {
"description": "A project id, or -1 for expenses that belong to no project.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"user_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"invoice_id": {
"description": "Only expenses on this invoice.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"date_from": {
"description": "Expenses dated on or after this date.",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"date_to": {
"description": "Expenses dated on or before this date.",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"billing_status": {
"type": "string",
"enum": [
"Ready For Summary",
"Ready For Billing",
"Billing Complete",
"Pending Project Close"
]
},
"expense_type": {
"description": "Exact expense type name.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"include_private_notes": {
"description": "Also return the private/internal notes (default false). Only set it when the user asks for internal notes.",
"type": "boolean"
},
"include_custom_fields": {
"description": "Also return the custom fields (default false).",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bill4time_list_invoices(id, top, skip, sort, descending, ...)
List invoices: client, project, invoice date, status (prebill or finalized), paid status, totals (invoice, labor, expense, late fee), terms and notes. Filter by status, paid status, client, project, id or invoice date range. GET /invoices.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"description": "Only the record with this id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"top": {
"description": "Records to return, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"skip": {
"description": "Records to skip (default 0). Pass the previous reply's next_skip to read the next page.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"sort": {
"description": "Field to sort by (default: Bill4Time's own order).",
"type": "string",
"enum": [
"id",
"invoiceDate",
"createdDate"
]
},
"descending": {
"description": "Sort descending (newest or highest first). Default ascending.",
"type": "boolean"
},
"status": {
"type": "string",
"enum": [
"prebill",
"finalized"
]
},
"paid_status": {
"type": "string",
"enum": [
"Paid",
"Partially Paid",
"Unpaid"
]
},
"client_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"project_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"date_from": {
"description": "Invoices dated on or after this date.",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"date_to": {
"description": "Invoices dated on or before this date.",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"include_custom_fields": {
"description": "Also return the custom fields (default false).",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bill4time_list_payments(id, top, skip, sort, descending, ...)
List payments: client, project, amount, date, type, method, public note. Filter by client, project, id or payment date range. Check numbers are not returned; the private note only with include_private_notes. GET /payments.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"description": "Only the record with this id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"top": {
"description": "Records to return, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"skip": {
"description": "Records to skip (default 0). Pass the previous reply's next_skip to read the next page.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"sort": {
"description": "Field to sort by (default: Bill4Time's own order).",
"type": "string",
"enum": [
"id",
"paymentDate",
"createdDate"
]
},
"descending": {
"description": "Sort descending (newest or highest first). Default ascending.",
"type": "boolean"
},
"client_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"project_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"date_from": {
"description": "Payments dated on or after this date.",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"date_to": {
"description": "Payments dated on or before this date.",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"include_private_notes": {
"description": "Also return the private/internal notes (default false). Only set it when the user asks for internal notes.",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bill4time_list_users(id, top, skip, sort, descending, ...)
List the firm's users: name, email, user type, status, department, position, billing and overtime rate. Birth dates, addresses, phone numbers and contractor pay rates are not returned. Filter by status or id. GET /users.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"description": "Only the record with this id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"top": {
"description": "Records to return, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"skip": {
"description": "Records to skip (default 0). Pass the previous reply's next_skip to read the next page.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"sort": {
"description": "Field to sort by (default: Bill4Time's own order).",
"type": "string",
"enum": [
"id",
"lname"
]
},
"descending": {
"description": "Sort descending (newest or highest first). Default ascending.",
"type": "boolean"
},
"status": {
"type": "string",
"enum": [
"Active",
"Disabled"
]
},
"include_custom_fields": {
"description": "Also return the custom fields (default false).",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢bill4time_list_contacts(id, top, skip, sort, descending, ...)
List contacts: name, email, work and mobile phone, city, status, creation date. Filter by status, id or creation date. Street addresses, home phone and notes are not returned. GET /contacts.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"description": "Only the record with this id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"top": {
"description": "Records to return, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"skip": {
"description": "Records to skip (default 0). Pass the previous reply's next_skip to read the next page.",
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"sort": {
"description": "Field to sort by (default: Bill4Time's own order).",
"type": "string",
"enum": [
"id",
"lastName",
"creationDate"
]
},
"descending": {
"description": "Sort descending (newest or highest first). Default ascending.",
"type": "boolean"
},
"status": {
"type": "string",
"enum": [
"Active",
"Disabled"
]
},
"created_after": {
"description": "Contacts created on or after this date.",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"created_before": {
"description": "Contacts created on or before this date.",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Comunidad
Evidencia