get-all-legal-holds
Retrieve a comprehensive list of all legal holds for a specific case and organization within Miro MCP. Supports pagination and limit settings for efficient data handling in enterprise environments.
Instructions
Retrieves the list of all legal holds within a case (Enterprise only)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| caseId | Yes | The ID of the case for which you want to retrieve the list of legal holds | |
| cursor | No | Cursor for pagination | |
| limit | Yes | The maximum number of items in the result list | |
| orgId | Yes | The ID of the organization for which you want to retrieve the list of legal holds |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"caseId": {
"description": "The ID of the case for which you want to retrieve the list of legal holds",
"type": "string"
},
"cursor": {
"description": "Cursor for pagination",
"type": "string"
},
"limit": {
"description": "The maximum number of items in the result list",
"type": "number"
},
"orgId": {
"description": "The ID of the organization for which you want to retrieve the list of legal holds",
"type": "string"
}
},
"required": [
"limit",
"orgId",
"caseId"
],
"type": "object"
}
Implementation Reference
- src/tools/getAllLegalHolds.ts:15-27 (handler)The handler function that executes the tool logic: optionally adds cursor to query, calls MiroClient.getApi().getAllLegalHolds with provided parameters, formats and returns the response body as JSON, or handles errors.fn: async ({ limit, orgId, caseId, cursor }) => { try { const query: any = {}; if (cursor) query.cursor = cursor; const response = await MiroClient.getApi().getAllLegalHolds(limit, orgId, caseId, query); return ServerResponse.text(JSON.stringify(response.body, null, 2)); } catch (error) { process.stderr.write(`Error retrieving legal holds: ${error}\n`); return ServerResponse.error(error); } }
- src/tools/getAllLegalHolds.ts:9-14 (schema)Zod-based input schema defining the required and optional parameters for the tool: limit (number), orgId (string), caseId (string), cursor (optional string). Includes descriptions.args: { limit: z.number().describe("The maximum number of items in the result list"), orgId: z.string().describe("The ID of the organization for which you want to retrieve the list of legal holds"), caseId: z.string().describe("The ID of the case for which you want to retrieve the list of legal holds"), cursor: z.string().optional().nullish().describe("Cursor for pagination") },
- src/index.ts:204-204 (registration)The line in the ToolBootstrapper fluent chain that registers the get-all-legal-holds tool (imported as getLegalHoldsTool from './tools/getAllLegalHolds.js')..register(getLegalHoldsTool)
- src/index.ts:103-103 (registration)Import statement that loads the ToolSchema for the get-all-legal-holds tool from its dedicated file.import getLegalHoldsTool from './tools/getAllLegalHolds.js';