Skip to main content
The MCP server is in public beta. It is open to use and still being refined, so tools and behavior may change.
Tool run_playbook · Behavior Additive
Run a playbook (by id) against uploaded files (file_ids) and get structured check results. Files must be uploaded and ready first; the playbook must be completed. Pass check_ids to run a subset of checks, or omit to run all. Returns a job envelope, not final results: while status is pending or running, keep polling run_playbook_status with the returned job_id until status is succeeded (then result holds the check results).

Input parameters

string (uuid)
required
Playbook ID from GET /playbooks.
string (uuid)[]
required
IDs of uploaded files to review. Files must be in ready status. At least one file is required.
'first-party' | 'third-party'
Whose perspective the review takes. third-party reviews a counterparty document (default); first-party reviews your own. Defaults to "third-party".
string
Name of the party the review represents (default: “our company”). Defaults to "our company".
string (uuid)[]
Optional subset of check IDs to evaluate. Omit to run every check in the playbook.
string (uuid)
Optional company profile to ground the review in, so the checks have that company’s context (industry, jurisdiction, regulations, risk posture). Discover company profiles via GET /company-profiles.Opt-in: supply this to ground the review against a specific company. When omitted, the review runs with no company profile. This is separate from representing_party, which stays free text.

Response

string
Job identifier. Pass it to the matching *_status tool to poll.
'pending' | 'running' | 'succeeded' | 'failed' | 'canceled'
succeeded means result is populated; running/pending means poll again; failed/canceled are terminal.
object | null
Typed result when status is succeeded; null until then.
string
The exact tool to call to poll this job. Call it yourself with job_id; do not ask the user to poll.
number | null
While status is pending/running, wait this many seconds, then call status_tool with job_id. null once the job is terminal.
string
Plain-language next step. Follow it before responding.