list_tools
Discover available OCR processing tools for extracting text and tables from documents into structured formats.
Instructions
List available OCR tools.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "list_tools"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- src/mcp_mistral_ocr_opt/main.py:54-253 (handler)The `list_tools` function is registered as an MCP tool via the `@app.tool("list_tools")` decorator. It returns a list of available `Tool` definitions, which include the tools supported by the OCR server.
@app.tool("list_tools") async def list_tools() -> List[Tool]: """List available OCR tools.""" return [ Tool( name="process_local_file", description="Process a single local file from OCR_DIR with optional parameters", inputSchema={ "type": "object", "properties": { "filename": { "type": "string", "description": "Name of the file to process (relative to OCR_DIR)", }, "table_format": { "type": "string", "description": "Table formatting: null (inline), markdown, or html", "enum": ["null", "markdown", "html"], }, "extract_header": { "type": "boolean", "description": "Extract document headers (default: false)", }, "extract_footer": { "type": "boolean", "description": "Extract document footers (default: false)", }, "include_images": { "type": "boolean", "description": "Include base64 images in output (default: false for token efficiency)", }, }, "required": ["filename"], }, ), Tool( name="process_batch_local_files", description="Process multiple local files concurrently (optimal for 5+ files)", inputSchema={ "type": "object", "properties": { "patterns": { "type": "array", "items": {"type": "string"}, "description": "Glob patterns to match files (e.g., ['*.pdf', 'scanned_*.jpg'])", }, "max_files": { "type": "integer", "description": "Maximum number of files to process", }, "table_format": { "type": "string", "description": "Table formatting: null, markdown, or html", "enum": ["null", "markdown", "html"], }, "extract_header": { "type": "boolean", "description": "Extract document headers", }, "extract_footer": { "type": "boolean", "description": "Extract document footers", }, "include_images": { "type": "boolean", "description": "Include base64 images in output", }, }, "required": ["patterns"], }, ), Tool( name="process_url_file", description="Process a file from a URL", inputSchema={ "type": "object", "properties": { "url": { "type": "string", "description": "URL of the file to process", }, "file_type": { "type": "string", "description": "Type of file: 'image' or 'pdf'", "enum": ["image", "pdf"], }, "table_format": { "type": "string", "description": "Table formatting: null, markdown, or html", "enum": ["null", "markdown", "html"], }, "extract_header": { "type": "boolean", "description": "Extract document headers", }, "extract_footer": { "type": "boolean", "description": "Extract document footers", }, "include_images": { "type": "boolean", "description": "Include base64 images in output", }, }, "required": ["url", "file_type"], }, ), Tool( name="create_batch_job", description="Create a batch processing job for large file sets (saves up to 50% cost)", inputSchema={ "type": "object", "properties": { "patterns": { "type": "array", "items": {"type": "string"}, "description": "Glob patterns to match files", }, "use_inline": { "type": "boolean", "description": "Use inline batch (for <10k files) or file batch (for larger)", }, "table_format": { "type": "string", "description": "Table formatting: null, markdown, or html", "enum": ["null", "markdown", "html"], }, "extract_header": { "type": "boolean", "description": "Extract document headers", }, "extract_footer": { "type": "boolean", "description": "Extract document footers", }, "include_images": { "type": "boolean", "description": "Include base64 images in output", }, }, "required": ["patterns"], }, ), Tool( name="check_batch_status", description="Check the status of a batch processing job", inputSchema={ "type": "object", "properties": { "job_id": { "type": "string", "description": "Batch job ID", }, }, "required": ["job_id"], }, ), Tool( name="download_batch_results", description="Download results from a completed batch job", inputSchema={ "type": "object", "properties": { "job_id": { "type": "string", "description": "Batch job ID", }, }, "required": ["job_id"], }, ), Tool( name="cancel_batch_job", description="Cancel a running batch job", inputSchema={ "type": "object", "properties": { "job_id": { "type": "string", "description": "Batch job ID", }, }, "required": ["job_id"], }, ), Tool( name="list_batch_jobs", description="List batch jobs with optional filtering", inputSchema={ "type": "object", "properties": { "status": { "type": "string", "description": "Filter by status (QUEUED, RUNNING, SUCCESS, FAILED, etc.)", }, }, "required": [], }, ), ]