Lawcus MCP by usefulapi

Read Lawcus contacts, matters, leads, time and billing reports; create contacts and tasks.

Should I use this

Quality & Safety

A
Description quality
93%
Schema completeness
76%
Naming quality
79%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (5)

  • LOWTool 'lawcus_get_lead' description lacks action verbin lawcus_get_lead
  • LOWTool 'lawcus_list_workflows' description lacks action verbin lawcus_list_workflows
  • LOWTool 'lawcus_list_workflow_stages' description lacks action verbin lawcus_list_workflow_stages
  • LOWTool 'lawcus_report_accounts_receivable' name length outside 3-30 rangein lawcus_report_accounts_receivable
  • LOWTool 'lawcus_report_payments_collected' name length outside 3-30 rangein lawcus_report_payments_collected

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~6,526Tokens (tool definitions)
~1.9 KBTypical response size
Significant attention impact (5.10% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "lawcus": {
      "url": "https://lawcus.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://lawcus.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (27)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢lawcus_get_me

Lawcus: the user the API token belongs to (id, uuid, name, timezone, role such as OWNER/ADMIN/MEMBER).

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢lawcus_get_firm

Lawcus: the firm (team) details: name, address, currency, locale and phone numbers.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢lawcus_list_team_members

Lawcus: the people on the firm's team with id, uuid, name, role and hourly rate. Ids are used in matter, task and report filters.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢lawcus_search(terms)

Lawcus: global search across contacts, matters and leads for a keyword.

Input Schema

{
  "type": "object",
  "properties": {
    "terms": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Keyword to search for."
    }
  },
  "required": [
    "terms"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lawcus_list_contacts(name_contains, email_contains, type, updated_after, filters, ...)

Lawcus: list contacts (people and companies; clients are contacts), filterable by name, email, type or update date. Paged with skip/take.

Input Schema

{
  "type": "object",
  "properties": {
    "name_contains": {
      "description": "Substring of the contact's full name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "email_contains": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "type": {
      "type": "string",
      "enum": [
        "Person",
        "Company"
      ]
    },
    "updated_after": {
      "type": "string",
      "description": "A UTC date (yyyy-mm-dd) or timestamp (yyyy-mm-dd hh:mm:ss)."
    },
    "filters": {
      "description": "Advanced: extra Lawcus v2 filter objects {field, operator, value}, ANDed with the other filters. Dates are 'yyyy-mm-dd hh:mm:ss' UTC.",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60,
            "description": "The record field to filter by, e.g. status, practice, responsible_attorney, trust_balance."
          },
          "operator": {
            "type": "string",
            "minLength": 1,
            "maxLength": 30,
            "description": "e.g. is, not, contains, equals, startsWith, after, before, between, >, <, isEmpty."
          },
          "value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              },
              {
                "type": "array",
                "items": {
                  "type": [
                    "string",
                    "number"
                  ]
                }
              },
              {
                "type": "object",
                "properties": {
                  "start": {
                    "type": "string"
                  },
                  "end": {
                    "type": "string"
                  }
                },
                "required": [
                  "start",
                  "end"
                ]
              }
            ]
          }
        },
        "required": [
          "field",
          "operator"
        ]
      }
    },
    "sort_by": {
      "type": "string",
      "enum": [
        "name",
        "created_at",
        "updated_at",
        "last_contacted"
      ]
    },
    "sort_order": {
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "skip": {
      "description": "Records to skip (default 0). Pass the previous reply's next_skip.",
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000
    },
    "take": {
      "description": "Records per page (default 25, max 100).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lawcus_get_contact(contact_uuid)

Lawcus: one contact by UUID, with addresses, phones, emails and custom fields.

Input Schema

{
  "type": "object",
  "properties": {
    "contact_uuid": {
      "type": "string",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
    }
  },
  "required": [
    "contact_uuid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡lawcus_create_contact(type, first_name, last_name, name, email, ...)

WRITE: create a new contact in Lawcus (a person or a company). It does not send anything to the contact. Person needs first_name and last_name; Company needs name. Check lawcus_list_contacts first to avoid duplicates.

Input Schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "Person",
        "Company"
      ]
    },
    "first_name": {
      "description": "Required for a Person.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "last_name": {
      "description": "Required for a Person.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "name": {
      "description": "Required for a Company.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "email": {
      "type": "string",
      "maxLength": 200,
      "format": "email",
      "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    },
    "phone": {
      "type": "string",
      "minLength": 3,
      "maxLength": 40
    },
    "title": {
      "description": "Business title.",
      "type": "string",
      "maxLength": 100
    },
    "website": {
      "type": "string",
      "maxLength": 200
    },
    "note": {
      "type": "string",
      "maxLength": 5000
    },
    "street": {
      "type": "string",
      "maxLength": 200
    },
    "city": {
      "type": "string",
      "maxLength": 100
    },
    "state": {
      "type": "string",
      "maxLength": 100
    },
    "zip": {
      "type": "string",
      "maxLength": 30
    },
    "country": {
      "type": "string",
      "maxLength": 100
    }
  },
  "required": [
    "type"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lawcus_list_matters(status, name_contains, number, client_id, responsible_attorney_id, ...)

Lawcus: list matters (cases) with status, client, billing type, trust and retainer balances. Filter by status, name, number, client or dates. Paged with skip/take; the reply also carries opened/closed counts.

Input Schema

{
  "type": "object",
  "properties": {
    "status": {
      "description": "Matter status, e.g. \"OPEN\" or \"CLOSED\".",
      "type": "string",
      "pattern": "^[A-Za-z_ ]{2,30}$"
    },
    "name_contains": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "number": {
      "description": "Matter number (exact).",
      "type": "string",
      "minLength": 1,
      "maxLength": 60
    },
    "client_id": {
      "description": "Numeric id of the client contact.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "responsible_attorney_id": {
      "description": "Numeric user id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "opened_after": {
      "type": "string",
      "description": "A UTC date (yyyy-mm-dd) or timestamp (yyyy-mm-dd hh:mm:ss)."
    },
    "updated_after": {
      "type": "string",
      "description": "A UTC date (yyyy-mm-dd) or timestamp (yyyy-mm-dd hh:mm:ss)."
    },
    "filters": {
      "description": "Advanced: extra Lawcus v2 filter objects {field, operator, value}, ANDed with the other filters. Dates are 'yyyy-mm-dd hh:mm:ss' UTC.",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60,
            "description": "The record field to filter by, e.g. status, practice, responsible_attorney, trust_balance."
          },
          "operator": {
            "type": "string",
            "minLength": 1,
            "maxLength": 30,
            "description": "e.g. is, not, contains, equals, startsWith, after, before, between, >, <, isEmpty."
          },
          "value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              },
              {
                "type": "array",
                "items": {
                  "type": [
                    "string",
                    "number"
                  ]
                }
              },
              {
                "type": "object",
                "properties": {
                  "start": {
                    "type": "string"
                  },
                  "end": {
                    "type": "string"
                  }
                },
                "required": [
                  "start",
                  "end"
                ]
              }
            ]
          }
        },
        "required": [
          "field",
          "operator"
        ]
      }
    },
    "sort_by": {
      "type": "string",
      "enum": [
        "number",
        "name",
        "open_date",
        "created_at",
        "updated_at"
      ]
    },
    "sort_order": {
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "skip": {
      "description": "Records to skip (default 0). Pass the previous reply's next_skip.",
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000
    },
    "take": {
      "description": "Records per page (default 25, max 100).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lawcus_get_matter(matter_uuid)

Lawcus: one matter by UUID with its client, workflow stage, billing settings, balances and custom fields.

Input Schema

{
  "type": "object",
  "properties": {
    "matter_uuid": {
      "type": "string",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
    }
  },
  "required": [
    "matter_uuid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lawcus_list_leads(name_contains, stage_id, lead_source_id, created_after, filters, ...)

Lawcus: list leads (prospective matters) with client contact details and pipeline stage. Paged with skip/take.

Input Schema

{
  "type": "object",
  "properties": {
    "name_contains": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "stage_id": {
      "description": "Pipeline stage id (see lawcus_list_workflow_stages).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "lead_source_id": {
      "description": "Lead source id (see lawcus_list_lead_sources).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "created_after": {
      "description": "Only leads created after this UTC time.",
      "type": "string"
    },
    "filters": {
      "description": "Advanced: extra Lawcus v2 filter objects {field, operator, value}, ANDed with the other filters. Dates are 'yyyy-mm-dd hh:mm:ss' UTC.",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60,
            "description": "The record field to filter by, e.g. status, practice, responsible_attorney, trust_balance."
          },
          "operator": {
            "type": "string",
            "minLength": 1,
            "maxLength": 30,
            "description": "e.g. is, not, contains, equals, startsWith, after, before, between, >, <, isEmpty."
          },
          "value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              },
              {
                "type": "array",
                "items": {
                  "type": [
                    "string",
                    "number"
                  ]
                }
              },
              {
                "type": "object",
                "properties": {
                  "start": {
                    "type": "string"
                  },
                  "end": {
                    "type": "string"
                  }
                },
                "required": [
                  "start",
                  "end"
                ]
              }
            ]
          }
        },
        "required": [
          "field",
          "operator"
        ]
      }
    },
    "sort_by": {
      "type": "string",
      "enum": [
        "name",
        "created_at",
        "lead_created_at"
      ]
    },
    "sort_order": {
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "skip": {
      "description": "Records to skip (default 0). Pass the previous reply's next_skip.",
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000
    },
    "take": {
      "description": "Records per page (default 25, max 100).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lawcus_get_lead(lead_uuid)

Lawcus: one lead by UUID.

Input Schema

{
  "type": "object",
  "properties": {
    "lead_uuid": {
      "type": "string",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
    }
  },
  "required": [
    "lead_uuid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lawcus_list_lead_sources

Lawcus: the firm's lead sources (Website, Referral, Google, ...). Ids go into lead and contact filters.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢lawcus_list_workflows

Lawcus: the workflows (matter and lead pipelines) with their ids.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢lawcus_list_workflow_stages(workflow_id)

Lawcus: the stages of one workflow (pipeline).

Input Schema

{
  "type": "object",
  "properties": {
    "workflow_id": {
      "type": "string",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
      "description": "Workflow id from lawcus_list_workflows."
    }
  },
  "required": [
    "workflow_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lawcus_list_tasks(completed, delegated, user_id, matter_id, tags, ...)

Lawcus: list tasks, optionally by completion, assignee, matter or tag. The API returns the whole list; the reply is cut to `limit`.

Input Schema

{
  "type": "object",
  "properties": {
    "completed": {
      "description": "true = completed tasks, false = open tasks.",
      "type": "boolean"
    },
    "delegated": {
      "description": "true = tasks delegated to others.",
      "type": "boolean"
    },
    "user_id": {
      "description": "UUID of the assignee (the `uuid` from lawcus_list_team_members).",
      "type": "string",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
    },
    "matter_id": {
      "description": "Numeric matter id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "tags": {
      "description": "Tag name, e.g. \"San Diego Branch\".",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "limit": {
      "description": "Return at most this many records (default 100, max 500). The reply says when the list was cut.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 500
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡lawcus_create_task(name, description, due_date, matter_id, assignee_uuids)

WRITE: create a task in Lawcus, optionally on a matter and assigned to team members. Lawcus may email or SMS the assignees if reminders are set; no reminders are set by this tool.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 300
    },
    "description": {
      "type": "string",
      "maxLength": 5000
    },
    "due_date": {
      "type": "string",
      "description": "A UTC date (yyyy-mm-dd) or timestamp (yyyy-mm-dd hh:mm:ss)."
    },
    "matter_id": {
      "description": "Numeric matter id (the `id` of a matter).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "assignee_uuids": {
      "description": "UUIDs of the users to assign (from lawcus_list_team_members).",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
      }
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lawcus_list_time_entries(matter_id, user_id, date_from, date_to, limit)

Lawcus: time entries (hours worked, rate, total, matter, invoiced or not). The API returns all entries; filter here by matter and date range, reply cut to `limit`.

Input Schema

{
  "type": "object",
  "properties": {
    "matter_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "user_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "date_from": {
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
      "description": "A date, yyyy-mm-dd."
    },
    "date_to": {
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
      "description": "A date, yyyy-mm-dd."
    },
    "limit": {
      "description": "Return at most this many records (default 100, max 500). The reply says when the list was cut.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 500
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lawcus_list_expenses(matter_id, date_from, date_to, limit)

Lawcus: expenses logged against matters. The API returns all expenses; filter here by matter and date range, reply cut to `limit`.

Input Schema

{
  "type": "object",
  "properties": {
    "matter_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "date_from": {
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
      "description": "A date, yyyy-mm-dd."
    },
    "date_to": {
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
      "description": "A date, yyyy-mm-dd."
    },
    "limit": {
      "description": "Return at most this many records (default 100, max 500). The reply says when the list was cut.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 500
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lawcus_list_billing_items(start, end, kind, user_id, practice_id, ...)

Lawcus: billable activity (time entries, expenses and flat fees) with payment details, filterable by date range, user, practice area, matter, client and invoiced state. Also returns time totals for today/week/month/year.

Input Schema

{
  "type": "object",
  "properties": {
    "start": {
      "type": "string",
      "description": "Period start, UTC: yyyy-mm-dd (from 00:00:00) or yyyy-mm-dd hh:mm:ss."
    },
    "end": {
      "type": "string",
      "description": "Period end, UTC: yyyy-mm-dd (through 23:59:59) or yyyy-mm-dd hh:mm:ss."
    },
    "kind": {
      "description": "Only this kind of item (default: all three).",
      "type": "string",
      "enum": [
        "TIMEENTRY",
        "EXPENSE",
        "FLATFEE"
      ]
    },
    "user_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "practice_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "matter_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "client_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "is_invoiced": {
      "type": "boolean"
    },
    "limit": {
      "description": "Return at most this many records (default 100, max 500). The reply says when the list was cut.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 500
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lawcus_list_interactions(types, direction, skip, paginate)

Lawcus: logged client interactions (emails, calls, secure messages) with subject, matter and contact. Paged with skip/paginate.

Input Schema

{
  "type": "object",
  "properties": {
    "types": {
      "description": "Interaction types (default: all).",
      "minItems": 1,
      "maxItems": 3,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "EMAIL",
          "PHONE",
          "SECURE_MESSAGE"
        ]
      }
    },
    "direction": {
      "type": "string",
      "enum": [
        "INBOUND",
        "OUTBOUND"
      ]
    },
    "skip": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000
    },
    "paginate": {
      "description": "Page size (default 20, max 100).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lawcus_report_accounts_receivable(start, end, user_id, practice_id, client_id, ...)

Lawcus report (needs the Admin role): unpaid invoices by age (who owes the firm what).

Input Schema

{
  "type": "object",
  "properties": {
    "start": {
      "type": "string",
      "description": "Period start, UTC: yyyy-mm-dd (from 00:00:00) or yyyy-mm-dd hh:mm:ss."
    },
    "end": {
      "type": "string",
      "description": "Period end, UTC: yyyy-mm-dd (through 23:59:59) or yyyy-mm-dd hh:mm:ss."
    },
    "user_id": {
      "description": "Numeric user id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "practice_id": {
      "description": "Numeric practice area id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "client_id": {
      "description": "Numeric client contact id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "matter_id": {
      "description": "Numeric matter id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "group_by": {
      "description": "Grouping, e.g. client (accounts receivable, invoice history, matter balance) or teammate (time entries).",
      "type": "string",
      "pattern": "^[a-z_]{2,30}$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lawcus_report_matter_balance(start, end, user_id, practice_id, client_id, ...)

Lawcus report (needs the Admin role): balance summary of all matters, optionally trust balances only.

Input Schema

{
  "type": "object",
  "properties": {
    "start": {
      "type": "string",
      "description": "Period start, UTC: yyyy-mm-dd (from 00:00:00) or yyyy-mm-dd hh:mm:ss."
    },
    "end": {
      "type": "string",
      "description": "Period end, UTC: yyyy-mm-dd (through 23:59:59) or yyyy-mm-dd hh:mm:ss."
    },
    "user_id": {
      "description": "Numeric user id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "practice_id": {
      "description": "Numeric practice area id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "client_id": {
      "description": "Numeric client contact id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "group_by": {
      "description": "Grouping, e.g. client (accounts receivable, invoice history, matter balance) or teammate (time entries).",
      "type": "string",
      "pattern": "^[a-z_]{2,30}$"
    },
    "trust": {
      "description": "true = trust balances.",
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lawcus_report_revenue(start, end, user_id, client_id, matter_id)

Lawcus report (needs the Admin role): revenue by attorney for a period.

Input Schema

{
  "type": "object",
  "properties": {
    "start": {
      "type": "string",
      "description": "Period start, UTC: yyyy-mm-dd (from 00:00:00) or yyyy-mm-dd hh:mm:ss."
    },
    "end": {
      "type": "string",
      "description": "Period end, UTC: yyyy-mm-dd (through 23:59:59) or yyyy-mm-dd hh:mm:ss."
    },
    "user_id": {
      "description": "Numeric user id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "client_id": {
      "description": "Numeric client contact id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "matter_id": {
      "description": "Numeric matter id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lawcus_report_time_entries(start, end, user_id, matter_id, group_by)

Lawcus report (needs the Admin role): time entries summarized per user for a period.

Input Schema

{
  "type": "object",
  "properties": {
    "start": {
      "type": "string",
      "description": "Period start, UTC: yyyy-mm-dd (from 00:00:00) or yyyy-mm-dd hh:mm:ss."
    },
    "end": {
      "type": "string",
      "description": "Period end, UTC: yyyy-mm-dd (through 23:59:59) or yyyy-mm-dd hh:mm:ss."
    },
    "user_id": {
      "description": "Numeric user id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "matter_id": {
      "description": "Numeric matter id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "group_by": {
      "description": "Grouping, e.g. client (accounts receivable, invoice history, matter balance) or teammate (time entries).",
      "type": "string",
      "pattern": "^[a-z_]{2,30}$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lawcus_report_payments_collected(start, end, user_id, practice_id, client_id, ...)

Lawcus report (needs the Admin role): payments the firm collected in a period.

Input Schema

{
  "type": "object",
  "properties": {
    "start": {
      "type": "string",
      "description": "Period start, UTC: yyyy-mm-dd (from 00:00:00) or yyyy-mm-dd hh:mm:ss."
    },
    "end": {
      "type": "string",
      "description": "Period end, UTC: yyyy-mm-dd (through 23:59:59) or yyyy-mm-dd hh:mm:ss."
    },
    "user_id": {
      "description": "Numeric user id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "practice_id": {
      "description": "Numeric practice area id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "client_id": {
      "description": "Numeric client contact id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "matter_id": {
      "description": "Numeric matter id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lawcus_report_invoice_history(start, end, user_id, practice_id, client_id, ...)

Lawcus report (needs the Admin role): summary of issued invoices for a period.

Input Schema

{
  "type": "object",
  "properties": {
    "start": {
      "type": "string",
      "description": "Period start, UTC: yyyy-mm-dd (from 00:00:00) or yyyy-mm-dd hh:mm:ss."
    },
    "end": {
      "type": "string",
      "description": "Period end, UTC: yyyy-mm-dd (through 23:59:59) or yyyy-mm-dd hh:mm:ss."
    },
    "user_id": {
      "description": "Numeric user id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "practice_id": {
      "description": "Numeric practice area id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "client_id": {
      "description": "Numeric client contact id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "group_by": {
      "description": "Grouping, e.g. client (accounts receivable, invoice history, matter balance) or teammate (time entries).",
      "type": "string",
      "pattern": "^[a-z_]{2,30}$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢lawcus_report_client_trust(start, end, practice_id, client_id, display_zero)

Lawcus report (needs the Admin role): client trust (IOLTA) balances; zero balances hidden unless display_zero is true.

Input Schema

{
  "type": "object",
  "properties": {
    "start": {
      "type": "string",
      "description": "Period start, UTC: yyyy-mm-dd (from 00:00:00) or yyyy-mm-dd hh:mm:ss."
    },
    "end": {
      "type": "string",
      "description": "Period end, UTC: yyyy-mm-dd (through 23:59:59) or yyyy-mm-dd hh:mm:ss."
    },
    "practice_id": {
      "description": "Numeric practice area id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "client_id": {
      "description": "Numeric client contact id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "display_zero": {
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded27 tools