flatmark

Document to Markdown MCP server: PDF, Word, PowerPoint, Excel and HTML, with OCR for large files.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
94%
Qualität der Benennung
100%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~1,182Tokens (Tool-Definitionen)
~2.4 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (0.92% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "flatmark": {
      "url": "https://api.flatmark.dev/mcp/"
    }
  }
}

Remote-Endpunkte

https://api.flatmark.dev/mcp/streamable-http

Was es kann

Tool-Inventar

Tools (3)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢convert_document(filename, content_base64, file)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "filename": {
      "description": "The file name with its extension (.pdf, .docx, .pptx, .xlsx, .html, .htm or .txt). The extension decides how the file is read.",
      "type": "string"
    },
    "content_base64": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The file content, base64-encoded. Up to 8 MB before encoding."
    },
    "file": {
      "properties": {
        "download_url": {
          "description": "A public https URL of the file.",
          "type": "string"
        },
        "file_id": {
          "description": "An identifier for the file. ChatGPT sets it; other clients may pass any label, such as the file name.",
          "type": "string"
        },
        "mime_type": {
          "type": "string"
        },
        "file_name": {
          "type": "string"
        }
      },
      "required": [
        "download_url",
        "file_id"
      ],
      "type": "object",
      "default": null,
      "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."
    }
  },
  "required": [
    "filename"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true
}
🟡submit_conversion_job(filename, content_base64, file, webhook_url)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "filename": {
      "description": "The file name with its extension (.pdf, .docx, .pptx, .xlsx, .html, .htm or .txt). The extension decides how the file is read.",
      "type": "string"
    },
    "content_base64": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The file content, base64-encoded. Up to 25 MB before encoding."
    },
    "file": {
      "properties": {
        "download_url": {
          "description": "A public https URL of the file.",
          "type": "string"
        },
        "file_id": {
          "description": "An identifier for the file. ChatGPT sets it; other clients may pass any label, such as the file name.",
          "type": "string"
        },
        "mime_type": {
          "type": "string"
        },
        "file_name": {
          "type": "string"
        }
      },
      "required": [
        "download_url",
        "file_id"
      ],
      "type": "object",
      "default": null,
      "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."
    },
    "webhook_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional. A public http or https URL that receives the job's final state."
    }
  },
  "required": [
    "filename"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢get_conversion_job(job_id)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "job_id": {
      "description": "The `job_id` returned by `submit_conversion_job`.",
      "type": "string"
    }
  },
  "required": [
    "job_id"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "additionalProperties": true
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet3 Tools