MCP action reference
Every PdfParse MCP action, its OAuth scope, parameters, and input and output schemas.
The server exposes 28 actions. This reference is generated from its actual MCP tools/list response.
See Connect to MCP and Usage examples. Download the machine-readable catalog.
All actions
| Action | OAuth scope | Behavior |
|---|---|---|
connection.profile | mcp:read | Read |
connection.info | mcp:read | Read |
projects.create | mcp:write | Creates or runs |
inboxes.list | mcp:read | Read |
workflow.setup | mcp:write | Creates or runs |
tables.list | mcp:read | Read |
tables.create | mcp:write | Creates or runs |
routing_rules.list | mcp:read | Read |
routing_rules.create | mcp:write | Creates or runs |
routing_rules.update | mcp:write | Changes existing configuration |
routing_rules.delete | mcp:write | Changes existing configuration |
splitters.list | mcp:read | Read |
splitters.get | mcp:read | Read |
splitters.create_logical | mcp:write | Creates or runs |
splitters.update_logical | mcp:write | Changes existing configuration |
splitters.create_page_range | mcp:write | Creates or runs |
splitters.update_page_range | mcp:write | Changes existing configuration |
splitters.test_page_range | mcp:read | Read |
splitters.publish | mcp:write | Changes existing configuration |
splitters.run_page_range | mcp:write | Creates or runs |
splitters.archive | mcp:write | Changes existing configuration |
rows.search | mcp:read | Read |
jobs.create | mcp:write | Creates or runs |
jobs.get | mcp:read | Read |
documents.upload | mcp:write | Creates or runs |
documents.upload_file | mcp:write | Creates or runs |
analysis.crosscheck | mcp:read | Read |
analysis.credit_memo | mcp:read | Read |
connection profile
Action: connection.profile
Identify the connected PdfParse account using its stable, opaque account ID.
OAuth scope: mcp:read.
Parameters
| Parameter | Required | Type |
|---|---|---|
| None | — | — |
Input schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"additionalProperties": false
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
}
},
"required": [
"id"
],
"additionalProperties": false
}connection info
Action: connection.info
Show the PdfParse account and projects available to this connection.
OAuth scope: mcp:read.
Parameters
| Parameter | Required | Type |
|---|---|---|
| None | — | — |
Input schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"user_id": {
"type": "string"
},
"projects": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
}
},
"required": [
"id",
"name",
"slug"
],
"additionalProperties": false
}
}
},
"required": [
"user_id",
"projects"
],
"additionalProperties": false
}projects create
Action: projects.create
Create an empty project in the connected PdfParse account. Returns its ID and slug for subsequent table and workflow setup.
OAuth scope: mcp:write.
Parameters
| Parameter | Required | Type |
|---|---|---|
name | Yes | string |
Input schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"type": "string",
"minLength": 2,
"maxLength": 100
}
},
"required": [
"name"
],
"additionalProperties": false
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"project": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"slug": {
"type": "string",
"minLength": 1
}
},
"required": [
"id",
"slug"
],
"additionalProperties": false
}
},
"required": [
"project"
],
"additionalProperties": false
}inboxes list
Action: inboxes.list
List existing email inboxes in projects you own, including inbox IDs needed to bind a logical splitter.
OAuth scope: mcp:read.
Parameters
| Parameter | Required | Type |
|---|---|---|
project_slug | No | string |
Input schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"project_slug": {
"type": "string",
"minLength": 1
}
}
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"inboxes": {}
},
"required": [
"inboxes"
],
"additionalProperties": false
}workflow setup
Action: workflow.setup
Set up a PdfParse workflow in an existing owned project. Supply a structured intent with the project existing_slug, table, routing rule, optional inbox and logical splitter. Never creates a project. Set dry_run to preview. Repeating the same intent resumes saved progress.
OAuth scope: mcp:write.
Parameters
| Parameter | Required | Type |
|---|---|---|
dry_run | No | boolean |
goal | Yes | string |
project | Yes | object |
table | Yes | object |
routing_rule | Yes | object |
inbox | No | object |
logical_splitter | No | object |
Input schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"dry_run": {
"default": false,
"type": "boolean"
},
"goal": {
"type": "string",
"minLength": 10,
"maxLength": 2000
},
"project": {
"type": "object",
"properties": {
"existing_slug": {
"type": "string",
"minLength": 1
}
},
"required": [
"existing_slug"
],
"additionalProperties": false
},
"table": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"columns": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"prompt": {
"type": "string"
},
"primaryKey": {
"type": "boolean"
},
"unique": {
"type": "boolean"
},
"autoIncrement": {
"type": "boolean"
},
"nullable": {
"type": "boolean"
},
"reanalyzeExisting": {
"type": "boolean"
},
"type": {
"type": "string",
"enum": [
"text",
"number",
"date",
"boolean",
"foreign_key"
]
},
"referencedTable": {
"type": "string"
},
"referencedColumn": {
"type": "string"
},
"parentTable": {
"type": "string"
}
},
"required": [
"name",
"prompt"
]
}
}
},
"required": [
"name",
"columns"
]
},
"routing_rule": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 2,
"maxLength": 100
},
"prompt": {
"type": "string",
"minLength": 10
},
"confidenceThreshold": {
"type": "integer",
"minimum": 60,
"maximum": 100
},
"enabled": {
"type": "boolean"
}
},
"required": [
"name",
"prompt"
]
},
"inbox": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"routing": {
"default": "classify",
"type": "string",
"enum": [
"classify",
"direct"
]
},
"sender_allowlist": {
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"address",
"domain"
]
},
"value": {
"type": "string",
"minLength": 1
}
},
"required": [
"type",
"value"
]
}
}
},
"required": [
"name"
]
},
"logical_splitter": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"instructions": {
"type": "string",
"minLength": 10,
"maxLength": 4000
},
"section_types": {
"maxItems": 50,
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]{1,63}$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"description": {
"type": "string",
"maxLength": 500
}
},
"required": [
"key",
"name"
]
}
},
"review_uncertain_boundaries": {
"default": true,
"type": "boolean"
},
"review_uncertain_destinations": {
"default": true,
"type": "boolean"
}
},
"required": [
"name",
"instructions",
"section_types"
]
}
},
"required": [
"goal",
"project",
"table",
"routing_rule"
]
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"preview",
"active",
"in_progress"
]
},
"goal": {
"type": "string"
},
"setup_id": {
"type": "string"
}
},
"required": [
"status",
"goal"
],
"additionalProperties": {}
}tables list
Action: tables.list
List tables in a project you own. Supply project_slug if your account has multiple projects.
OAuth scope: mcp:read.
Parameters
| Parameter | Required | Type |
|---|---|---|
project_slug | No | string |
Input schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"project_slug": {
"type": "string",
"minLength": 1
}
}
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"tables": {}
},
"required": [
"tables"
],
"additionalProperties": false
}tables create
Action: tables.create
Create a table with extraction columns in a project you own. An integer primary key named id is added automatically and generated by the database during extraction; do not include it in extraction columns.
OAuth scope: mcp:write.
Parameters
| Parameter | Required | Type |
|---|---|---|
project_slug | No | string |
name | Yes | string |
columns | Yes | array |
Input schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"project_slug": {
"type": "string",
"minLength": 1
},
"name": {
"type": "string",
"minLength": 1
},
"columns": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"prompt": {
"type": "string"
},
"primaryKey": {
"type": "boolean"
},
"unique": {
"type": "boolean"
},
"autoIncrement": {
"type": "boolean"
},
"nullable": {
"type": "boolean"
},
"reanalyzeExisting": {
"type": "boolean"
},
"type": {
"type": "string",
"enum": [
"text",
"number",
"date",
"boolean",
"foreign_key"
]
},
"referencedTable": {
"type": "string"
},
"referencedColumn": {
"type": "string"
},
"parentTable": {
"type": "string"
}
},
"required": [
"name",
"prompt"
]
}
}
},
"required": [
"name",
"columns"
]
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"table": {}
},
"required": [
"table"
],
"additionalProperties": false
}routing_rules list
Action: routing_rules.list
List document classification rules and their destination tables in a project.
OAuth scope: mcp:read.
Parameters
| Parameter | Required | Type |
|---|---|---|
project_slug | No | string |
Input schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"project_slug": {
"type": "string",
"minLength": 1
}
}
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"routing_rules": {}
},
"required": [
"routing_rules"
],
"additionalProperties": false
}routing_rules create
Action: routing_rules.create
Create a rule that recognizes a document type and routes it to an extraction table. The table must belong to this project.
OAuth scope: mcp:write.
Parameters
| Parameter | Required | Type |
|---|---|---|
project_slug | No | string |
name | Yes | string |
prompt | Yes | string |
confidenceThreshold | No | integer |
tableId | Yes | string |
enabled | No | boolean |
Input schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"project_slug": {
"type": "string",
"minLength": 1
},
"name": {
"type": "string",
"minLength": 2,
"maxLength": 100
},
"prompt": {
"type": "string",
"minLength": 10
},
"confidenceThreshold": {
"type": "integer",
"minimum": 60,
"maximum": 100
},
"tableId": {
"type": "string",
"minLength": 1
},
"enabled": {
"type": "boolean"
}
},
"required": [
"name",
"prompt",
"tableId"
]
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"routing_rule": {}
},
"required": [
"routing_rule"
],
"additionalProperties": false
}routing_rules update
Action: routing_rules.update
Change a routing rule, including its prompt, destination, confidence threshold, or enabled state.
OAuth scope: mcp:write.
Parameters
| Parameter | Required | Type |
|---|---|---|
project_slug | No | string |
rule_id | Yes | string |
name | No | string |
prompt | No | string |
confidenceThreshold | No | integer |
tableId | No | string |
enabled | No | boolean |
Input schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"project_slug": {
"type": "string",
"minLength": 1
},
"rule_id": {
"type": "string",
"minLength": 1
},
"name": {
"type": "string",
"minLength": 2,
"maxLength": 100
},
"prompt": {
"type": "string",
"minLength": 10
},
"confidenceThreshold": {
"type": "integer",
"minimum": 60,
"maximum": 100
},
"tableId": {
"type": "string",
"minLength": 1
},
"enabled": {
"type": "boolean"
}
},
"required": [
"rule_id"
]
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"routing_rule": {}
},
"required": [
"routing_rule"
],
"additionalProperties": false
}routing_rules delete
Action: routing_rules.delete
Delete a routing rule from a project.
OAuth scope: mcp:write.
Parameters
| Parameter | Required | Type |
|---|---|---|
project_slug | No | string |
rule_id | Yes | string |
Input schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"project_slug": {
"type": "string",
"minLength": 1
},
"rule_id": {
"type": "string",
"minLength": 1
}
},
"required": [
"rule_id"
]
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"result": {}
},
"required": [
"result"
],
"additionalProperties": false
}splitters list
Action: splitters.list
List page-range and logical splitters, including drafts and published versions, in a project.
OAuth scope: mcp:read.
Parameters
| Parameter | Required | Type |
|---|---|---|
project_slug | No | string |
Input schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"project_slug": {
"type": "string",
"minLength": 1
}
}
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"splitters": {}
},
"required": [
"splitters"
],
"additionalProperties": false
}splitters get
Action: splitters.get
Inspect a splitter draft and its published versions.
OAuth scope: mcp:read.
Parameters
| Parameter | Required | Type |
|---|---|---|
project_slug | No | string |
splitter_id | Yes | string |
Input schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"project_slug": {
"type": "string",
"minLength": 1
},
"splitter_id": {
"type": "string",
"minLength": 1
}
},
"required": [
"splitter_id"
]
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"splitter": {}
},
"required": [
"splitter"
],
"additionalProperties": false
}splitters create_logical
Action: splitters.create_logical
Create a logical splitter draft for mixed PDF attachments. sourceInboxId binds it to one inbox; null applies to project uploads. Routing uses project routing rules. Publish the draft to activate it.
OAuth scope: mcp:write.
Parameters
| Parameter | Required | Type |
|---|---|---|
project_slug | No | string |
name | Yes | string |
description | No | union |
config | Yes | object |
Input schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"project_slug": {
"type": "string",
"minLength": 1
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 500
},
{
"type": "null"
}
]
},
"config": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"const": "logical"
},
"sourceInboxId": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "null"
}
]
},
"instructions": {
"type": "string",
"minLength": 10,
"maxLength": 4000
},
"sectionTypes": {
"maxItems": 50,
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]{1,63}$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"description": {
"type": "string",
"maxLength": 500
}
},
"required": [
"key",
"name"
]
}
},
"routingMode": {
"type": "string",
"const": "project_rules"
},
"reviewUncertainBoundaries": {
"type": "boolean"
},
"reviewUncertainDestinations": {
"type": "boolean"
},
"boundaryConfidenceThreshold": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"maxSegments": {
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"mode",
"sourceInboxId",
"instructions",
"sectionTypes",
"routingMode",
"reviewUncertainBoundaries",
"reviewUncertainDestinations"
]
}
},
"required": [
"name",
"config"
]
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"splitter": {}
},
"required": [
"splitter"
],
"additionalProperties": false
}splitters update_logical
Action: splitters.update_logical
Update a logical splitter draft using the revision returned by splitters.get.
OAuth scope: mcp:write.
Parameters
| Parameter | Required | Type |
|---|---|---|
project_slug | No | string |
splitter_id | Yes | string |
expected_draft_revision | Yes | integer |
name | Yes | string |
description | No | union |
config | Yes | object |
Input schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"project_slug": {
"type": "string",
"minLength": 1
},
"splitter_id": {
"type": "string",
"minLength": 1
},
"expected_draft_revision": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 500
},
{
"type": "null"
}
]
},
"config": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"const": "logical"
},
"sourceInboxId": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "null"
}
]
},
"instructions": {
"type": "string",
"minLength": 10,
"maxLength": 4000
},
"sectionTypes": {
"maxItems": 50,
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]{1,63}$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"description": {
"type": "string",
"maxLength": 500
}
},
"required": [
"key",
"name"
]
}
},
"routingMode": {
"type": "string",
"const": "project_rules"
},
"reviewUncertainBoundaries": {
"type": "boolean"
},
"reviewUncertainDestinations": {
"type": "boolean"
},
"boundaryConfidenceThreshold": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"maxSegments": {
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"mode",
"sourceInboxId",
"instructions",
"sectionTypes",
"routingMode",
"reviewUncertainBoundaries",
"reviewUncertainDestinations"
]
}
},
"required": [
"splitter_id",
"expected_draft_revision",
"name",
"config"
]
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"splitter": {}
},
"required": [
"splitter"
],
"additionalProperties": false
}splitters create_page_range
Action: splitters.create_page_range
Create a splitter draft with fixed page ranges and project-owned destination tables.
OAuth scope: mcp:write.
Parameters
| Parameter | Required | Type |
|---|---|---|
project_slug | No | string |
name | Yes | string |
description | No | string |
config | Yes | object |
Input schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"project_slug": {
"type": "string",
"minLength": 1
},
"name": {
"type": "string",
"minLength": 2,
"maxLength": 100
},
"description": {
"type": "string",
"maxLength": 1000
},
"config": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"const": "page_range"
},
"overlap_policy": {
"type": "string",
"enum": [
"exclusive",
"allowed"
]
},
"unassigned_policy": {
"type": "string",
"enum": [
"review",
"ignore",
"fallback"
]
},
"fallback_section_key": {
"type": "string"
},
"max_segments": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"sections": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"section_key": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]{1,63}$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"description": {
"type": "string",
"maxLength": 1000
},
"destination_table_id": {
"type": "string",
"minLength": 1
},
"page_spans": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"start_page": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"end_page": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"start_page",
"end_page"
]
}
}
},
"required": [
"section_key",
"name",
"destination_table_id",
"page_spans"
]
}
}
},
"required": [
"sections"
]
}
},
"required": [
"name",
"config"
]
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"splitter": {}
},
"required": [
"splitter"
],
"additionalProperties": false
}splitters update_page_range
Action: splitters.update_page_range
Update a fixed page-range splitter draft using its current draft revision.
OAuth scope: mcp:write.
Parameters
| Parameter | Required | Type |
|---|---|---|
project_slug | No | string |
splitter_id | Yes | string |
expected_draft_revision | Yes | integer |
name | No | string |
description | No | union |
config | No | object |
Input schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"project_slug": {
"type": "string",
"minLength": 1
},
"splitter_id": {
"type": "string",
"minLength": 1
},
"expected_draft_revision": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"name": {
"type": "string",
"minLength": 2,
"maxLength": 100
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 1000
},
{
"type": "null"
}
]
},
"config": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"const": "page_range"
},
"overlap_policy": {
"type": "string",
"enum": [
"exclusive",
"allowed"
]
},
"unassigned_policy": {
"type": "string",
"enum": [
"review",
"ignore",
"fallback"
]
},
"fallback_section_key": {
"type": "string"
},
"max_segments": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"sections": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"section_key": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]{1,63}$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"description": {
"type": "string",
"maxLength": 1000
},
"destination_table_id": {
"type": "string",
"minLength": 1
},
"page_spans": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"start_page": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"end_page": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"start_page",
"end_page"
]
}
}
},
"required": [
"section_key",
"name",
"destination_table_id",
"page_spans"
]
}
}
},
"required": [
"sections"
]
}
},
"required": [
"splitter_id",
"expected_draft_revision"
]
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"splitter": {}
},
"required": [
"splitter"
],
"additionalProperties": false
}splitters test_page_range
Action: splitters.test_page_range
Preview page assignments and review flags for a fixed page-range splitter without saving a run.
OAuth scope: mcp:read.
Parameters
| Parameter | Required | Type |
|---|---|---|
project_slug | No | string |
splitter_id | Yes | string |
page_count | Yes | integer |
version | No | integer |
Input schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"project_slug": {
"type": "string",
"minLength": 1
},
"splitter_id": {
"type": "string",
"minLength": 1
},
"page_count": {
"type": "integer",
"minimum": 1,
"maximum": 10000
},
"version": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"splitter_id",
"page_count"
]
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"preview": {}
},
"required": [
"preview"
],
"additionalProperties": false
}splitters publish
Action: splitters.publish
Publish a splitter draft. A logical splitter becomes active for its source inbox or project uploads.
OAuth scope: mcp:write.
Parameters
| Parameter | Required | Type |
|---|---|---|
project_slug | No | string |
splitter_id | Yes | string |
expected_draft_revision | Yes | integer |
Input schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"project_slug": {
"type": "string",
"minLength": 1
},
"splitter_id": {
"type": "string",
"minLength": 1
},
"expected_draft_revision": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"splitter_id",
"expected_draft_revision"
]
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"publication": {}
},
"required": [
"publication"
],
"additionalProperties": false
}splitters run_page_range
Action: splitters.run_page_range
Run a published fixed page-range splitter on a document in this project.
OAuth scope: mcp:write.
Parameters
| Parameter | Required | Type |
|---|---|---|
project_slug | No | string |
splitter_id | Yes | string |
document_id | Yes | integer |
version | No | integer |
Input schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"project_slug": {
"type": "string",
"minLength": 1
},
"splitter_id": {
"type": "string",
"minLength": 1
},
"document_id": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"version": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
"required": [
"splitter_id",
"document_id"
]
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"run": {}
},
"required": [
"run"
],
"additionalProperties": false
}splitters archive
Action: splitters.archive
Archive a splitter to stop using it for future documents.
OAuth scope: mcp:write.
Parameters
| Parameter | Required | Type |
|---|---|---|
project_slug | No | string |
splitter_id | Yes | string |
Input schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"project_slug": {
"type": "string",
"minLength": 1
},
"splitter_id": {
"type": "string",
"minLength": 1
}
},
"required": [
"splitter_id"
]
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"result": {}
},
"required": [
"result"
],
"additionalProperties": false
}rows search
Action: rows.search
Query extracted rows from a table in a project you own.
OAuth scope: mcp:read.
Parameters
| Parameter | Required | Type |
|---|---|---|
project_slug | No | string |
table_id | Yes | string |
filters | No | array |
orderBy | No | object |
page | No | integer |
pageSize | No | integer |
Input schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"project_slug": {
"type": "string",
"minLength": 1
},
"table_id": {
"type": "string",
"minLength": 1
},
"filters": {
"type": "array",
"items": {
"type": "object",
"properties": {
"column": {
"type": "string",
"minLength": 1
},
"op": {
"type": "string",
"enum": [
"eq",
"ne",
"gt",
"gte",
"lt",
"lte",
"like",
"in"
]
},
"value": {}
},
"required": [
"column",
"op",
"value"
]
}
},
"orderBy": {
"type": "object",
"properties": {
"column": {
"type": "string"
},
"direction": {
"type": "string",
"enum": [
"asc",
"desc"
]
}
},
"required": [
"column",
"direction"
]
},
"page": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"pageSize": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
}
},
"required": [
"table_id"
]
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"rows": {}
},
"required": [
"rows"
],
"additionalProperties": false
}jobs create
Action: jobs.create
Start extraction for documents already uploaded to a table.
OAuth scope: mcp:write.
Parameters
| Parameter | Required | Type |
|---|---|---|
project_slug | No | string |
tableSlug | Yes | string |
documentKeys | Yes | array |
Input schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"project_slug": {
"type": "string",
"minLength": 1
},
"tableSlug": {
"type": "string",
"minLength": 1
},
"documentKeys": {
"minItems": 1,
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"tableSlug",
"documentKeys"
]
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"job": {}
},
"required": [
"job"
],
"additionalProperties": false
}jobs get
Action: jobs.get
Get an extraction job in a project you own.
OAuth scope: mcp:read.
Parameters
| Parameter | Required | Type |
|---|---|---|
project_slug | No | string |
job_id | Yes | integer |
Input schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"project_slug": {
"type": "string",
"minLength": 1
},
"job_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"job_id"
]
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"job": {}
},
"required": [
"job"
],
"additionalProperties": false
}documents upload
Action: documents.upload
Upload a PDF from base64 file bytes, then save and route it for extraction. Maximum 8 MiB.
OAuth scope: mcp:write.
Parameters
| Parameter | Required | Type |
|---|---|---|
project_slug | No | string |
filename | Yes | string |
data_base64 | Yes | string |
tableSlug | No | string |
Input schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"project_slug": {
"type": "string",
"minLength": 1
},
"filename": {
"type": "string",
"minLength": 1,
"maxLength": 255
},
"data_base64": {
"type": "string",
"minLength": 1,
"maxLength": 11200000
},
"tableSlug": {
"type": "string",
"minLength": 1,
"maxLength": 255
}
},
"required": [
"filename",
"data_base64"
]
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"uploadId": {
"type": "string"
},
"fileId": {
"type": "string"
},
"status": {
"type": "string"
}
},
"required": [
"uploadId",
"fileId",
"status"
],
"additionalProperties": false
}documents upload_file
Action: documents.upload_file
Upload a user-selected ChatGPT PDF attachment, save it, and route it for extraction. Maximum 8 MiB. Use documents.upload for base64 bytes from Codex.
OAuth scope: mcp:write.
Parameters
| Parameter | Required | Type |
|---|---|---|
project_slug | No | string |
file | Yes | object |
tableSlug | No | string |
Input schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"project_slug": {
"type": "string",
"minLength": 1
},
"file": {
"type": "object",
"properties": {
"download_url": {
"type": "string",
"format": "uri"
},
"file_id": {
"type": "string",
"minLength": 1,
"maxLength": 255
},
"mime_type": {
"type": "string"
},
"file_name": {
"type": "string",
"maxLength": 255
}
},
"required": [
"download_url",
"file_id"
],
"additionalProperties": false
},
"tableSlug": {
"type": "string",
"minLength": 1,
"maxLength": 255
}
},
"required": [
"file"
]
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"uploadId": {
"type": "string"
},
"fileId": {
"type": "string"
},
"status": {
"type": "string"
}
},
"required": [
"uploadId",
"fileId",
"status"
],
"additionalProperties": false
}analysis crosscheck
Action: analysis.crosscheck
Analyze extracted rows for consistency issues and underwriting risk contradictions.
OAuth scope: mcp:read.
Parameters
| Parameter | Required | Type |
|---|---|---|
project_slug | No | string |
table_id | Yes | string |
job_id | No | integer |
filters | No | array |
Input schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"project_slug": {
"type": "string",
"minLength": 1
},
"table_id": {
"type": "string",
"minLength": 1
},
"job_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"filters": {
"type": "array",
"items": {
"type": "object",
"properties": {
"column": {
"type": "string",
"minLength": 1
},
"op": {
"type": "string",
"enum": [
"eq",
"ne",
"gt",
"gte",
"lt",
"lte",
"like",
"in"
]
},
"value": {}
},
"required": [
"column",
"op",
"value"
]
}
}
},
"required": [
"table_id"
]
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"mismatches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"severity": {
"type": "string",
"enum": [
"low",
"medium",
"high"
]
},
"message": {
"type": "string"
},
"row_refs": {
"type": "array",
"items": {
"type": "string"
}
},
"source_refs": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"code",
"severity",
"message",
"row_refs",
"source_refs"
],
"additionalProperties": false
}
},
"summary": {
"type": "string"
}
},
"required": [
"mismatches",
"summary"
],
"additionalProperties": false
}analysis credit_memo
Action: analysis.credit_memo
Generate a first-pass commercial loan credit memo with citations from extracted data.
OAuth scope: mcp:read.
Parameters
| Parameter | Required | Type |
|---|---|---|
project_slug | No | string |
table_id | Yes | string |
job_id | No | integer |
memo_profile | Yes | string |
filters | No | array |
Input schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"project_slug": {
"type": "string",
"minLength": 1
},
"table_id": {
"type": "string",
"minLength": 1
},
"job_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"memo_profile": {
"type": "string",
"const": "commercial-loan-v1"
},
"filters": {
"type": "array",
"items": {
"type": "object",
"properties": {
"column": {
"type": "string",
"minLength": 1
},
"op": {
"type": "string",
"enum": [
"eq",
"ne",
"gt",
"gte",
"lt",
"lte",
"like",
"in"
]
},
"value": {}
},
"required": [
"column",
"op",
"value"
]
}
}
},
"required": [
"table_id",
"memo_profile"
]
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"risk_score": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"sections": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"content": {
"type": "string"
},
"citations": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"title",
"content",
"citations"
],
"additionalProperties": false
}
},
"assumptions": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"risk_score",
"sections",
"assumptions"
],
"additionalProperties": false
}