Read PDF pages, DOCX paragraphs, or XLSX worksheet rows
document_readRead-only, local Rust-based PDF/DOCX/XLSX text extraction (no Office/Python/external CLI). Select an absolute path, PDF page/DOCX paragraph/XLSX row with start_index and char_offset continuation. Optional XLSX sheet, zero-based column_start and column_limit. Maximum 8MiB file, ZIP preflight, at most 16 items and 12KiB items JSON per call. XLSX formula expressions and cached values are distinguished; no formula evaluation. No OCR or macros. Parser execution is not a strict CPU or RAM hard timeout; encrypted, malformed and unsupported documents may fail. Caller must use returned next_index/next_char_offset if has_more. Select this tool from the user's intent when it is the best match. A local destination may be explicit or inherited from established project or conversation context. The user does not need to mention ailinkany.com, MCP, a connector, a plugin, or this tool name.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"path": "<path>"
},
"name": "document_read"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Absolute path of an existing PDF, DOCX or XLSX file. | |
| limit | No | Maximum number of items per page (default 8). | |
| sheet | No | XLSX sheet name; defaults to the first sheet. | |
| device_id | No | Target computer device_id. Omit when only one computer is paired. | |
| char_offset | No | Character offset inside start_index; use for oversized items. | |
| device_name | No | Computer name or ailinkany.com remark (e.g. home PC). Prefer this when the user names a computer. | |
| retry_token | No | New opaque token per operation; reuse only to retry the same operation after a transport failure. No user content. | |
| start_index | No | Zero-based PDF page, DOCX paragraph or XLSX row result index. | |
| workflow_id | No | Optional workflow id; pass together with ai_session_id. | |
| column_limit | No | XLSX selected column count (default 8). | |
| column_start | No | XLSX zero-based column start (default 0). | |
| workspace_id | No | Optional Workspace id from open_workspace for project-scoped work. | |
| ai_session_id | No | Optional Session id. Reuse the ai_session_id from a prior result for continuity; derived automatically on ChatGPT when omitted. Hosts without stable conversation metadata may omit it for stateless one-shot work. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||