Sign in
Docs
0%

Transports

Client cases, part 1 of 2 MCP tools

The 12 tools /mcp offers for Client cases, part 1 of 2, what each needs and an example call.

Client cases, studies, their versions and lessons, and sharing them. These are 12 tools of the 24 tools of the cases backend (part 1 of 2; the others are part 2); all MCP tools lists the other backends.

cases_create_client_case

Create a client case. Cut a client case from a study. Text marked Draft, not approved is refused.

Scopes: mcp:write, cases:write · changes something

ArgumentTypeWhat it is
study_idstring
textobject
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "cases_create_client_case",
    "arguments": {}
  }
}

cases_create_share

Share a client case. Share a client case with a customer organisation or named people. It expires: 30 days unless asked, 365 at most. Customers sign in; there are no anonymous links.

Scopes: mcp:write, cases:share · changes something

ArgumentTypeWhat it is
case_idstring
expires_atstringRFC 3339, in the future. Optional: empty is 30 days from now (the configured default); later than 365 days (the configured maximum) is INVALID_ARGUMENT. Shares are signed-in only: no anonymous link exists.
granteestringAn account id for org; an email address for person.
grantee_kindstringorg or person.
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "cases_create_share",
    "arguments": {}
  }
}

cases_create_study

Create a case study. Create a study and its plan: either a new coordinator parent job is created, or an existing parent job of the same account with no parent of its own is attached. If the plan cannot be made, nothing is stored.

Scopes: mcp:write, cases:write · changes something

ArgumentTypeWhat it is
companystring
datestring
plan_idstringAttach an existing plan (a coordinator parent job of this account that has no parent of its own) instead of making one. Empty: CreateStudy files a new parent job through the coordinator. No plan, no study: if the coordinator cannot make or confirm the job, nothing is stored.
slugstring
statusstring
textobject
websitestring
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "cases_create_study",
    "arguments": {}
  }
}

cases_draft_lessons

Draft a study's lessons. Draft lessons from the corrections linked to the plan and its items. The result is labelled Draft, not approved; a person approves it.

Scopes: mcp:write, cases:write · changes something

ArgumentTypeWhat it is
study_idstring
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "cases_draft_lessons",
    "arguments": {}
  }
}

cases_extend_share

Extend a share. Move a live share's expiry later, never past 365 days from now.

Scopes: mcp:write, cases:share · changes something · safe to repeat

ArgumentTypeWhat it is
expires_atstringRFC 3339, later than the current expiry and within the maximum from now.
share_idstring
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "cases_extend_share",
    "arguments": {}
  }
}

cases_get_case_plan

Get a case's plan. The Planner plan behind a study or client case: its items with their status and the merged timeline of the plan and each item. A status resting on a stub reads unconfirmed. When the Planner cannot be read the answer says plan_unavailable and the case text is still returned.

Scopes: mcp:read, cases:read · reads only

ArgumentTypeWhat it is
case_idstring
study_idstringOne of the two.
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "cases_get_case_plan",
    "arguments": {}
  }
}

cases_get_client_case

Get a client case. One client case by id with its current text, published version and the plan it runs through.

Scopes: mcp:read, cases:read · reads only

ArgumentTypeWhat it is
case_idstring
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "cases_get_client_case",
    "arguments": {}
  }
}

cases_get_client_case_version

Get a client case version. One saved version of a client case with its text.

Scopes: mcp:read, cases:read · reads only

ArgumentTypeWhat it is
case_idstring
versioninteger
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "cases_get_client_case_version",
    "arguments": {}
  }
}

cases_get_lessons

Get a study's lessons. The lessons drafted from the plan's corrections, labelled Draft, not approved until a person approves them.

Scopes: mcp:read, cases:read · reads only

ArgumentTypeWhat it is
study_idstring
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "cases_get_lessons",
    "arguments": {}
  }
}

cases_get_study

Get a case study. One study by id with its current text, its plan id and its version. Internal; never shown to a customer.

Scopes: mcp:read, cases:read · reads only

ArgumentTypeWhat it is
study_idstring
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "cases_get_study",
    "arguments": {}
  }
}

cases_get_study_version

Get a study version. One saved version of a study with its text.

Scopes: mcp:read, cases:read · reads only

ArgumentTypeWhat it is
study_idstring
versioninteger
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "cases_get_study_version",
    "arguments": {}
  }
}

cases_list_client_case_versions

List a client case's versions. Every saved version of a client case, newest first.

Scopes: mcp:read, cases:read · reads only

ArgumentTypeWhat it is
case_idstring
page_sizeinteger
page_tokenstringThe next_page_token of the page before.
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "cases_list_client_case_versions",
    "arguments": {}
  }
}