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
}