AILANG Parse
概览
作者提供的说明(英文原文)
Parse, convert and create Office and PDF documents. OAuth at /mcp/connect/, API key at /mcp/.
PopNx MCP 的三大支柱
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
- 用户评价i暂无评价评价功能将在后续阶段与账户功能一起开放
- 我们的基础检查i3 项中通过 3 项依据公开信息检查;尚未扫描代码
- 使用情况i起步阶段↓ 826/周 · ★ –
它能帮你做什么
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
- 连接方式: 电脑或云端
- 传输方式: stdio, Streamable HTTP
- 分类: 文档、表格与办公
- 你需要填写:DOCPARSE_API_KEY
安装
选择你使用的 AI 应用,然后复制设置。
安装之前
- 基础检查:3 项中通过 3 项
- 在作者的服务器上运行:你向它提出的内容会经过他们的服务器。
- 可以做 10 件事(工具) createUpload, editDocument, mcpAccount, mcpConvert …
- 需要你自己填写:
DOCPARSE_API_KEY,AILANG_PARSE_MCP_URL
标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
适用于网页版、桌面版和手机版 Claude:
- 打开 Settings → Connectors
- 点击 Add custom connector
- 粘贴下面的地址,然后点击 Add
- 如果要求登录,请登录作者的服务
https://docparse.ailang.sunholo.com/mcp/connect/或者在你的电脑上运行
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"parse": {
"command": "npx",
"args": [
"-y",
"@ailang/parse",
"mcp"
],
"env": {
"DOCPARSE_API_KEY": "your-value",
"AILANG_PARSE_MCP_URL": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add --transport http parse https://docparse.ailang.sunholo.com/mcp/connect/或者在你的电脑上运行
claude mcp add parse --env DOCPARSE_API_KEY=your-value --env AILANG_PARSE_MCP_URL=your-value -- npx -y @ailang/parse mcp运行前请先填写空着的值。
或者自己复制设置
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"parse": {
"url": "https://docparse.ailang.sunholo.com/mcp/connect/"
}
}
}或者在你的电脑上运行
或者自己复制设置
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"parse": {
"command": "npx",
"args": [
"-y",
"@ailang/parse",
"mcp"
],
"env": {
"DOCPARSE_API_KEY": "your-value",
"AILANG_PARSE_MCP_URL": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
或者自己复制设置
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"parse": {
"type": "http",
"url": "https://docparse.ailang.sunholo.com/mcp/connect/"
}
}
}或者在你的电脑上运行
或者自己复制设置
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"parse": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@ailang/parse",
"mcp"
],
"env": {
"DOCPARSE_API_KEY": "your-value",
"AILANG_PARSE_MCP_URL": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
ChatGPT 只能连接互联网上的服务器:
- 打开网页版 ChatGPT → Settings → Connectors (Apps)
- 点击 Create 或 Add(部分套餐需要先在 Advanced 中开启 Developer mode)
- 粘贴下面的地址,起个名字,然后保存
- 如果要求登录,请登录作者的服务
https://docparse.ailang.sunholo.com/mcp/connect/菜单名称可能因套餐和版本不同而略有差异。
你的选择通过 Cookie 保存在这台设备上,无需账户。
需要你填写的值
- AILANG Parse API key (dp_...). Optional — the bridge auto-loads keys saved at ~/.config/ailang-parse/credentials.json. Get one from https://www.sunholo.com/ailang-parse/
AILANG_PARSE_MCP_URLenvOverride the hosted MCP endpoint. Defaults to https://docparse.ailang.sunholo.com/mcp/
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它能做什么
工具名称和描述与服务器在 2026年11月6日 报告的完全一致。这些内容由作者撰写,不是我们写的;我们以纯文本形式显示。
createUploadGet 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 on
editDocumentEdit 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: fil
mcpAccountYour 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
mcpConvertCreate 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 u
mcpEstimateEstimate cost and latency for parsing a document. Accepts a file path or sample_id. No auth required.
mcpFormatsWhat 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.
mcpParseParse 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
submit_feedbackAnonymous 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. Categor
uploadDocumentLet 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;
uploadViaHostReceive 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.
基础检查i
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月9日
- ✓ 通过
作者与仓库一致
注册名称已通过 GitHub 账户 sunholo-data 验证,该账户拥有此仓库
- … 尚未检查
仍在维护
我们还没有从 GitHub 读取这个仓库
- … 尚未检查
有许可证
我们还没有从 GitHub 读取这个仓库
- ✓ 通过
端点有响应
在 273 毫秒内响应(HTTP 200)
- – 不适用
使用 OAuth 登录
无需登录
- ✓ 通过
工具描述中没有隐藏指令
已读取 10 个工具描述,未发现针对 AI 的隐藏指令
与“文档、表格与办公”中的其他服务器比较i
- 星标数多于此分类中其他 3598 个服务器的 0%
- 发布到注册中心的时间比此分类中其他 3598 个服务器的 88% 更新
- 基础检查结果等于或优于此分类中其他 3598 个服务器的 100%
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
常见问题
AILANG Parse 安全吗?
它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
它需要哪些密钥或代码?
你需要填写:DOCPARSE_API_KEY
它在我的电脑上运行还是在云端?
两种方式都可以:安装在你的电脑上,或者连接云端版本。
它还在维护吗?
GitHub 仓库最后更新于–,最新版本(0.14.1)于3天前进入注册中心。
哪些应用可以使用它?
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
有什么可以替代它?
同一分类中有:Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
替代选择
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Excel MCP Server
Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.
MCP Server for Excel
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
作者的 README
打开 README
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
AILANG Parse
Universal document parsing and generation in AILANG. Extracts structured content from DOCX, PPTX, XLSX, PDF, and image files into JSON and markdown — and writes documents back out in 9 formats. To author a document, write Markdown and convert it; see Writing documents in Markdown.
Office formats (DOCX, PPTX, XLSX) use deterministic XML parsing — no AI, no cloud, instant results. PDFs default to the deterministic pdftotext backend (poppler) — also no AI, no cloud — with poppler (headings, lists, tables and header/footer from the same tools, no installs), docling and liteparse as local alternatives escalating automatically to local docling OCR for scanned/image-only PDFs. Pluggable AI (Gemini, Claude, local Ollama) is available via --pdf-backend ai but is never chosen automatically. Images delegate to whatever AI model you plug in. AILANG Parse is AI-agnostic: swap --pdf-backend/--ai to change the backend, zero code changes.
Install
Two routes; both put a docparse command on your PATH, and both write output next to the file you parse (--output-dir DIR or DOCPARSE_OUTPUT_DIR to change that).
Already have [AILANG](https://github.com/sunholo-data/ailang)? (0.42.0+ of this package, AILANG v0.40.0 dev or later)
ailang install sunholo/ailang_parse
docparse report.docx
The package's [bin] table gives you a shim in ~/.ailang/bin that runs straight out of the registry cache: parse one file, or --convert it. It is deliberately the thin path — describe/summarize, batch mode, PDF backends and --install-backends are not on it (see below). ailang bin list / ailang bin uninstall docparse manage it.
Otherwise, or for the full CLI:
curl -fsSL https://www.sunholo.com/ailang-parse/install.sh | sh
Fetches the published package (~400 KB), installs the AILANG runtime if you do not have it, and links the full docparse wrapper (plus docparse-audit and docparse-render) into ~/.local/bin. --version, --prefix and --uninstall are supported; re-running is a no-op. If you install both, ailang install tells you which one docparse resolves to.
That covers every deterministic format. PDF needs two more things, and they are easy to miss:
brew install poppler # pdftotext, the default PDF backend
(apt install poppler-utils on Debian/Ubuntu)
docparse --install-backends # docling + liteparse, for scans and layout
--install-backends matters even if you never pass --pdf-backend: when pdftotext finds no text layer the parser escalates to docling on its own, so without it a scanned PDF fails on the default backend. AI backends authenticate with Google ADC (gcloud auth application-default login), not an API key.
Contributors: install from a clone instead
git clone https://github.com/sunholo-data/ailang-parse.git
ln -s "$(pwd)/ailang-parse/bin/docparse" /usr/local/bin/docparse
The wrapper finds the project root by walking up for docparse/main.ail, so it works from a clone, an installed prefix, or a symlink chain. Note that the CLI wrapper and the PDF adapter live under assets/ — the only path the AILANG publisher bundles verbatim — with symlinks at their historical locations.
SDKs
Use AILANG Parse from your language of choice:
pip install ailang-parse # Python
npm install @ailang/parse # JavaScript/TypeScript go get github.com/sunholo-data/ailang-parse-go # Go
Quick Start
# Office documents (deterministic, no AI needed)
docparse report.docx docparse slides.pptx docparse spreadsheet.xlsx
PDF (deterministic pdftotext by default — no AI); images (AI auto-enabled)
docparse document.pdf docparse photo.png
Options
docparse report.docx describe # AI image descriptions docparse report.docx summarize # AI document summary docparse contract.pdf # PDF: deterministic pdftotext (default) docparse scan.pdf # Scanned PDF: escalates to local docling OCR docparse scan.pdf --pdf-backend ai --ai gemini-3.5-flash-lite # External AI (paid), opt-in only
Format conversion
docparse report.docx --convert output.html docparse data.csv --convert report.docx docparse notes.md --convert slides.pptx docparse notes.md --convert offer.docx --reference-doc letterhead.docx
AI document generation
ailang run --entry main --caps IO,FS,Env,AI --ai gemini-3.5-flash-lite \ docparse/main.ail --generate report.docx --prompt "Q1 sales report with tables"
Output
Every run produces, in the directory you ran from (--output-dir DIR or DOCPARSE_OUTPUT_DIR to change it):
.json— Structured JSON with typed blocks.md— LLM-ready markdown
What AILANG Parse Extracts
| Feature | DOCX | PPTX | XLSX | Best Competitor |
|---|---|---|---|---|
| Tables with merged cells | Yes | Yes | Yes | Raw OOXML only |
| Track changes (redlining) | Yes | — | — | Pandoc (3/3) |
| Comments (interleaved) | Yes | — | — | Raw OOXML (2/2) |
| Headers/footers | Yes | — | — | Kreuzberg (2/3) |
| Text boxes / VML shapes | Yes | Yes | — | Raw OOXML (1/2) |
| Equations (§22.1) | Yes | — | — | None |
| Field codes (§17.16) | Yes | — | — | Kreuzberg, OOXML |
| Speaker notes | — | Yes | — | None |
| Multi-sheet extraction | — | — | Yes | Kreuzberg |
OfficeDocBench v2 (87 files, 11 formats, 8 metrics): AILANG Parse PR #116 candidate 98.1% composite with 100.0% coverage. Ten adapters compared, including the hosted Extend (Parse 2.0, 53.3% coverage-adjusted) and LlamaParse (standard mode) APIs. Source-verified structural assertions now measure cell positions, comment targets, list depth, formatting, formulas, colours, and slide/notes relationships. Methodology and results.
Supported Formats
Parsing (16 formats): DOCX, PPTX, XLSX, ODT, ODP, ODS, HTML, Markdown, CSV, EPUB, EML, MBOX, TEX, RTF, PDF, images (JPG/PNG)
Generation (9 formats): DOCX, PPTX, XLSX, ODT, ODP, ODS, HTML, Markdown, QMD (Quarto)
Writing documents in Markdown
Markdown is the input an LLM can write, so it is the practical way to generate a document: write markdown, convert to any of the nine output formats.
docparse report.md --convert report.docx
What survives the trip: YAML front matter (title/author/date → document properties), bold/*italic*/code/~~strike~~ as real character formatting, links as real hyperlinks, images (local paths are read and embedded), fenced code blocks, blockquotes, nested lists, thematic breaks, and tables with alignment and column spans.
Headers, footers, comments and tracked changes have no Markdown syntax; those are preserved when converting from a document that already contains them.
Local document verification (v0.41.2+)
docparse-audit and docparse-render are AILANG companions to the CLI. AILANG Parse v0.41.2 requires AILANG 0.35.0 or newer. They run locally and require no hosted account. The installer links them when present in the installed release; in a checkout use ./bin/docparse-audit and ./bin/docparse-render.
docparse-audit report.docx --strict
docparse-render report.docx --output-dir qa/report docparse-render before.docx --compare after.docx --output-dir qa/comparison
The read-only DOCX audit emits JSON inventories and findings for table grids and headers, heading gaps, image descriptions, links, comments and fields. Exit codes are 0 for a completed audit, 1 for findings with --strict, and 2 for unreadable input. It is a bounded structural check; it does not certify accessibility or resolve arbitrary style inheritance.
Rendering supports .docx, .odt, .pptx, .xlsx and .pdf. Install LibreOffice and Poppler for Office input; PDF needs only Poppler. No new Python dependency is needed. Select tools with --soffice / --pdftoppm (or DOCPARSE_SOFFICE / DOCPARSE_PDFTOPPM). --dpi defaults to 144 and --timeout to 120 seconds per process. The output directory must be new. Each document gets a PDF and numbered PNG pages; the manifest records source hashes, tool paths and page directories. Comparison identifies changed/added/removed pages using uncompressed raster hashes. Inspect the two PNG sets side by side; no diff overlays are generated. visual_review: pending means page images still need inspection.
The implementation is in docparse/services/document_render.ail and docparse/services/docx_audit.ail; regression verification is AILANG too:
ailang run --entry main --caps IO,FS,Env,Process \
--process-allowlist "true,false,mktemp,mkdir,$(command -v soffice),$(command -v pdftoppm)" \ --process-timeout 120s scripts/verify_document_quality.ail -- \ /tmp/docparse-quality-new "$(command -v soffice)" "$(command -v pdftoppm)"
Styling a generated DOCX from a template
--reference-doc is the Quarto/Pandoc reference-doc feature: an existing .docx supplies the look, the Markdown supplies the content.
docparse annex.md --convert annex.docx --reference-doc letterhead.docx
Generated tables use the selected section's usable width, with bounded content weights for columns and repeating semantic headers. Merged-cell widths sum the columns they cover.
The template's styles.xml, numbering.xml, theme, embedded fonts, headers, footers and page setup are applied to the new content. Everything the merge does not regenerate is carried through byte-for-byte, so the letterhead, logo and licensed fonts come out exactly as they went in.
What comes from where:
| Template | page size, margins, headers, footers, page numbering, fonts, theme, colours |
| Your document | the body content, and docProps/core.xml (title/author) |
| Merged | styles.xml (ours fill only the styleIds the template lacks), numbering.xml (our list definitions take ids above the template's), [Content_Types].xml, both .rels |
Two consequences worth knowing:
- The template's headers and footers win. A source document's own headers are dropped rather than mixed with the letterhead. The page furniture all lives in the template's body
, which is lifted whole. - The template's comments are dropped along with its body, and so are
commentsExtended.xmlandpeople.xml. Comments in the *source* document still come through.
Two flags refine a multi-section template:
--reference-section Npicks which of the template's sections supplies the page setup, headers and footers — 1 is the first section, Word's numbering. The default is the last section (the body-level one, what the
只显示了开头部分;其余内容请在仓库中阅读