← The evidence ledger
Evidence row 300225
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 7d4ec2de-7e07-4365-8376-34c16de34d2f
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- c79d09ffe177bd3633bddcf4385acc6996b65ea3abc5a57a4eb908a40989eab3
- Leaf
- 0x84d8224969e9c389e077d3d4776d7b9555d90ae50719557a5cbbad94cf5b433c
What was observed
{
"count": 23,
"tools": [
{
"description": "WRITE: Put an event on a Clio calendar — a hearing, meeting or deadline — optionally linked to a matter. calendar_id is the calendar to put it on (the token user's own is default_calendar_id from clio_who_am_i). Clio: POST /calendar_entries.json.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"all_day": {
"description": "An all-day event.",
"type": "boolean"
},
"calendar_id": {
"description": "The calendar's numeric Clio id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"description": {
"description": "Longer description.",
"type": "string"
},
"end_at": {
"description": "End (ISO-8601 timestamp).",
"type": "string"
},
"fields": {
"description": "Override the returned fields: a comma-separated list, nested resources in braces one level deep, e.g. id,name,matter{id,display_number}. Omit for a sensible default.",
"maxLength": 1000,
"type": "string"
},
"location": {
"description": "Where it takes place.",
"type": "string"
},
"matter_id": {
"description": "The matter this event belongs to.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"send_email_notification": {
"description": "Email the attendees.",
"type": "boolean"
},
"start_at": {
"description": "Start (ISO-8601 timestamp, e.g. 2026-10-02T09:30:00-07:00).",
"type": "string"
},
"summary": {
"description": "Short title of the event.",
"type": "string"
}
},
"required": [
"calendar_id",
"summary",
"start_at",
"end_at"
],
"type": "object"
},
"name": "clio_create_calendar_entry"
},
{
"description": "WRITE: Create a contact — a person (give first_name and/or last_name) or a company (give name) — optionally with an email address and phone number. Clio: POST /contacts.json.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"email": {
"description": "An email address to add.",
"type": "string"
},
"email_type": {
"description": "Label for the email address (default Work).",
"enum": [
"Work",
"Home",
"Other"
],
"type": "string"
},
"fields": {
"description": "Override the returned fields: a comma-separated list, nested resources in braces one level deep, e.g. id,name,matter{id,display_number}. Omit for a sensible default.",
"maxLength": 1000,
"type": "string"
},
"first_name": {
"description": "Person: first name.",
"type": "string"
},
"last_name": {
"description": "Person: last name.",
"type": "string"
},
"middle_name": {
"description": "Person: middle name.",
"type": "string"
},
"name": {
"description": "Company: the company name. (For a person, prefer first_name/last_name.)",
"type": "string"
},
"phone": {
"description": "A phone number to add.",
"type": "string"
},
"phone_type": {
"description": "Label for the phone number (default Work).",
"enum": [
"Work",
"Home",
"Mobile",
"Fax",
"Pager",
"Skype",
"Other"
],
"type": "string"
},
"prefix": {
"description": "Personal title, e.g. Dr.",
"type": "string"
},
"title": {
"description": "Professional title, e.g. General Counsel.",
"type": "string"
},
"type": {
"description": "Person or Company.",
"enum": [
"Person",
"Company"
],
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
"name": "clio_create_contact"
},
{
"description": "WRITE: Open a new matter for an existing client contact. Requires the client's contact id and a description. Clio: POST /matters.json.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"billable": {
"description": "Whether the matter is billable.",
"type": "boolean"
},
"client_id": {
"description": "The client contact's numeric Clio id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"client_reference": {
"description": "The client's own reference for this matter.",
"type": "string"
},
"description": {
"description": "What the matter is, e.g. 'Smith v. Jones — lease dispute'.",
"type": "string"
},
"fields": {
"description": "Override the returned fields: a comma-separated list, nested resources in braces one level deep, e.g. id,name,matter{id,display_number}. Omit for a sensible default.",
"maxLength": 1000,
"type": "string"
},
"location": {
"description": "Location of the matter.",
"type": "string"
},
"open_date": {
"description": "Open date (ISO-8601 date, YYYY-MM-DD).",
"type": "string"
},
"originating_attorney_id": {
"description": "Originating attorney (user id).",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"practice_area_id": {
"description": "Practice area id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"responsible_attorney_id": {
"description": "Responsible attorney (user id).",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"status": {
"description": "Initial status (Clio defaults to open).",
"enum": [
"open",
"pending",
"closed"
],
"type": "string"
}
},
"required": [
"client_id",
"description"
],
"type": "object"
},
"name": "clio_create_matter"
},
{
"description": "WRITE: Add a note to a matter (type Matter + matter_id) or to a contact (type Contact + contact_id). Clio: POST /notes.json.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"contact_id": {
"description": "For type Contact: the contact's id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"date": {
"description": "Date of the note (ISO-8601 date, YYYY-MM-DD).",
"type": "string"
},
"detail": {
"description": "Note body (plain text).",
"type": "string"
},
"fields": {
"description": "Override the returned fields: a comma-separated list, nested resources in braces one level deep, e.g. id,name,matter{id,display_number}. Omit for a sensible default.",
"maxLength": 1000,
"type": "string"
},
"matter_id": {
"description": "For type Matter: the matter's id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"subject": {
"description": "Note subject.",
"type": "string"
},
"type": {
"description": "Attach to a matter or a contact.",
"enum": [
"Matter",
"Contact"
],
"type": "string"
}
},
"required": [
"type",
"detail"
],
"type": "object"
},
"name": "clio_create_note"
},
{
"description": "WRITE: Create a task and assign it to a firm user or a contact, optionally on a matter with a due date and priority. Clio: POST /tasks.json.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"assignee_id": {
"description": "The user or contact to assign the task to.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"assignee_type": {
"description": "Whether assignee_id is a User or a Contact.",
"enum": [
"User",
"Contact"
],
"type": "string"
},
"description": {
"description": "Longer description of the task.",
"type": "string"
},
"due_at": {
"description": "Due date (ISO-8601 date, YYYY-MM-DD).",
"type": "string"
},
"fields": {
"description": "Override the returned fields: a comma-separated list, nested resources in braces one level deep, e.g. id,name,matter{id,display_number}. Omit for a sensible default.",
"maxLength": 1000,
"type": "string"
},
"matter_id": {
"description": "The matter the task belongs to.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"name": {
"description": "Short name of the task.",
"type": "string"
},
"notify_assignee": {
"description": "Notify the assignee on creation.",
"type": "boolean"
},
"permission": {
"description": "Visibility (Clio default public).",
"enum": [
"public",
"private"
],
"type": "string"
},
"priority": {
"description": "Priority.",
"enum": [
"High",
"Normal",
"Low"
],
"type": "string"
},
"status": {
"description": "Initial status (without advanced tasks, only pending or complete).",
"enum": [
"pending",
"in_progress",
"in_review",
"complete",
"draft"
],
"type": "string"
},
"statute_of_limitations": {
"description": "Mark as a statute-of-limitations task.",
"type": "boolean"
}
},
"required": [
"name",
"description",
"assignee_id",
"assignee_type"
],
"type": "object"
},
"name": "clio_create_task"
},
{
"description": "WRITE: Record billable (or non-billable) time on a matter. Give hours as a decimal (1.5 = 90 minutes); it is sent to Clio as seconds. If price (hourly rate) is omitted Clio applies the firm's rate hierarchy; if user_id is omitted it records for the token's user. Clio: POST /activities.json with type TimeEntry.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"activity_description_id": {
"description": "An activity description (billing code) id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"date": {
"description": "The day the work was done (ISO-8601 date, YYYY-MM-DD).",
"type": "string"
},
"fields": {
"description": "Override the returned fields: a comma-separated list, nested resources in braces one level deep, e.g. id,name,matter{id,display_number}. Omit for a sensible default.",
"maxLength": 1000,
"type": "string"
},
"hours": {
"description": "Time spent, in hours (decimal).",
"exclusiveMinimum": 0,
"maximum": 24,
"type": "number"
},
"matter_id": {
"description": "The matter's numeric Clio id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"non_billable": {
"description": "Keep this entry off the bill.",
"type": "boolean"
},
"note": {
"description": "What the time was for — this appears on the bill.",
"type": "string"
},
"price": {
"description": "Hourly rate override. Omit to use Clio's rate hierarchy.",
"minimum": 0,
"type": "number"
},
"user_id": {
"description": "The user who did the work (default: the token's user).",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"matter_id",
"date",
"hours"
],
"type": "object"
},
"name": "clio_create_time_entry"
},
{
"description": "Fetch a single bill by id with its state, totals, balance, client and matters. Clio: GET /bills/{id}.json.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"bill_id": {
"description": "The bill's numeric Clio id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"fields": {
"description": "Override the returned fields: a comma-separated list, nested resources in braces one level deep, e.g. id,name,matter{id,display_number}. Omit for a sensible default.",
"maxLength": 1000,
"type": "string"
}
},
"required": [
"bill_id"
],
"type": "object"
},
"name": "clio_get_bill"
},
{
"description": "Fetch a single contact by id with all email addresses, phone numbers, postal addresses, web sites and custom field values (field_name + value; a picklist value is an option id, see clio_list_custom_fields). Clio: GET /contacts/{id}.json.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"contact_id": {
"description": "The contact's numeric Clio id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"fields": {
"description": "Override the returned fields: a comma-separated list, nested resources in braces one level deep, e.g. id,name,matter{id,display_number}. Omit for a sensible default.",
"maxLength": 1000,
"type": "string"
}
},
"required": [
"contact_id"
],
"type": "object"
},
"name": "clio_get_contact"
},
{
"description": "Fetch a single matter by id, with its client, practice area, stage, attorneys and custom field values (field_name + value; a picklist value is an option id, see clio_list_custom_fields). Clio: GET /matters/{id}.json.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"fields": {
"description": "Override the returned fields: a comma-separated list, nested resources in braces one level deep, e.g. id,name,matter{id,display_number}. Omit for a sensible default.",
"maxLength": 1000,
"type": "string"
},
"matter_id": {
"description": "The matter's numeric Clio id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"matter_id"
],
"type": "object"
},
"name": "clio_get_matter"
},
{
"description": "List activities — time entries, expense entries and fixed fees — with hours, rate, total and billing status. Filter by matter, user, type, status or date range. `quantity` is in seconds; `quantity_in_hours` is hours. Clio: GET /activities.json.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"end_date": {
"description": "Only activities dated on or before this day (ISO-8601 date or timestamp).",
"type": "string"
},
"fields": {
"description": "Override the returned fields: a comma-separated list, nested resources in braces one level deep, e.g. id,name,matter{id,display_number}. Omit for a sensible default.",
"maxLength": 1000,
"type": "string"
},
"limit": {
"description": "Records per page, 1-200 (default 50).",
"maximum": 200,
"minimum": 1,
"type": "integer"
},
"matter_id": {
"description": "Only this matter's activities.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"offset": {
"description": "next_page.offset from the previous page (used when a custom order is set; capped at 10,000 records).",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"order": {
"description": "Sort order. Default id(asc).",
"enum": [
"id(asc)",
"id(desc)",
"date(asc)",
"date(desc)",
"total(asc)",
"total(desc)",
"updated_at(asc)",
"updated_at(desc)"
],
"type": "string"
},
"page_token": {
"description": "next_page.page_token from the previous page. Omit for the first page.",
"type": "string"
},
"query": {
"description": "Wildcard search on the activity's note.",
"type": "string"
},
"start_date": {
"description": "Only activities dated on or after this day (ISO-8601 date or timestamp).",
"type": "string"
},
"status": {
"description": "Only activities in this billing status.",
"enum": [
"billed",
"draft",
"unbilled",
"non_billable",
"billable",
"written_off"
],
"type": "string"
},
"type": {
"description": "Only this kind of activity.",
"enum": [
"TimeEntry",
"ExpenseEntry",
"HardCostEntry",
"SoftCostEntry",
"FixedFee"
],
"type": "string"
},
"updated_since": {
"description": "Only records updated after this ISO-8601 timestamp, e.g. 2026-09-01T00:00:00Z.",
"type": "string"
},
"user_id": {
"description": "Only this user's activities.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"type": "object"
},
"name": "clio_list_activities"
},
{
"description": "List bills (invoices) with state, totals, amount due and dates. Filter by client, matter, state, overdue, or issue/due date. Clio: GET /bills.json.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"client_id": {
"description": "Only this client's bills.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"due_after": {
"description": "Only bills due after this day (ISO-8601 date, YYYY-MM-DD).",
"type": "string"
},
"due_before": {
"description": "Only bills due before this day (ISO-8601 date, YYYY-MM-DD).",
"type": "string"
},
"fields": {
"description": "Override the returned fields: a comma-separated list, nested resources in braces one level deep, e.g. id,name,matter{id,display_number}. Omit for a sensible default.",
"maxLength": 1000,
"type": "string"
},
"issued_after": {
"description": "Only bills issued after this day (ISO-8601 date, YYYY-MM-DD).",
"type": "string"
},
"issued_before": {
"description": "Only bills issued before this day (ISO-8601 date, YYYY-MM-DD).",
"type": "string"
},
"limit": {
"description": "Records per page, 1-200 (default 50).",
"maximum": 200,
"minimum": 1,
"type": "integer"
},
"matter_id": {
"description": "Only this matter's bills.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"offset": {
"description": "next_page.offset from the previous page (used when a custom order is set; capped at 10,000 records).",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"order": {
"description": "Sort order. Default id(asc).",
"enum": [
"id(asc)",
"id(desc)",
"issued_at(asc)",
"issued_at(desc)",
"due_at(asc)",
"due_at(desc)",
"balance(asc)",
"balance(desc)"
],
"type": "string"
},
"overdue_only": {
"description": "Only overdue bills.",
"type": "boolean"
},
"page_token": {
"description": "next_page.page_token from the previous page. Omit for the first page.",
"type": "string"
},
"state": {
"description": "Only bills in this state.",
"enum": [
"draft",
"awaiting_approval",
"awaiting_payment",
"paid",
"void",
"deleted"
],
"type": "string"
},
"type": {
"description": "Only revenue or trust bills.",
"enum": [
"revenue",
"trust"
],
"type": "string"
},
"updated_since": {
"description": "Only records updated after this ISO-8601 timestamp, e.g. 2026-09-01T00:00:00Z.",
"type": "string"
}
},
"type": "object"
},
"name": "clio_list_bills"
},
{
"description": "List calendar entries (hearings, meetings, deadlines) in a time window, optionally for one matter or calendar. Set expanded=true to get each occurrence of recurring events. Clio: GET /calendar_entries.json.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"calendar_id": {
"description": "Only entries on this calendar.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"expanded": {
"description": "Return one record per occurrence of recurring events.",
"type": "boolean"
},
"fields": {
"description": "Override the returned fields: a comma-separated list, nested resources in braces one level deep, e.g. id,name,matter{id,display_number}. Omit for a sensible default.",
"maxLength": 1000,
"type": "string"
},
"from": {
"description": "Only entries ending on or after this ISO-8601 timestamp.",
"type": "string"
},
"is_all_day": {
"description": "Only all-day (true) or timed (false) entries.",
"type": "boolean"
},
"limit": {
"description": "Records per page, 1-200 (default 50).",
"maximum": 200,
"minimum": 1,
"type": "integer"
},
"matter_id": {
"description": "Only this matter's entries.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"offset": {
"description": "next_page.offset from the previous page (used when a custom order is set; capped at 10,000 records).",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"page_token": {
"description": "next_page.page_token from the previous page. Omit for the first page.",
"type": "string"
},
"query": {
"description": "Search text.",
"type": "string"
},
"to": {
"description": "Only entries starting on or before this ISO-8601 timestamp.",
"type": "string"
},
"updated_since": {
"description": "Only records updated after this ISO-8601 timestamp, e.g. 2026-09-01T00:00:00Z.",
"type": "string"
}
},
"type": "object"
},
"name": "clio_list_calendar_entries"
},
{
"description": "List logged communications — phone calls and emails recorded on matters — with subject, body, date, senders and receivers. Filter by matter, contact, user, type or date range, or search subject and body. Clio: GET /communications.json.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"contact_id": {
"description": "Only communications with this contact.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"fields": {
"description": "Override the returned fields: a comma-separated list, nested resources in braces one level deep, e.g. id,name,matter{id,display_number}. Omit for a sensible default.",
"maxLength": 1000,
"type": "string"
},
"having_time_entries": {
"description": "Only communications with (true) or without (false) time entries.",
"type": "boolean"
},
"limit": {
"description": "Records per page, 1-200 (default 20: email bodies can be long).",
"maximum": 200,
"minimum": 1,
"type": "integer"
},
"matter_id": {
"description": "Only this matter's communications.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"offset": {
"description": "next_page.offset from the previous page (used when a custom order is set; capped at 10,000 records).",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"order": {
"description": "Sort order. Default id(asc).",
"enum": [
"id(asc)",
"id(desc)",
"date(asc)",
"date(desc)",
"received_at(asc)",
"received_at(desc)"
],
"type": "string"
},
"page_token": {
"description": "next_page.page_token from the previous page. Omit for the first page.",
"type": "string"
},
"query": {
"description": "Wildcard search on subject and body.",
"type": "string"
},
"received_before": {
"description": "Only communications on or before this day (ISO-8601 date, YYYY-MM-DD).",
"type": "string"
},
"received_since": {
"description": "Only communications on or after this day (ISO-8601 date, YYYY-MM-DD).",
"type": "string"
},
"type": {
"description": "Only phone calls or only emails.",
"enum": [
"PhoneCommunication",
"EmailCommunication"
],
"type": "string"
},
"updated_since": {
"description": "Only records updated after this ISO-8601 timestamp, e.g. 2026-09-01T00:00:00Z.",
"type": "string"
},
"user_id": {
"description": "Only communications of this user.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"type": "object"
},
"name": "clio_list_communications"
},
{
"description": "Search and list contacts — clients, prospective clients, companies, opposing parties and co-counsel. `query` wildcard-matches name, email, phone, address and more; custom_field_id + custom_field_value filter by one of the firm's custom fields. Clio: GET /contacts.json.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"client_only": {
"description": "Only contacts who are clients.",
"type": "boolean"
},
"custom_field_id": {
"description": "Only records whose custom field with this id (from clio_list_custom_fields) matches custom_field_value.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"custom_field_operator": {
"description": "Required for currency, date, time and numeric fields (= for an exact match); leave it out for every other field type.",
"enum": [
"=",
"<",
">",
"<=",
">="
],
"type": "string"
},
"custom_field_value": {
"description": "The value to match. Checkbox: true or false; picklist: the option id; contact or matter field: the record id; date: YYYY-MM-DD. Text, checkbox, picklist, contact and matter fields always match exactly.",
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"email_only": {
"description": "Only contacts that have an email address.",
"type": "boolean"
},
"fields": {
"description": "Override the returned fields: a comma-separated list, nested resources in braces one level deep, e.g. id,name,matter{id,display_number}. Omit for a sensible default.",
"maxLength": 1000,
"type": "string"
},
"initial": {
"description": "Only contacts whose last name or company name starts with this letter (A-Z).",
"maxLength": 1,
"minLength": 1,
"type": "string"
},
"limit": {
"description": "Records per page, 1-200 (default 50).",
"maximum": 200,
"minimum": 1,
"type": "integer"
},
"offset": {
"description": "next_page.offset from the previous page (used when a custom order is set; capped at 10,000 records).",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"order": {
"description": "Sort order. Default id(asc).",
"enum": [
"id(asc)",
"id(desc)",
"name(asc)",
"name(desc)"
],
"type": "string"
},
"page_token": {
"description": "next_page.page_token from the previous page. Omit for the first page.",
"type": "string"
},
"query": {
"description": "Wildcard search across name, title, email, phone, address, web site and custom fields.",
"type": "string"
},
"type": {
"description": "Only people or only companies.",
"enum": [
"Person",
"Company"
],
"type": "string"
},
"updated_since": {
"description": "Only records updated after this ISO-8601 timestamp, e.g. 2026-09-01T00:00:00Z.",
"type": "string"
}
},
"type": "object"
},
"name": "clio_list_contacts"
},
{
"description": "List the firm's custom fields for matters or contacts — name, type, whether required, and the options of picklist fields (option id + text). Use the ids to filter clio_list_matters / clio_list_contacts and to read the values that clio_get_matter / clio_get_contact return. Clio: GET /custom_fields.json.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"deleted": {
"description": "Only fields deleted for future use (true) or active ones (false).",
"type": "boolean"
},
"field_type": {
"description": "Only fields of this type.",
"enum": [
"checkbox",
"contact",
"currency",
"date",
"time",
"email",
"matter",
"numeric",
"picklist",
"text_area",
"text_line",
"url"
],
"type": "string"
},
"fields": {
"description": "Override the returned fields: a comma-separated list, nested resources in braces one level deep, e.g. id,name,matter{id,display_number}. Omit for a sensible default.",
"maxLength": 1000,
"type": "string"
},
"limit": {
"description": "Records per page, 1-200 (default 50).",
"maximum": 200,
"minimum": 1,
"type": "integer"
},
"offset": {
"description": "next_page.offset from the previous page (used when a custom order is set; capped at 10,000 records).",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"order": {
"description": "Sort order. Default id(asc).",
"enum": [
"id(asc)",
"id(desc)",
"name(asc)",
"name(desc)",
"display_order(asc)",
"display_order(desc)"
],
"type": "string"
},
"page_token": {
"description": "next_page.page_token from the previous page. Omit for the first page.",
"type": "string"
},
"parent_type": {
"description": "Only matter fields or only contact fields.",
"enum": [
"matter",
"contact"
],
"type": "string"
},
"query": {
"description": "Wildcard search on the field name.",
"type": "string"
},
"visible_and_required": {
"description": "Only fields that are visible and required.",
"type": "boolean"
}
},
"type": "object"
},
"name": "clio_list_custom_fields"
},
{
"description": "List documents (metadata only: name, file name, type, size, category, dates) for a matter, a contact or a folder, or search them by name. Clio: GET /documents.json.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"contact_id": {
"description": "Only this contact's documents.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"document_category_id": {
"description": "Only documents in this category.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"fields": {
"description": "Override the returned fields: a comma-separated list, nested resources in braces one level deep, e.g. id,name,matter{id,display_number}. Omit for a sensible default.",
"maxLength": 1000,
"type": "string"
},
"limit": {
"description": "Records per page, 1-200 (default 50).",
"maximum": 200,
"minimum": 1,
"type": "integer"
},
"matter_id": {
"description": "Only this matter's documents.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"offset": {
"description": "next_page.offset from the previous page (used when a custom order is set; capped at 10,000 records).",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"order": {
"description": "Sort order. Default id(asc).",
"enum": [
"id(asc)",
"id(desc)",
"name(asc)",
"name(desc)",
"updated_at(asc)",
"updated_at(desc)",
"created_at(asc)",
"created_at(desc)"
],
"type": "string"
},
"page_token": {
"description": "next_page.page_token from the previous page. Omit for the first page.",
"type": "string"
},
"parent_id": {
"description": "Only documents in this folder.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"query": {
"description": "Wildcard search on the document name.",
"type": "string"
},
"scope": {
"description": "With parent_id: direct children only (default) or everything beneath the folder.",
"enum": [
"children",
"descendants"
],
"type": "string"
},
"updated_since": {
"description": "Only records updated after this ISO-8601 timestamp, e.g. 2026-09-01T00:00:00Z.",
"type": "string"
}
},
"type": "object"
},
"name": "clio_list_documents"
},
{
"description": "Search and list matters (the firm's cases) with their client, practice area, responsible attorney and status. `query` wildcard-matches matter number or description and the client's name; custom_field_id + custom_field_value filter by one of the firm's custom fields (e.g. a court case number). Clio: GET /matters.json.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"billable": {
"description": "Only billable (true) or non-billable (false) matters.",
"type": "boolean"
},
"client_id": {
"description": "Only this client's (contact id) matters.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"custom_field_id": {
"description": "Only records whose custom field with this id (from clio_list_custom_fields) matches custom_field_value.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"custom_field_operator": {
"description": "Required for currency, date, time and numeric fields (= for an exact match); leave it out for every other field type.",
"enum": [
"=",
"<",
">",
"<=",
">="
],
"type": "string"
},
"custom_field_value": {
"description": "The value to match. Checkbox: true or false; picklist: the option id; contact or matter field: the record id; date: YYYY-MM-DD. Text, checkbox, picklist, contact and matter fields always match exactly.",
"maxLength": 500,
"minLength": 1,
"type": "string"
},
"fields": {
"description": "Override the returned fields: a comma-separated list, nested resources in braces one level deep, e.g. id,name,matter{id,display_number}. Omit for a sensible default.",
"maxLength": 1000,
"type": "string"
},
"limit": {
"description": "Records per page, 1-200 (default 50).",
"maximum": 200,
"minimum": 1,
"type": "integer"
},
"offset": {
"description": "next_page.offset from the previous page (used when a custom order is set; capped at 10,000 records).",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"order": {
"description": "Sort order. Default id(asc), the only order that allows unlimited cursor paging.",
"enum": [
"id(asc)",
"id(desc)",
"display_number(asc)",
"display_number(desc)",
"open_date(asc)",
"open_date(desc)",
"close_date(asc)",
"close_date(desc)",
"updated_at(asc)",
"updated_at(desc)",
"created_at(asc)",
"created_at(desc)",
"client.name(asc)",
"client.name(desc)"
],
"type": "string"
},
"originating_attorney_id": {
"description": "Only matters with this originating attorney (user id).",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"page_token": {
"description": "next_page.page_token from the previous page. Omit for the first page.",
"type": "string"
},
"practice_area_id": {
"description": "Only matters in this practice area.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"query": {
"description": "Wildcard search on display number, number, description, or the client's name.",
"type": "string"
},
"responsible_attorney_id": {
"description": "Only matters with this responsible attorney (user id).",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"status": {
"description": "open, closed or pending — or several comma-separated, e.g. open,pending.",
"type": "string"
},
"updated_since": {
"description": "Only records updated after this ISO-8601 timestamp, e.g. 2026-09-01T00:00:00Z.",
"type": "string"
}
},
"type": "object"
},
"name": "clio_list_matters"
},
{
"description": "List notes on a matter or a contact, with subject, body, date and author. Clio requires type; narrow to one matter or contact with matter_id or contact_id. Clio: GET /notes.json.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"contact_id": {
"description": "For type Contact: the contact's id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"fields": {
"description": "Override the returned fields: a comma-separated list, nested resources in braces one level deep, e.g. id,name,matter{id,display_number}. Omit for a sensible default.",
"maxLength": 1000,
"type": "string"
},
"limit": {
"description": "Records per page, 1-200 (default 50).",
"maximum": 200,
"minimum": 1,
"type": "integer"
},
"matter_id": {
"description": "For type Matter: the matter's id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"offset": {
"description": "next_page.offset from the previous page (used when a custom order is set; capped at 10,000 records).",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"order": {
"description": "Sort order. Default id(asc).",
"enum": [
"id(asc)",
"id(desc)",
"date(asc)",
"date(desc)",
"updated_at(asc)",
"updated_at(desc)"
],
"type": "string"
},
"page_token": {
"description": "next_page.page_token from the previous page. Omit for the first page.",
"type": "string"
},
"query": {
"description": "Wildcard search across subject and detail.",
"type": "string"
},
"type": {
"description": "Matter notes or contact notes.",
"enum": [
"Matter",
"Contact"
],
"type": "string"
},
"updated_since": {
"description": "Only records updated after this ISO-8601 timestamp, e.g. 2026-09-01T00:00:00Z.",
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
"name": "clio_list_notes"
},
{
"description": "List tasks with status, priority, due date, matter and assignee. Filter by matter, assignee, status, priority or a due-date range — e.g. what is due this week. Clio: GET /tasks.json.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"assignee_id": {
"description": "Only tasks assigned to this user or contact id. Requires assignee_type.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"assignee_type": {
"description": "Whether assignee_id is a user or a contact.",
"enum": [
"user",
"contact"
],
"type": "string"
},
"complete": {
"description": "Only complete (true) or incomplete (false) tasks.",
"type": "boolean"
},
"due_at_from": {
"description": "Start of a due-date range (ISO-8601 date, YYYY-MM-DD).",
"type": "string"
},
"due_at_to": {
"description": "End of a due-date range (ISO-8601 date, YYYY-MM-DD).",
"type": "string"
},
"fields": {
"description": "Override the returned fields: a comma-separated list, nested resources in braces one level deep, e.g. id,name,matter{id,display_number}. Omit for a sensible default.",
"maxLength": 1000,
"type": "string"
},
"limit": {
"description": "Records per page, 1-200 (default 50).",
"maximum": 200,
"minimum": 1,
"type": "integer"
},
"matter_id": {
"description": "Only this matter's tasks.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"offset": {
"description": "next_page.offset from the previous page (used when a custom order is set; capped at 10,000 records).",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"order": {
"description": "Sort order. Default id(asc).",
"enum": [
"id(asc)",
"id(desc)",
"due_at(asc)",
"due_at(desc)",
"priority(asc)",
"priority(desc)",
"name(asc)",
"name(desc)"
],
"type": "string"
},
"page_token": {
"description": "next_page.page_token from the previous page. Omit for the first page.",
"type": "string"
},
"priority": {
"description": "Only tasks with this priority.",
"enum": [
"high",
"normal",
"low"
],
"type": "string"
},
"query": {
"description": "Wildcard search on the task's name or description.",
"type": "string"
},
"status": {
"description": "Only tasks in this status (without advanced tasks, only pending or complete).",
"enum": [
"pending",
"in_progress",
"in_review",
"complete",
"draft"
],
"type": "string"
},
"statute_of_limitations": {
"description": "Only statute-of-limitations tasks (true) or others (false).",
"type": "boolean"
},
"updated_since": {
"description": "Only records updated after this ISO-8601 timestamp, e.g. 2026-09-01T00:00:00Z.",
"type": "string"
}
},
"type": "object"
},
"name": "clio_list_tasks"
},
{
"description": "List the firm's Clio users (attorneys and staff) — use their ids for responsible attorneys, time entries and task assignees. Clio: GET /users.json.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"enabled": {
"description": "Only enabled (true) or disabled (false) users.",
"type": "boolean"
},
"fields": {
"description": "Override the returned fields: a comma-separated list, nested resources in braces one level deep, e.g. id,name,matter{id,display_number}. Omit for a sensible default.",
"maxLength": 1000,
"type": "string"
},
"limit": {
"description": "Records per page, 1-2000 (default 50).",
"maximum": 2000,
"minimum": 1,
"type": "integer"
},
"name": {
"description": "Only users with this name.",
"type": "string"
},
"page_token": {
"description": "next_page.page_token from the previous page. Omit for the first page.",
"type": "string"
},
"role": {
"description": "Only users with this role.",
"enum": [
"admin",
"accounts",
"billing",
"reports"
],
"type": "string"
},
"subscription_type": {
"description": "Only attorneys or non-attorneys.",
"enum": [
"attorney",
"nonattorney"
],
"type": "string"
}
},
"type": "object"
},
"name": "clio_list_users"
},
{
"description": "WRITE: Record a phone call or an email on Clio's communication log, optionally on a matter, with who it was from and to. This only records it: Clio sends nothing. To bill the time, also use clio_create_time_entry. Clio: POST /communications.json.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"body": {
"description": "What was said or written (plain text).",
"minLength": 1,
"type": "string"
},
"fields": {
"description": "Override the returned fields: a comma-separated list, nested resources in braces one level deep, e.g. id,name,matter{id,display_number}. Omit for a sensible default.",
"maxLength": 1000,
"type": "string"
},
"matter_id": {
"description": "The matter it belongs to.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"received_at": {
"description": "When it took place (ISO-8601 timestamp, e.g. 2026-10-02T09:30:00-07:00).",
"type": "string"
},
"receivers": {
"description": "Who it went to: firm users and/or contacts.",
"items": {
"properties": {
"id": {
"description": "User or contact id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"type": {
"enum": [
"User",
"Contact"
],
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"maxItems": 20,
"type": "array"
},
"senders": {
"description": "Who it came from: firm users and/or contacts.",
"items": {
"properties": {
"id": {
"description": "User or contact id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"type": {
"enum": [
"User",
"Contact"
],
"type": "string"
}
},
"required": [
"id",
"type"
],
"type": "object"
},
"maxItems": 20,
"type": "array"
},
"subject": {
"description": "Subject line, e.g. 'Call with client about settlement'.",
"minLength": 1,
"type": "string"
},
"type": {
"description": "A phone call or an email.",
"enum": [
"PhoneCommunication",
"EmailCommunication"
],
"type": "string"
}
},
"required": [
"type",
"subject",
"body",
"received_at"
],
"type": "object"
},
"name": "clio_log_communication"
},
{
"description": "WRITE: Update a task — mark it complete, change its status, due date, priority, name or description, or reassign it. Only the fields given are changed. Clio: PATCH /tasks/{id}.json.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"assignee_id": {
"description": "Reassign to this user or contact. Requires assignee_type.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"assignee_type": {
"description": "Whether assignee_id is a User or a Contact.",
"enum": [
"User",
"Contact"
],
"type": "string"
},
"description": {
"description": "New description.",
"type": "string"
},
"due_at": {
"description": "New due date (ISO-8601 date, YYYY-MM-DD).",
"type": "string"
},
"fields": {
"description": "Override the returned fields: a comma-separated list, nested resources in braces one level deep, e.g. id,name,matter{id,display_number}. Omit for a sensible default.",
"maxLength": 1000,
"type": "string"
},
"name": {
"description": "New name.",
"type": "string"
},
"priority": {
"description": "New priority.",
"enum": [
"High",
"Normal",
"Low"
],
"type": "string"
},
"status": {
"description": "New status, e.g. complete.",
"enum": [
"pending",
"in_progress",
"in_review",
"complete",
"draft"
],
"type": "string"
},
"task_id": {
"description": "The task's numeric Clio id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"task_id"
],
"type": "object"
},
"name": "clio_update_task"
},
{
"description": "Fetch the Clio user this access token belongs to — name, email, subscription type, time zone and default_calendar_id (needed to create calendar entries). A cheap way to confirm the token and region are right. Clio: GET /users/who_am_i.json.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"fields": {
"description": "Override the returned fields: a comma-separated list, nested resources in braces one level deep, e.g. id,name,matter{id,display_number}. Omit for a sensible default.",
"maxLength": 1000,
"type": "string"
}
},
"type": "object"
},
"name": "clio_who_am_i"
}
]
}What the leaf hashes
{"body":"c79d09ffe177bd3633bddcf4385acc6996b65ea3abc5a57a4eb908a40989eab3","id":300225,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793053336301401,"prev":null,"subject":"7d4ec2de-7e07-4365-8376-34c16de34d2f","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).
- 0x84d7f40d34fba569985b1c53560ee1e1877cbc5e3f44e7394f35dbc2fbf27bd5
- 0xf2a3b50558f81c3fdce244ef452250deb8605cc5ef9b68d717be5875646dee8f
- 0x7f6f21aa33c6b264554d628f73f6cf4bc4dda717106aecc734550deedb1aa0a2
- 0x9041547cdd2d65e89bae6042e3e3bf2e865fac4fc0cbdff6bdd70382e25a6302
- 0xbe70a812f55217ab61c8ea7bf1b2873d594212161ba516afbaa091b35de5ac20
- 0x9de5808c3bfc632ed2ea0f2d504386f542e6ed4005aeba4a19fe139e5028e27a
- 0xfffe27ea2830d54fad465c7835dfcb8d1b637afecf5c8116f6345489947a9b87
- 0x0e176001aa4ea75011e88c9023cd88528b97832d7702bb4eb6ce54dacb72285f
- 0xca94b2eb4dbd39705fde6c0afe784886166d172e034b96706e6f73452b52855c
- 0x885deb0e4307fa99df9e773ff11344ee034f4c9c93d7eb138d0da714c1f8128b
- 0x147021357b2eb773d60db74f751316bfd367b06080320d378c0c402240e98d59
- 0x146f43471a3bde6d8a04e87b6afd3ee6860c6e38a009f86aee705ce722b67748
- 0x91c2ae93ec20c7fed5088112fe3941ca622dfb3f8f1022c4844726c361244bd4
- 0x0eff463856b0992d53ab7d8c0b97c71541413358bdd445710c1e4b6aeb4d8f78
- 0x7eb603d37f0f22dae1ea013e391889906ffc0139ff26e25b044bee38eec8f9b2
- 0x2b6e23e3624a1b66e1d2298cfbce99a93ce6b13d24a58112a71802d79c5f7a76
- 0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9
- 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae