mindee

Turn PDFs and images into typed fields — invoices, receipts, IDs and custom models — via Mindee OCR.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
98%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~878Tokens (tool definitions)
~1.5 KBTypical response size
Moderate attention impact (0.69% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "mindee": {
      "url": "https://mindee.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://mindee.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢mindee_list_models(name, model_type)

List the document-extraction models available to your Mindee account (id, name, type). Use a model's `id` as the model_id for mindee_extract_document. V2 API: GET /v2/search/models.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Optional case-insensitive name filter, e.g. 'invoice'.",
      "type": "string"
    },
    "model_type": {
      "description": "Optional model type filter.",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢mindee_get_job(job_id)

Check the processing status of an enqueued document by job id. Status is Waiting | Processing | Processed | Failed. When Processed, the response carries a result_url; pass that inference id to mindee_get_inference. V2 API: GET /v2/jobs/{job_id}.

Input Schema

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string",
      "description": "Job id returned by mindee_extract_document (when it times out) or an enqueue call."
    }
  },
  "required": [
    "job_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢mindee_get_inference(inference_id, raw)

Fetch the structured result of a completed inference by id, returned as a compact map of extracted fields (plus raw_text if it was requested). V2 API: GET /v2/inferences/{inference_id}.

Input Schema

{
  "type": "object",
  "properties": {
    "inference_id": {
      "type": "string",
      "description": "Inference id (from a Processed job's result_url, or from mindee_extract_document)."
    },
    "raw": {
      "description": "Return the full unshaped API response instead of the compact fields map. Default false.",
      "type": "boolean"
    }
  },
  "required": [
    "inference_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡mindee_extract_document(model_id, document_url, file_base64, filename, alias, ...)

Submit a document (PDF or image) to a Mindee extraction model and return the structured fields. Provide EITHER document_url (a public URL) OR file_base64 (+ filename). This enqueues an inference and polls until it completes (up to ~30s); if it is still processing it returns a job_id you can poll with mindee_get_job then read with mindee_get_inference. NOTE: consumes Mindee API credits (paid, billed per page). V2 API: POST /v2/inferences/enqueue.

Input Schema

{
  "type": "object",
  "properties": {
    "model_id": {
      "type": "string",
      "description": "Extraction model id (from mindee_list_models)."
    },
    "document_url": {
      "description": "Public URL of the document to process. Use this OR file_base64.",
      "type": "string",
      "format": "uri"
    },
    "file_base64": {
      "description": "Base64-encoded document bytes. Use this OR document_url; set `filename` too.",
      "type": "string"
    },
    "filename": {
      "description": "Filename for file_base64 uploads, e.g. 'invoice.pdf'.",
      "type": "string"
    },
    "alias": {
      "description": "Your own reference tag echoed back in the job/result.",
      "type": "string"
    },
    "webhook_ids": {
      "description": "Webhook ids to notify on completion (async flows).",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "rag": {
      "description": "Enable Retrieval-Augmented Generation for the model, if configured.",
      "type": "boolean"
    },
    "raw_text": {
      "description": "Also return the full OCR raw text of the document.",
      "type": "boolean"
    },
    "polygon": {
      "description": "Return bounding-box polygons for fields.",
      "type": "boolean"
    },
    "confidence": {
      "description": "Return per-field confidence levels (Certain/High/Medium/Low).",
      "type": "boolean"
    }
  },
  "required": [
    "model_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools