Local services & SaaS
Faire
Orders, inventory, reorders and messages for wholesale brands.
12 endpoints
Your agent finds matters, logs time and chases tasks in Clio Manage. You sign in once, with no developer app, no OAuth code and no server to host. It works inside the ChatGPT and Claude apps.
13 tools Read and write
Yes to both (checked 6 Nov 2026). Clio has a REST API, the Clio Manage API v4, with OAuth 2.0 and webhooks. Clio also hosts an MCP server at mcp.api.clio.com/mcp, listed in Claude's directory since October 2026, for people with a Clio Work license. Cotlet adds 13 Clio tools hosted, with no developer app, no API key from Clio and no Clio Work license.
| What you need | Clio API v4 | Clio MCP (Clio Work) | Cotlet |
|---|---|---|---|
| Search matters, contacts and time entries | Yes, you code it | Matter status and parties | Yes |
| Log a time entry | Yes, you code it | Yes, with approval | Yes, after your OK |
| Create tasks, notes and calendar entries | Yes, you code it | Tasks and calendar: review | Yes, after your OK |
| Change a matter's status | Yes, you code it | Not listed | Yes, after your OK |
| No developer app or Clio Work license | Developer app | Clio Work license | Yes, your own sign-in |
| Runs in the ChatGPT and Claude apps, 24/7 | You build it | Claude and Codex | Yes, hosted |
Checked 6 Nov 2026. Sources: Clio Developers: Clio Manage API · Clio Developers: Rate limits · Clio Developers: Webhooks guide · Clio Developers: Building private apps · Clio MCP server: OAuth metadata · eSEOspace: Clio MCP server (2 Nov 2026)
Use your own login.
Paste one Cotlet address.
Your agent works the matters.
We never keep your Clio password, and no time entry, task or note is saved until you approve it. Who can see your session
Use MCP with your AI agent, or the same tools over REST in n8n, Make and scripts.
Add the Cotlet address. Add https://cotlet.dev/mcp/v1 as an MCP server or connector in your agent.
Enable Clio for agents. Sign up, log in to Clio in its Cloud Browser, then press Enable for agents.
Approve the connection. Chat apps ask you to sign in to Cotlet. Editors, n8n and scripts use an API key from the console.
One shared address, https://cotlet.dev/mcp/v1, also carries Clio next to your other apps, whichever app you open first. If you enable Clio after connecting, refresh the connector so the new tools show up.
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect
Claude Code:
claude mcp add --transport http cotlet-clio \
https://cotlet.dev/mcp/v1 \
--header "Authorization: Bearer $COTLET_API_KEY" Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth // ~/.cursor/mcp.json
{
"mcpServers": {
"cotlet-clio": {
"url": "https://cotlet.dev/mcp/v1",
"headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
}
}
} # ~/.codex/config.toml
[mcp_servers.cotlet-clio]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY" MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: clio_read Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: clio_write Statuses are the three Clio uses: open, pending and closed. Find the client first, then the matter, and pass its ID to the other tools.
Returns matters one page at a time, newest first. status is open, pending or closed, the three statuses Clio uses; with no status every matter comes back. query matches the matter number and the description. What you see follows your Clio role and permissions. Use id as matter_id in the other tools.
MCP callclio_read → search_matters
REST endpointGET https://cotlet.dev/api/v1/clio/matters/search
| Name | Type | Description |
|---|---|---|
| query string | string | Text to find in the matter number or description. |
| status enum | enum | open, pending or closed. Default: all. |
| client_name string | string | Only matters of the client with this name. |
| cursor string | string | Next page cursor from the previous call. |
{
"matters": [
{
"id": 1042871,
"display_number": "00112-Hartley",
"description": "Lease dispute",
"status": "open",
"client": "Hartley Properties",
"responsible_attorney": "Dana Cole"
},
{
"id": 1042890,
"display_number": "00115-Ortega",
"description": "Estate planning",
"status": "pending",
"client": "Maria Ortega",
"responsible_attorney": "Dana Cole"
}
],
"next_cursor": null
} Returns the matter as Clio shows it: status, open date, practice area, responsible attorney, the client and the related contacts with their roles. A matter you have no permission to see returns APP_PERMISSION_DENIED.
MCP callclio_read → get_matter
REST endpointGET https://cotlet.dev/api/v1/clio/matters/{matter_id}
| Name | Type | Description |
|---|---|---|
| matter_id integer required | integer | Matter ID from search_matters. |
{
"matter_id": 1
} {
"id": 1042871,
"display_number": "00112-Hartley",
"description": "Lease dispute",
"status": "open",
"open_date": "2026-09-02",
"practice_area": "Real estate",
"responsible_attorney": "Dana Cole",
"client": "Hartley Properties",
"related_contacts": [
{
"name": "Gordon Pike",
"role": "Opposing counsel"
}
]
} Returns contacts matching the text, one page at a time, with type (person or company), email and phone as stored in Clio. Use it to find a client before you look for their matters.
MCP callclio_read → search_contacts
REST endpointGET https://cotlet.dev/api/v1/clio/contacts/search
| Name | Type | Description |
|---|---|---|
| query string required | string | Name, email or phone to look for. |
| cursor string | string | Next page cursor from the previous call. |
{
"query": "query"
} {
"contacts": [
{
"id": 558120,
"name": "Maria Ortega",
"type": "person",
"email": "maria@example.com",
"phone": "+1 555 0142"
}
],
"next_cursor": null
} Changes the status of one matter. open means the matter is active, pending means it was created but not yet opened, closed means it is finished. Clio records the open, pending or close date when the status changes. Returns the matter. By default you confirm each call; you can switch that off for this tool.
MCP callclio_write → update_matter_status
REST endpointPATCH https://cotlet.dev/api/v1/clio/matters/{matter_id}/status
| Name | Type | Description |
|---|---|---|
| matter_id integer required | integer | Matter ID from search_matters. |
| status enum required | enum | open, pending or closed. |
{
"matter_id": 1,
"status": "open"
} {
"id": 1042890,
"display_number": "00115-Ortega",
"status": "open",
"open_date": "2026-11-05"
} Hours are in hours, for example 1.5. Bills are read only: generating a bill stays in Clio.
Returns time entries with date, hours, description and the person who logged them. Filter by matter, person and date range. Hours can be hidden for your role, and then they come back empty.
MCP callclio_read → list_time_entries
REST endpointGET https://cotlet.dev/api/v1/clio/time-entries
| Name | Type | Description |
|---|---|---|
| matter_id integer | integer | Only entries on this matter. |
| since date | date | Only entries on or after this date. |
| until date | date | Only entries on or before this date. |
| cursor string | string | Next page cursor from the previous call. |
{
"time_entries": [
{
"id": 7730412,
"matter_id": 1042871,
"date": "2026-11-04",
"hours": 1.5,
"description": "Review lease and draft reply",
"user": "Dana Cole"
},
{
"id": 7730398,
"matter_id": 1042871,
"date": "2026-11-03",
"hours": 0.5,
"description": "",
"user": "Sam Reyes"
}
],
"next_cursor": null
} Returns bills newest first with issue date, the matter, the client and the total as Clio shows it. Use it to find the date of the last bill before you list the time since then. It only reads: generating a bill stays in Clio.
MCP callclio_read → list_bills
REST endpointGET https://cotlet.dev/api/v1/clio/bills
| Name | Type | Description |
|---|---|---|
| matter_id integer | integer | Only bills of this matter. |
| cursor string | string | Next page cursor from the previous call. |
{
"bills": [
{
"id": 4410,
"matter_id": 1042871,
"client": "Hartley Properties",
"issued_at": "2026-10-31",
"total": 2850,
"currency": "USD"
}
],
"next_cursor": null
} Creates a time entry on the matter with the date, the hours and a description, for the signed-in person. It shows up in the matter's Activities and can go on the next bill to the client. Returns the new entry. By default you confirm each call; you can switch that off for this tool.
MCP callclio_write → create_time_entry
REST endpointPOST https://cotlet.dev/api/v1/clio/matters/{matter_id}/time-entries
| Name | Type | Description |
|---|---|---|
| matter_id integer required | integer | Matter ID from search_matters. |
| date date required | date | Day the work was done. |
| hours number required | number | Time spent, in hours, for example 1.5. |
| description string required | string | What was done, as it will read on the bill. |
{
"matter_id": 1042871,
"date": "2026-11-05",
"hours": 1.5,
"description": "Call with opposing counsel"
} {
"id": 7730455,
"matter_id": 1042871,
"date": "2026-11-05",
"hours": 1.5,
"description": "Call with opposing counsel",
"user": "Dana Cole"
} A new task needs a name and an assignee. A task is reopened in Clio, not with these tools.
Returns tasks one page at a time, soonest due first. Filter by matter, assignee or due date to find what is overdue. A task shows on its matter and on the Calendar on its due date.
MCP callclio_read → list_tasks
REST endpointGET https://cotlet.dev/api/v1/clio/tasks
| Name | Type | Description |
|---|---|---|
| matter_id integer | integer | Only tasks on this matter. |
| assignee string | string | Name of the person the task is assigned to. |
| due_before date | date | Only tasks due on or before this date. |
| complete boolean | boolean | true for finished tasks, false for open ones. Default: all. |
| cursor string | string | Next page cursor from the previous call. |
{
"tasks": [
{
"id": 330981,
"name": "Send engagement letter",
"matter_id": 1042890,
"assignee": "Dana Cole",
"due_date": "2026-11-02",
"complete": false
},
{
"id": 330990,
"name": "Collect ID copies",
"matter_id": 1042890,
"assignee": "Sam Reyes",
"due_date": "2026-11-09",
"complete": false
}
],
"next_cursor": null
} Creates a task with a name and the person it is assigned to, the two things Clio requires. A due date and a matter are optional. The assignee sees the task in Clio. Returns the new task. By default you confirm each call; you can switch that off for this tool.
MCP callclio_write → create_task
REST endpointPOST https://cotlet.dev/api/v1/clio/tasks
| Name | Type | Description |
|---|---|---|
| name string required | string | Task name. |
| assignee string required | string | Name of the person the task is assigned to. |
| matter_id integer | integer | Matter the task belongs to. |
| due_date date | date | Day the task is due. |
{
"name": "Jane Doe",
"assignee": "assignee"
} {
"id": 331004,
"name": "Collect ID copies",
"matter_id": 1042890,
"assignee": "Sam Reyes",
"due_date": "2026-11-09",
"complete": false
} Marks one task complete, as the person signed in. Returns the task with its new state. A task is reopened in Clio, not with this tool. By default you confirm each call; you can switch that off for this tool.
MCP callclio_write → complete_task
REST endpointPOST https://cotlet.dev/api/v1/clio/tasks/{task_id}/complete
| Name | Type | Description |
|---|---|---|
| task_id integer required | integer | Task ID from list_tasks. |
{
"task_id": 1
} {
"id": 330981,
"name": "Send engagement letter",
"matter_id": 1042890,
"assignee": "Dana Cole",
"due_date": "2026-11-02",
"complete": true
} Adds a note with a subject and text to the matter, written by the person signed in. It shows on the matter for everyone with access to it. Returns the new note. By default you confirm each call; you can switch that off for this tool.
MCP callclio_write → create_matter_note
REST endpointPOST https://cotlet.dev/api/v1/clio/matters/{matter_id}/note
| Name | Type | Description |
|---|---|---|
| matter_id integer required | integer | Matter ID from search_matters. |
| subject string required | string | Short title of the note. |
| body string required | string | Text of the note. |
{
"matter_id": 1,
"subject": "subject",
"body": "body"
} {
"id": 66120,
"matter_id": 1042890,
"subject": "First meeting",
"created_at": "2026-11-05T10:12:00Z"
} Returns calendar entries starting inside the range, earliest first, with summary, start, end, location and the matter they belong to.
MCP callclio_read → list_calendar_entries
REST endpointGET https://cotlet.dev/api/v1/clio/calendar-entries
| Name | Type | Description |
|---|---|---|
| from date required | date | First day of the range. |
| to date required | date | Last day of the range. |
| matter_id integer | integer | Only entries on this matter. |
| cursor string | string | Next page cursor from the previous call. |
{
"from": "2026-10-01",
"to": "2026-10-01"
} {
"calendar_entries": [
{
"id": 90412,
"summary": "Filing deadline",
"start_at": "2026-12-12T09:00:00",
"end_at": "2026-12-12T09:30:00",
"matter_id": 1042871,
"location": ""
}
],
"next_cursor": null
} Creates a calendar entry with a summary, a start and an end, and links it to a matter when you pass one. Attendees you add see it in their Clio calendar. Returns the new entry. By default you confirm each call; you can switch that off for this tool.
MCP callclio_write → create_calendar_entry
REST endpointPOST https://cotlet.dev/api/v1/clio/calendar-entries
| Name | Type | Description |
|---|---|---|
| summary string required | string | Title of the entry. |
| start_at datetime required | datetime | Start, for example 2026-12-12T09:00:00. |
| end_at datetime required | datetime | End, same format as start_at. |
| matter_id integer | integer | Matter the entry belongs to. |
| location string | string | Where it takes place. |
{
"summary": "summary",
"start_at": "2026-10-01T09:00:00Z",
"end_at": "2026-10-01T09:00:00Z"
} {
"id": 90431,
"summary": "Filing deadline",
"start_at": "2026-12-12T09:00:00",
"end_at": "2026-12-12T09:30:00",
"matter_id": 1042871
} Your logged-in Clio profile, encrypted with AES-256-GCM, in Finland. Not the password.
The 13 Clio tools. Never the cookie or your login.
What your Clio role sees: matters, contacts, time, tasks, bills.
Generating bills, trust accounting, users, settings and deleting.
You sign in again in your own browser, with your two-step verification. We never type it.
Disable for agents, reset the browser, or sign out in Clio.
Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory (live results).
You sign in with your own Clio login, so the agent sees and changes only what that login can. Clio's docs say a user can only see matters their role and permissions allow (Matters guide, 6 Nov 2026). A matter you cannot open fails with a permission error.
Time entries, tasks, notes and calendar entries show up in Clio the way your own do, under your name. Writes that others will see wait for your OK.
When a Clio screen moves or a field is renamed, the fix happens on our side and your prompts keep working. status.cotlet.dev watches the site, console and API every 3 minutes.
| Action | Undo |
|---|---|
| Log a time entry | Fix it in Clio; no Cotlet tool deletes it |
| Create a task | Fix it in Clio; the assignee already sees it |
| Complete a task | Reopen it in Clio, not with this tool |
| Add a matter note | Fix it in Clio; everyone with access to the matter sees it |
| Create a calendar entry | Fix it in Clio; attendees you added already see it |
| Change a matter status | Set the old status again with the same tool |
All 6 write tools ask first: create_time_entry, create_task, complete_task, create_matter_note, create_calendar_entry, update_matter_status. Reads reach nobody and run at once. Switch the wait off per tool for a scheduled run.
Clio records the open, pending or close date when a status changes, so check the date before you let the agent move matters.
{
"name": "create_time_entry",
"arguments": {
"matter_id": 1042871,
"date": "2026-11-05",
"hours": 1.5,
"description": "Call with opposing counsel"
}
} curl -X POST https://cotlet.dev/api/v1/clio/matters/1042871/time-entries \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2026-11-05","hours":1.5,"description":"Call with opposing counsel"}' {
"id": 7730455,
"matter_id": 1042871,
"date": "2026-11-05",
"hours": 1.5,
"description": "Call with opposing counsel",
"user": "Dana Cole"
} Scripts and cron jobs reach the same tools over REST at /api/v1/clio, with the same key and price. A write over REST waits for your OK too and answers 202 until you approve it. A failed call costs nothing. The tools table lists the REST path of each tool.
About $20 a monthfor one lawyer with one Clio login, 3,440 credits. Your Clio plan is billed by Clio as before.
| Job | Calls | Credits |
|---|---|---|
| Log time from day notes, daily | 5 × 20 | 1,000 |
| Overdue tasks, daily | 2 × 20 | 400 |
| Digest of open matters, weekly | 3 × 4 | 120 |
| Time check before billing, 4 matters | 3 × 4 | 120 |
| File setup for a new matter | 6 × 3 | 180 |
| Court date on the calendar | 2 × 6 | 120 |
| Cloud Browser, 30 days | 1,500 | |
| Total | 3,440 |
The month is our example: 20 working days and about 4 time entries a day. Clio projects the average lawyer's billable time at 42.2% of an eight-hour day in 2026, about 3.4 hours (Above the Law on Clio's 2026 Legal Trends Report, 6 Nov 2026). No public figure for matters or tasks per lawyer exists, so those counts are our assumption. Dollars at the $29 pack rate.
| Credits | Price, one time | Calls at 10 credits | Per 1,000 credits |
|---|---|---|---|
| 5,000 | $29 | 500 | $5.80 |
| 15,000 | $79 | 1,500 | $5.27 |
| 32,000 | $149 | 3,200 | $4.66 |
| 60,000 | $249 | 6,000 | $4.15 |
Only successful calls use credits; failed calls and timeouts cost nothing. At a balance of 0 calls pause, never a surprise charge. Authenticate with the Authorization: Bearer header.
| Option | What it does | Where it stops |
|---|---|---|
| oktopeak/clio-mcp | MIT, Node. 37 tools per its README, 12 of them writes, with a read-only switch. 27 stars, last commit 3 Nov 2026. The vendor also deploys it for a firm, $300 a month. | You register your own Clio developer app and run it, on your computer by default. |
| lawyered0/clio-mcp | MIT, Python. 10 tools: contacts, matters, flat-fee matter setup, activities. 8 stars, last commit 5 Nov 2026. | Your own developer app. No tasks or calendar tools. |
| ToddHebebrand/ClioMCP | About 46 tools in seven groups per its README. 0 stars, last commit 12 Aug 2026. | No license file. You host it with your own OAuth setup. |
| Zapier MCP for Clio | Hosted. Actions such as create time entry, create task, create matter, update matter and create matter note, plus instant triggers in the Zapier app. | Zapier's list of actions and fields, and a Zapier account. |
| Elaichi | Hosted MCP with 304 Clio Manage tools per its page, for Claude, ChatGPT, Cursor and Copilot. $15 per user per month on its Gold plan, 14-day trial. | Priced per user and built for company teams with admin controls. |
| Clio's own MCP server | Hosted by Clio at mcp.api.clio.com/mcp with Clio Identity sign-in. Legal research with Vincent plus matter records. | Needs a Clio Work license. Claude and Codex, per the write-up of 2 Nov 2026. |
Clio's own server fits a firm that already has Clio Work and wants research and drafting. The GitHub servers fit someone who is happy to register a developer app and run one. Cotlet is for the lawyer or firm admin who wants the same matter jobs inside ChatGPT or Claude, under their own login, with no developer app, no Clio Work license and one account for the other apps they use.
Take Group sp. z o.o. runs Cotlet. It is a software company registered in Poland, EU (VAT PL6342984273), working since 2019, founded by Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Write to contact@cotlet.dev with questions about the Clio tools.
Sign up at cotlet.dev, log in to Clio once in its Cloud Browser and add Cotlet to ChatGPT or Claude, following the steps in your console. No API key is needed. ChatGPT and Claude then work in your Clio account through Cotlet, in their phone apps too.
With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in Clio: log time from your day notes; send a weekly status digest per matter; chase overdue tasks. You ask in plain words, and anything that reaches other people waits for your OK first.
Yes (checked 6 Nov 2026). Clio hosts one at mcp.api.clio.com/mcp, with Clio Identity sign-in and read and write scopes, and a third-party write-up of Clio's help article (2 Nov 2026) says it needs a Clio Work license and is listed in Claude's directory since October 2026. Its focus is legal research with Vincent, plus matter status, tasks, calendar and time.
Create a free account at https://cotlet.dev, open Clio under Integrations in the console and log in to Clio in its Cloud Browser. The trial starts with your first app, no card asked.
Sign up at cotlet.dev, log in to Clio once in its Cloud Browser and add Cotlet to ChatGPT or Claude, following the steps in your console. No API key is needed. ChatGPT and Claude then work in your Clio account through Cotlet, in their phone apps too.
With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in Clio: log time from your day notes; send a weekly status digest per matter; chase overdue tasks. You ask in plain words, and anything that reaches other people waits for your OK first.
No. Cotlet works through your own Clio login, so you register no developer application and need no Clio Work license. Clio's API needs a developer application with OAuth 2.0 (Clio Developers), and Clio's MCP plugin is for Vincent and Clio Work customers (Clio press, 17 Sep 2026).
No. What your agent sees follows the role and permissions of the Clio account you sign in with. Clio's own API limits results the same way (Clio Developers, Matters guide). A call on a matter you cannot open fails with APP_PERMISSION_DENIED.
Yes, in the API (Clio Developers, 6 Nov 2026): matters, tasks, activities, bills, calendar entries and more can send created, updated and deleted events. The Cotlet tools do not receive them. Run your agent on a schedule instead, for example a daily list_tasks pass.
Yes. Cotlet is hosted, so the chat apps reach it by the shared address. Nothing runs on your computer.
Yes. Call Cotlet's REST API from a script or an HTTP step in n8n or Make with your Cotlet key. The same tools, inputs and price as MCP.
No. Cotlet is independent and not affiliated with Clio or Themis Solutions Inc.
Free 7-day trial with 2,000 credits, no card needed.
May we use Google Analytics to see which pages help people? It sets cookies only if you accept. No ads, and we never sell data. Cookie policy