MCPサーバー

flatmark

dev.flatmark/flatmark

このMCPでできること

Converts PDF, Word, PowerPoint, Excel, HTML, and text files into Markdown, with queued OCR and table extraction for larger documents.

convert_document
Convert a document to Markdown in one call
Convert a document up to 8 MB to Markdown and return it directly. Pass the file as base64 in `content_base64`, or as a download link in `file`, and its name in `filename`. The extension decides the type: .pdf, .docx, .pptx, .xlsx, .html, .htm or .txt. Returns `markdown` and `meta` (`filename`, `length` in characters). PDFs come back as plain text without headings and without OCR. For scans, tables and page numbers, use `submit_conversion_job`. Works without an API key at the anonymous rate limit. Credits: 1 per call.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', 'required': ['filename'], 'properties': {'file': {'type': 'object', 'default': None, 'required': ['download_url', 'file_id'], 'properties': {'file_id': {'type': 'string', 'description': 'An identifier for the file. ChatGPT sets it; other clients may pass any label, such as the file name.'}, 'file_name': {'type': 'string'}, 'mime_type': {'type': 'string'}, 'download_url': {'type': 'string', 'description': 'A public https URL of the file.'}}, 'description': "The file as a download link, instead of `content_base64`. In ChatGPT, pass the user's uploaded file here. Other clients can set `download_url` to a public https URL."}, 'filename': {'type': 'string', 'description': 'The file name with its extension (.pdf, .docx, .pptx, .xlsx, .html, .htm or .txt). The extension decides how the file is read.'}, 'content_base64': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'The file content, base64-encoded. Up to 8 MB before encoding.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'additionalProperties': True}
get_conversion_job
Check a queued conversion
Check a queued conversion job you submitted. Returns `job_id` and `status` (`queued`, `running`, `succeeded` or `failed`). A succeeded job includes the `markdown` when it is under 100 KB, otherwise a `result_url` to download it (also free). A failed job includes `error`, one sentence with the reason. Results are deleted 7 days after submission. An expired result is reported in `error`. Requires an API key. Credits: free. This tool is not metered.
読み取り専用
入力スキーマ
{'type': 'object', 'required': ['job_id'], 'properties': {'job_id': {'type': 'string', 'description': 'The `job_id` returned by `submit_conversion_job`.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'additionalProperties': True}
submit_conversion_job
Queue a document for conversion with OCR and tables
Queue a document up to 25 MB and 200 pages for conversion with OCR and tables. Pass the file as base64 in `content_base64`, or as a download link in `file`, and its name in `filename` (.pdf, .docx, .pptx, .xlsx, .html, .htm or .txt). Returns `job_id`, `status` and `result_url`. Call `get_conversion_job` with the `job_id` until `status` is `succeeded` or `failed`. A conversion may take up to about 2 minutes. Optional `webhook_url`: a public http or https URL that receives a POST with the job's final state. The request carries `X-Appkit-Signature: sha256=<hex>`, an HMAC-SHA256 of the raw body keyed with the returned `webhook_secret` (shown only once). 3 delivery attempts. Requires an API key. The credits are refunded if the job fails. The uploaded file is deleted when the job finishes. Results are kept for 7 days after submission. Credits: 10 per call.
外部アクセスあり
入力スキーマ
{'type': 'object', 'required': ['filename'], 'properties': {'file': {'type': 'object', 'default': None, 'required': ['download_url', 'file_id'], 'properties': {'file_id': {'type': 'string', 'description': 'An identifier for the file. ChatGPT sets it; other clients may pass any label, such as the file name.'}, 'file_name': {'type': 'string'}, 'mime_type': {'type': 'string'}, 'download_url': {'type': 'string', 'description': 'A public https URL of the file.'}}, 'description': "The file as a download link, instead of `content_base64`. In ChatGPT, pass the user's uploaded file here. Other clients can set `download_url` to a public https URL."}, 'filename': {'type': 'string', 'description': 'The file name with its extension (.pdf, .docx, .pptx, .xlsx, .html, .htm or .txt). The extension decides how the file is read.'}, 'webhook_url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Optional. A public http or https URL that receives the job's final state."}, 'content_base64': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'The file content, base64-encoded. Up to 25 MB before encoding.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'additionalProperties': True}
追加
get_conversion_job
2026年9月29日2:40
追加
submit_conversion_job
2026年9月29日2:40
追加
convert_document
2026年9月29日2:40