← Docs docs · Markdown · All payloads · Home

Docs — canonical payload contracts

Extract text and tables from PDF, DOCX, XLSX (and plain text/CSV). Scanned PDFs use Tesseract OCR (hun/eng/deu).

Service id: docs
Docs: https://mcp.glc-rag.hu/guide/docs
Markdown docs: https://mcp.glc-rag.hu/guide/docs.md
MCP resource: docs://docs/payload

POST https://mcp.glc-rag.hu/mcp. Values below are type slots from the live input schema (e.g. <string, required>), not example data. Fill them from the user task.

RPC result wrapper: result.structuredContent is the object in Output schema. result.isError mirrors structuredContent.is_error.

docs_extract

Extract text and tables from a document (pdf, docx, xlsx, txt, csv). Provide either a public http(s) URL or base64 content. For scanned PDFs, OCR runs automatically when little text is found.

Required arguments: (none)

Request contract

{
  "jsonrpc": "2.0",
  "id": "<integer|string>",
  "method": "tools/call",
  "params": {
    "name": "docs_extract",
    "arguments": {
      "url": "<string, optional>",
      "content_base64": "<string, optional>",
      "filename": "<string, optional>",
      "lang": "<string, optional, default 'hun+eng'>",
      "force_ocr": "<boolean, optional, default False>",
      "max_length": "<integer, optional, default 20000, minimum 1, maximum 1000000>",
      "start_index": "<integer, optional, default 0, minimum 0>",
      "max_pages": "<integer, optional, default 50, minimum 1, maximum 200>"
    }
  }
}

Input schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL of the document"
    },
    "content_base64": {
      "type": "string",
      "description": "Raw document bytes as base64 (or data: URL)"
    },
    "filename": {
      "type": "string",
      "description": "Optional filename hint for type detection (e.g. report.pdf)"
    },
    "lang": {
      "type": "string",
      "description": "OCR languages, e.g. hun+eng (default hun+eng)",
      "default": "hun+eng"
    },
    "force_ocr": {
      "type": "boolean",
      "description": "Always OCR PDF pages even if embedded text exists",
      "default": false
    },
    "max_length": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000000,
      "default": 20000
    },
    "start_index": {
      "type": "integer",
      "minimum": 0,
      "default": 0
    },
    "max_pages": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "default": 50,
      "description": "Max PDF pages to process"
    }
  },
  "additionalProperties": false
}

Output schema (structuredContent on success)

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string"
    },
    "text": {
      "type": "string"
    },
    "pages": {
      "type": "integer"
    },
    "kind": {
      "type": "string"
    }
  },
  "additionalProperties": true,
  "required": [
    "text"
  ]
}

Error object

{
  "type": "object",
  "required": [
    "error",
    "is_error"
  ],
  "properties": {
    "error": {
      "type": "string"
    },
    "is_error": {
      "type": "boolean",
      "const": true
    }
  },
  "additionalProperties": true
}

docs_status

Docs service health, supported formats, and installed OCR languages.

Required arguments: (none)

Request contract

{
  "jsonrpc": "2.0",
  "id": "<integer|string>",
  "method": "tools/call",
  "params": {
    "name": "docs_status",
    "arguments": {}
  }
}

Input schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output schema (structuredContent on success)

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    }
  },
  "additionalProperties": true,
  "required": [
    "ok"
  ]
}

Error object

{
  "type": "object",
  "required": [
    "error",
    "is_error"
  ],
  "properties": {
    "error": {
      "type": "string"
    },
    "is_error": {
      "type": "boolean",
      "const": true
    }
  },
  "additionalProperties": true
}