Suparse MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SUPARSE_API_KEY | No | Your Suparse API key. Alternatively, you can store it in ~/.config/suparse/config.json. | |
| SUPARSE_API_URL | No | Optional API base URL to override the default. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| extract_fileA | Process one local file through Suparse. Defaults to result_mode defer: upload, wait for terminal processing, and return task_id/document_ids for later export. A partially_completed task retains its status. For an immediate task ID, use start_file_extraction, then wait_for_task_extraction and get_task_results. auto_approve defaults true; false requests human review, and this combined tool may wait and time out while review is pending. return_json preserves per-input task status and document IDs, reports partial tasks and empty exports as incomplete, and preserves exported data. cleanup is best-effort, allowed only with return_json, and requires a completed task and an export covering every requested document. |
| extract_folderA | Process sorted, immediate supported files in a local folder through Suparse (nonrecursive; directories are skipped). Defaults to result_mode defer: upload and wait for each task, retaining task status and document IDs. For task IDs before processing finishes, use start_folder_extraction. At most 10 files run concurrently. auto_approve defaults true; false requests human review, and this combined tool may wait and time out while review is pending. return_json preserves per-input task status and document IDs, reports partial tasks and empty exports as incomplete, and preserves exported data. cleanup is best-effort, allowed only with return_json, and requires a completed task and an export covering every requested document. |
| start_file_extractionA | Start background extraction of one local file; return task_id after upload confirmation without waiting for processing or exporting results. This confirms submission, not successful extraction. Use wait_for_task_extraction, then fetch_document_result for a returned document ID or download_results to save an export; get_task_results can inspect partial documents. Uploads may consume credits. On timeout, use any returned recovery task_id rather than uploading again. auto_approve defaults true; false requests human review, which MCP cannot perform or approve. The returned auto_approve echoes the requested option, not backend approval status. |
| start_folder_extractionA | Start background extraction of sorted supported files directly inside a local folder, skipping directories and subfolders. Returns one task_id per confirmed upload without waiting for processing or exporting. At most 10 uploads run concurrently. Use wait_for_task_extraction for each task, then fetch or download results using its document IDs. Uploads may consume credits. Inspect failed entries and recovery IDs before retrying; cancellation prevents new uploads, but submitted tasks may still run. Entries marked unstarted were not uploaded. auto_approve defaults true; false requests human review, which MCP cannot perform or approve. |
| wait_for_task_extractionA | Wait for an existing extraction task_id; returns status and document_ids, not extracted data. completed and partially_completed return successfully; failed and insufficient_credits produce errors. Partial completion is not success for every document. Use fetch_document_result or download_results with the returned document IDs. Defaults to poll_interval 2 seconds and max_poll_attempts 3; SDK backoff and retries mean this is not a strict wall-clock deadline. On polling timeout, call again with the same task_id rather than uploading again. This does not approve documents awaiting human review. |
| list_templatesA | Discover extraction templates; defaults to compact summary view with team templates only. Prefer a matching active team template and pass its id as template_id to extraction tools. Use view full to inspect schema and prompts. include_system true adds discovery-only system templates; MCP cannot add them to the team or use their IDs directly. If no template matches, omit template_id for auto-detection or use start_quick_schema_creation when schema creation is authorized. This tool does not create or modify templates. |
| start_quick_schema_creationA | Upload one local file to automatically create extraction schemas/templates; use when the user authorized schema creation, which may consume credits. Returns run_id for get_quick_schema_creation or wait_for_quick_schema_creation, not an extraction task_id or export_job_id. Completed runs return generated template IDs and saved document IDs; inspect those before submitting another extraction. Supply upload_batch_id and source_upload_id only when provided by an external batched-upload workflow; MCP does not create upload batches. Starting again can create duplicate work. |
| get_quick_schema_creationA | Check an existing quick-schema run_id once without waiting. Returns result.status and available progress, template IDs, saved document IDs, or failure details. If processing, call again later or use wait_for_quick_schema_creation. For completed results, use template_id for future extraction and saved_document_id or saved_documents[].document_id to fetch/download existing results. Do not start another schema-creation run just to check status. |
| wait_for_quick_schema_creationA | Wait for an existing quick-schema run_id until result.status is completed, completed_with_errors, or failed. Terminal failure is returned in result, so inspect status and failed_documents rather than assuming a successful tool call means full success. Returns generated template IDs and saved document IDs for future extraction or result retrieval. SDK defaults are 5 seconds between polls and 300 attempts; choose a smaller max_poll_attempts for short client timeouts. On polling timeout, check or wait on the same run_id rather than starting another run. |
| get_task_resultsA | Inspect one page of documents already available for an extraction task_id, including while processing. Each documents[].id is a document ID usable by fetch_document_result, fetch_json_results, or download_results; extraction_data contains that document's current data. Pass next_cursor as cursor with the same task_id to get the next page. next_cursor null ends this snapshot, not task processing; use wait_for_task_extraction to determine completion. To refresh later, omit cursor and deduplicate by document ID. This returns a page, not a complete export. |
| fetch_json_resultsA | Export one or more existing Suparse document IDs as JSON into the MCP response, grouped by task in results (task_id, original_file, total_documents_extracted, documents). Use fetch_document_result for a direct single-document read without submitting an export; use download_results for large results, local files, CSV, XLSX, or Google Sheets. This tool only exports JSON and does not unpack ZIP artifacts. On export timeout, retain export_job_id for the export-job tools or replay the identical export with its retained idempotency_key. Does not delete documents; cleanup is explicit through delete_documents. |
| fetch_document_resultA | Read structured JSON for one processed Suparse document_id directly, without submitting an export job or saving a local file. Returns task_id, original_file, total_documents_extracted, and documents containing extracted_data. Get document IDs from extraction results or get_task_results (documents[].id); do not substitute a task_id. Use fetch_json_results for a multi-document JSON export or download_results to save an export. Does not wait for extraction to finish. |
| download_resultsA | Export existing Suparse document IDs as JSON, CSV, XLSX, or Google Sheets to local disk. Returns output_path plus requested_format, artifact_format and content_type. Existing output files are overwritten: choose a new path unless replacement is intended. CSV/XLSX may return ZIP; its extension is corrected to .zip. Set unpack:true to also extract the separate files into a fresh folder and return output_paths. JSON is saved as parsed task groups. Google Sheets requires an immediate API response and saves metadata as JSON. For a known export_job_id use download_export_job to recover the original artifact. Does not delete remote documents. |
| get_export_jobA | Check one existing export_job_id from an export response or error recovery; this is not an extraction task_id or document_id. Returns job status, generated/excluded counts, error details, expiry, and artifact metadata without waiting or downloading. Use wait_for_export_job if still running, then download_export_job for a completed artifact. Inspect exclusions and errors before claiming all requested documents were exported. Status and format strings may include values unknown to this client. |
| wait_for_export_jobA | Wait for an existing export_job_id; does not submit an export or download its file. On completion, use download_export_job to save the artifact. Defaults to a 60000-millisecond completion wait including polling retries, not the full MCP call. On polling timeout, keep the export_job_id and call get_export_job or wait_for_export_job again instead of submitting another export. Failed, expired, or unsupported jobs may produce errors; inspect recovery details. |
| download_export_jobA | Save the artifact of an existing completed export_job_id to local disk, including after reconnecting. Preserves original bytes, including ZIP; does not parse JSON, unpack ZIP, wait for completion, or submit another export. Use get_export_job or wait_for_export_job first if needed. Verifies artifact size and SHA-256 before atomic publication. Returns output_path. overwrite defaults false; enable only when replacing a local file is intended. An expired artifact cannot be recovered by retrying this download. |
| delete_documentsA | Delete documents from Suparse remotely using document IDs, not task IDs, export job IDs, or local paths. Use only when deletion or cleanup is requested, after confirming any required results are safely saved. Deleted IDs cannot be used for later result retrieval or exports. Does not delete local input or exported files. Repeating deletion does not create new work, though its returned boolean may change. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
The set follows three clear async pipelines (extraction, quick-schema, export) with start/get/wait roles, and descriptions explicitly contrast overlapping tools like fetch_json_results vs fetch_document_result vs download_results. However, the combined extract_file/extract_folder vs start_file_extraction/start_folder_extraction pairs and the three result-fetching tools still require careful reading to tell apart.
All names are snake_case verb_noun with a predictable start/get/wait/get_task pattern across workflows. Minor deviations exist: 'file_extraction' is noun-first in start_file_extraction while the combined tool is extract_file, and the verb set spreads across start/wait_for/get/fetch/download/extract/list/delete.
17 tools is on the heavier side, but the domain genuinely requires separate start/wait/inspect/download stages for three distinct async pipelines plus template discovery and deletion. Each tool appears to earn its place, with little obvious redundancy.
The surface covers extraction, schema/template creation, result fetching, export job management, downloads, and deletion—a full lifecycle. Minor gaps remain, such as no explicit cancel-task tool (cancellation is mentioned only in descriptions) and no template editing beyond quick-schema creation.