ToolPin

AILANG Parse

io.github.sunholo-data/parse · v0.8.0 · MCP 2025-11-25

Deterministic DOCX/PPTX/XLSX/PDF parser: track changes, comments, headers, footers, merged cells.

Reachability reachable
checked 2026-07-14 03:47 UTC
Registry status active
Tools pinned 31
e1d8d7adcaec
Tools last changed unchanged since first capture 2026-07-14

Provenance

Registry namespace io.github.sunholo-data (GitHub-account verified by the official registry)
Repository github.com/sunholo-data/ailang-parse
Website https://www.sunholo.com/ailang-parse/
Remote endpoints
https://docparse.ailang.sunholo.com/mcp/ (streamable-http)

Observed changes

When (UTC)EventDetail
2026-07-14 03:47 first capture 31 tools pinned

Pinned tool definitions (31)

ToolDescription
agentCard A2A Agent Card for agent-to-agent discovery. Returns a hand-crafted Agent Card with AILANG Parse-specific skills, supported formats, and capability descriptions. @raw: return raw JSON (no {result:..., elapsed_ms:N} envelope) for A2A...
apiSamples Sample files inventory — delegates to the upstream package. Package @route annotations don't auto-register with serve-api, so we provide a local wrapper here.
apiTools Tool definitions for Claude, OpenAI, MCP, and A2A agent frameworks. Delegates to the upstream package.
capabilities capabilities(() -> string ! {Env}) [pure]
deviceAuthApprove Approve a device authorization request. Called by the browser approval page after user signs in and confirms. Verifies Firebase ID token from Authorization header to ensure the caller is a real authenticated user. Extracts uid from the...
deviceAuthInspect Look up a pending device code by user_code and return its provenance. No authentication required — possession of the user_code is the proof. The dashboard /approve.html page calls this BEFORE showing the approve UI so the user can see...
deviceAuthPoll Poll for device authorization approval. Returns AUTHORIZATION_PENDING if user hasn't approved yet. Returns DEVICE_CODE_EXPIRED if the code has timed out. Returns approved status with API key on success.
deviceAuthRequest Request a device authorization code. Returns device_code, user_code, and verification URL. The agent should display the verification_url to the user.
editDocument Parse a document, apply JSON edit deltas, and return the modified blocks as JSON (same format as POST /api/v1/parse with outputFormat=blocks). filepath: uploaded file path (multipart upload). deltas: JSON array of edit operations —...
estimate estimate((string, string) -> string ! {Clock, FS}) [pure]
formats List all supported document formats for parsing and generation. Returns: parse formats (13), generate formats (9), output formats (blocks/markdown/html/a2ui), and which formats require AI (PDF, images).
getKeyUsage Get usage stats for a user's API key. Accepts Firebase JWT or apiKey. Verifies that the requested keyId belongs to the authenticated user.
getUploadUrl Request a pre-authenticated GCS upload URL for direct file upload. Business tier only. The returned URL allows the client to PUT file content directly to GCS, bypassing the 32MB Cloud Run request limit. After upload, pass the gcs_ref to...
health Health check for the AILANG Parse API. Returns service status, version, AILANG commit hash, supported format counts, and billing catalog status. `billing_catalog_loaded` is FALSE when the BILLING_PLAN_CATALOG env var is unset or parses...
listApiKeys List API keys for a user. Accepts either: - Authorization: Bearer <firebase_id_token> (dashboard path) - {apiKey: "..."} or {args: ["dp_..."]} in body (CLI/SDK path) The resolved userId filters the Firestore query server-side.
mcpAccount View account info, pricing, entitlements, or list keys. Actions: "status" (default) → tier, quota, usage from /me/entitlements "pricing" → public pricing tiers (no auth required) "keys" → list user's API...
mcpAuth 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...
mcpAuthPoll Poll for device authorization completion. Returns "pending" (keep polling every 5s), "approved" (with api_key and tier), or "expired" (start over with mcpAuth).
mcpConvert Convert is not supported on the hosted server (no persistent local filesystem to write the output file to). Use the local stdio SDK (@ailang/parse) for local conversions, where the user has filesystem access.
mcpEstimate Estimate cost and latency for parsing a document. Accepts a file path or sample_id. No auth required.
mcpFormats List supported formats, samples, and service capabilities. Pure JSON, no auth required. Delegates to package implementation. Single source of truth lives in pkg/sunholo/ailang_parse/services/mcp/tools.
mcpParse Parse a document. Accepts a file path or sample_id (e.g. "sample_docx_formatting"). The hosted server requires a valid dp_ API key — get one via mcpAuth. Output formats: blocks (default), markdown, html, a2ui. requestId is reserved for...
myEntitlements Get the authenticated user's billing entitlements, usage, and plan details. Returns: plan name, monthly request limit, requests used, remaining requests, upgrade/manage URLs. Requires a valid AILANG Parse API key (dp_ prefix).
parseFileSecure Parse a document. Requires a valid API key. Validates the key, checks entitlement quotas, logs for replay. filepath: file path OR sample_id (e.g. "sample_docx_formatting" → resolved via /api/v1/samples). outputFormat: "blocks",...
partitionGeneral Unstructured API-compatible endpoint (drop-in replacement for Unstructured.io). Returns elements in Unstructured JSON format (Title, NarrativeText, Table, ListItem, etc.). Accepts file upload (multipart/form-data) or JSON body with...
pricing pricing(() -> string) [pure]
requestHistory List recent parse requests for a user. Returns up to 50 entries. Accepts Firebase ID token (dashboard) OR dp_ API key (programmatic). Dashboard sends Authorization: Bearer <firebase_token> with {args: [uid]}. API clients send {args:...
requestReplay Retrieve a stored request/response pair for replay. Requires authentication: Firebase JWT or dp_ API key. The request must belong to the authenticated user (user_id match). Accepts optional outputFormat (blocks/markdown/html/a2ui) to...
revokeApiKey Revoke an API key by keyId. Authenticates via either Firebase JWT or apiKey.
rotateApiKey Rotate an API key: generate new key, revoke old one, preserve tier + usage.
submit_feedback 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...

Status badge

ToolPin status badge for io.github.sunholo-data/parse

[![ToolPin](https://toolpin.dev/badge/io.github.sunholo-data/parse.svg)](https://toolpin.dev/servers/io.github.sunholo-data/parse)

Maintain this server? Add the badge to your README — it links your users to this live status page.