accueil / serveurs / Fichiers & Documents / io.github.sunholo-data/parse
io.github.sunholo-data/parse
serveur MCP (Model Context Protocol) · ailang-api 0.8.1
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.sunholo-data/parse est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.sunholo-data/parse » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 12 outils
- createUpload≈ 269 tokens
Get one-time upload links for files in your sandbox or workspace, when you can run shell commands with network access (Claude Code, Codex, a code sandbox). One token PER FILE: a token uploads exactly one file. For several files set count (1..20) to get that many descriptors in one call. Each descriptor has a curl line: run it where the file is (replace <path>); it prints a receipt with a fileRef. Then call mcpParse, mcpConvert or editDocument with that fileRef. Tokens work once, for 10 minutes. If curl fails with a network error, or the user wants to pick a file, call uploadDocument instead, or ask for an https:// link. Never parse the file yourself.
Paramètres, retour & exemple (4)
Paramètrescount· number · optionnelapiKey· string · optionnelfilename· string · optionnelmimeType· string · optionnel
Exemple d'appel{"name": "createUpload", "arguments": {"count": 1, "apiKey": "texte", "filename": "texte", "mimeType": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - editDocument≈ 531 tokens
Edit a document: parse it, apply a JSON array of edit deltas, and return the modified blocks (same shape as mcpParse with outputFormat "blocks"). deltas "" or "[]" returns the document unchanged. Office formats only: docx, pptx, xlsx, odt, odp, ods. Give the document ONE way: fileRef: a file the user uploaded (mcp-file://docparse/file_...). file: in ChatGPT, the file the user attached (ChatGPT fills it in). content + filename: the file base64-encoded, contentEncoding="base64", e.g. filename "contract.docx". filepath: an https:// URL of a publicly reachable document, or a sample id from mcpFormats such as "sample_docx_formatting". To get a file back, pass the edited blocks' Markdown to mcpConvert. Which way to send a file: a file in your sandbox or workspace: call createUpload (one token PER FILE; set count for several) and run its curl line, then pass the fileRef here. curl fails with a network error, or the user wants to pick a file: call uploadDocument (the user chooses it in the AILANG Parse card). The card parses the file; it does not convert or edit it. a public https:// link; short text as content. In ChatGPT, file. Never parse the file yourself (your own script, or your own reading of it) and present that as this tool's result: if the file cannot be sent, tell the user.
Paramètres, retour & exemple (8)
Paramètresfile· object · optionnelapiKey· string · optionneldeltas· string · optionnelcontent· string · optionnelfileRef· string · optionnelfilename· string · optionnelfilepath· string · optionnelcontentEncoding· string · optionnel
Exemple d'appel{"name": "editDocument", "arguments": {"file": {}, "apiKey": "texte", "deltas": "texte", "content": "texte", "fileRef": "texte", "filename": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - mcpAccount≈ 210 tokens
Your AILANG Parse account: plan, monthly usage and limits, your keys, and whether request history is kept. Actions: "status" (default) → plan, usage this month and remaining allowance "keys" → your keys with per-key usage ("usage" is an alias) "history" → whether request history (parsed output kept for replay) is on for your account "history_on" / "history_off" → change it for the account and all its keys
Paramètres, retour & exemple (2)
Paramètresaction· string · optionnelapiKey· string · optionnel
Exemple d'appel{"name": "mcpAccount", "arguments": {"action": "texte", "apiKey": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - mcpAuth≈ 162 tokens
Start device authorization to get an API key. Returns device_code, user_code, and verification URL. The agent should display the verification URL to the user, who signs in and approves the code. Then call mcpAuthPoll with the device_code. MCP wrappers don't have HTTP request headers, so provenance is empty here.
Paramètres, retour & exemple (1)
Paramètreslabel· string · requis
Exemple d'appel{"name": "mcpAuth", "arguments": {"label": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - mcpAuthPoll≈ 126 tokens
Poll for device authorization completion. Returns "pending" (keep polling every 5s), "approved" (with api_key and tier), or "expired" (start over with mcpAuth).
Paramètres, retour & exemple (1)
ParamètresdeviceCode· string · requis
Exemple d'appel{"name": "mcpAuthPoll", "arguments": {"deviceCode": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - mcpConvert≈ 585 tokens
Create a document in another format: docx, pptx, xlsx, odt, odp, ods, html, md or qmd. To write a new document, write Markdown and send it as content with filename "notes.md" (headings become slides in pptx). To convert an existing document, give it ONE way: fileRef: a file the user uploaded (mcp-file://docparse/file_...). file: in ChatGPT, the file the user attached (ChatGPT fills it in). content + filename: the document itself; binary files base64-encoded with contentEncoding="base64", text as plain text. input: an https:// URL of a publicly reachable document, or a sample id from mcpFormats. Which way to send a file: a file in your sandbox or workspace: call createUpload (one token PER FILE; set count for several) and run its curl line, then pass the fileRef here. curl fails with a network error, or the user wants to pick a file: call uploadDocument (the user chooses it in the AILANG Parse card). The card parses the file; it does not convert or edit it. a public https:// link; short text as content. In ChatGPT, file. Never parse the file yourself (your own script, or your own reading of it) and present that as this tool's result: if the file cannot be sent, tell the user. The result carries download_url, a link to the generated file valid for one hour: give it to the user. It also carries the file as base64 in content (encoding "base64"; text formats come back as utf8). Leave outputPath empty: the server cannot write to your filesystem.
Paramètres, retour & exemple (9)
Paramètresfile· object · optionnelinput· string · optionnelapiKey· string · optionnelcontent· string · optionnelfileRef· string · optionnelfilename· string · optionneloutputPath· string · optionneloutputFormat· string · requiscontentEncoding· string · optionnel
Exemple d'appel{"name": "mcpConvert", "arguments": {"outputFormat": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - mcpEstimate≈ 124 tokens
Estimate cost and latency for parsing a document. Accepts a file path or sample_id. No auth required.
Paramètres, retour & exemple (2)
Paramètresfilepath· string · requisoutputFormat· string · requis
Exemple d'appel{"name": "mcpEstimate", "arguments": {"filepath": "texte", "outputFormat": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - mcpFormats≈ 110 tokens
What AILANG Parse can read and write, how to send it a document, and the sample documents you can try without one. No sign-in needed.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "mcpFormats", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - mcpParse≈ 652 tokens
Parse a document into structured blocks, Markdown, HTML or A2UI, or a short summary of it. Give the document ONE way: fileRef: an uploaded file (mcp-file://docparse/file_...). The same user can use it again for 30 minutes after the first use (more parts, another format), then it is deleted. file: in ChatGPT, the file the user attached (ChatGPT fills it in). filepath: an https:// URL of a publicly reachable document, or a sample id from mcpFormats such as "sample_docx_formatting". content + filename: short text only (Markdown, HTML, CSV); the filename's extension picks the parser. outputFormat: blocks (default), markdown, html, a2ui, or summary (counts, the first 50 headings, warnings: a few KB). Look with summary first when a document may be large. Large documents come in parts: when the result has page.nextCursor, call mcpParse again with the same fileRef/filepath and cursor=<nextCursor> for the next part; read every part before answering about the whole document. maxChars sets the part size as a string of digits (default "80000", "2000".."120000"). Which way to send a file: a file in your sandbox or workspace: call createUpload (one token PER FILE; set count for several) and run its curl line, then call this tool with the fileRef the upload prints. curl fails with a network error, or the user wants to pick a file: call uploadDocument; the user chooses it in the AILANG Parse card, which uploads it and gives you its fileRef. a public https:// link: filepath. Short text: content. Never parse the file yourself (your own script, or your own reading of it) and present that as this tool's result: if the file cannot be sent, tell the user.
Paramètres, retour & exemple (11)
Paramètresfile· object · optionnelapiKey· string · optionnelcursor· string · optionnelcontent· string · optionnelfileRef· string · optionnelfilename· string · optionnelfilepath· string · optionnelmaxChars· string · optionnelrequestId· string · optionneloutputFormat· string · optionnelcontentEncoding· string · optionnel
Exemple d'appel{"name": "mcpParse", "arguments": {"file": {}, "apiKey": "texte", "cursor": "texte", "content": "texte", "fileRef": "texte", "filename": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - submit_feedback≈ 478 tokens
Anonymous bug report / feature request / docs gap, queued for human review. Default routing: `public-feedback` inbox (general AILANG). Pass `package="vendor/name"` (e.g. "sunholo/auth") to route to that package's `pkg:vendor/name` inbox where its autonomous agent watches. Categories: bug, feature, docs, limitation. Body limit 10KB, snippet limit 4KB. Optional contact field for follow-up; opaque to the server. Set `auto_dispatch=true` to authorize the package agent to act on your submission immediately (default false — files for human triage; pkg-feedback agent template lands in a separate sprint).
Paramètres, retour & exemple (8)
Paramètresbody· string · requis
Full description (≤10 KB)title· string · requis
Short title for the reportcontact· string · optionnel
Optional follow-up address (free-form, opaque to the server)package· string · optionnel
Optional vendor/name (e.g. "sunholo/auth") to route to that package's pkg:vendor/name inbox. Empty = general AILANG feedback.snippet· string · optionnel
Optional code/error snippet (≤4 KB)category· string · requis
bug | feature | docs | limitationauto_dispatch· boolean · optionnel
Authorize the receiving package's autonomous agent to act on this submission. Default false (files for human triage). Tagged on the Pub/Sub notification as category=auto:<original> for coordinator filtering.ailang_version· string · requis
The reporter's CLI version (free-form, used for triage)
Exemple d'appel{"name": "submit_feedback", "arguments": {"body": "texte", "title": "texte", "category": "texte", "ailang_version": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - uploadDocument≈ 222 tokens
Let the user pick a file to parse: shows the AILANG Parse card with a Choose file button. The card uploads the file and tries to summarise it for you; either way you get its fileRef. Then call mcpParse with that fileRef for the content (the same user can reuse it for 30 minutes; a large document comes in parts). Use this when the user wants to pick a file, or when createUpload's curl fails with a network error. For a file already in your sandbox or workspace, use createUpload + curl instead. Never parse the file yourself.
Paramètres, retour & exemple (2)
ParamètresapiKey· string · optionneloutputFormat· string · optionnel
Exemple d'appel{"name": "uploadDocument", "arguments": {"apiKey": "texte", "outputFormat": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - uploadViaHost≈ 143 tokens
Receive a file from the AILANG Parse upload widget, relayed by the host as base64. Only the widget calls this; ticket is the upload token it holds.
Paramètres, retour & exemple (3)
Paramètresbase64· string · requisticket· string · requisfilename· string · requis
Exemple d'appel{"name": "uploadViaHost", "arguments": {"base64": "texte", "ticket": "texte", "filename": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».