{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_ncx85dpswyb6","handle":"ailang-parse","url":"https://wellknown.network/agents/ailang-parse","links":{"self":"https://wellknown.network/agents/ailang-parse/record.json","html":"https://wellknown.network/agents/ailang-parse","markdown":"https://wellknown.network/agents/ailang-parse/record.md","api":"https://wellknown.network/api/v1/agents/ailang-parse","status":"https://wellknown.network/api/v1/agents/ailang-parse/status","claim":"https://wellknown.network/agents/ailang-parse/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/ailang-parse/claim.json","badge":"https://wellknown.network/agents/ailang-parse/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air:docparse.ailang.sunholo.com:server:ailang-parse","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"AILANG Parse","summary":"Deterministic DOCX/PPTX/XLSX/PDF parser: track changes, comments, headers, footers, merged cells.","description":"Deterministic DOCX/PPTX/XLSX/PDF parser: track changes, comments, headers, footers, merged cells.","publisher":{"name":"sunholo-data","url":null},"homepage":"https://www.sunholo.com/ailang-parse/","repository":"https://github.com/sunholo-data/ailang-parse","version":"0.13.1","license":null,"protocols":["mcp"],"tags":["ailang","ailang-parse","docparse","document-parsing","office-parser","unstructured"],"pricing":null,"endpoints":[{"url":"https://docparse.ailang.sunholo.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"npm:@ailang/parse","type":"package_npm","auth":null,"probeable":false},{"url":"pypi:ailang-parse","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-01T16:00:08.420619Z","publishedAt":"2026-09-01T16:00:08.420619Z","registryName":"io.github.sunholo-data/parse"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"documents.conversion","name":"Document Conversion","confidence":1,"provenance":"derived"},{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":1,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":1,"provenance":"derived"},{"slug":"documents.spreadsheets","name":"Spreadsheets","confidence":0.833,"provenance":"derived"},{"slug":"documents.presentations","name":"Presentations","confidence":0.833,"provenance":"derived"},{"slug":"dev.package-management","name":"Packages & Dependencies","confidence":0.51,"provenance":"derived"}],"categories":["commerce","dev","documents","security"]},"observed":{"status":"live","statusReason":"Responded 53m ago.","lastOkAt":"2026-09-08T02:21:23.038Z","lastProbedAt":"2026-09-08T02:21:23.038Z","statusComputedAt":"2026-09-08T02:27:42.655Z","reliability30d":{"probes":4,"successRate":1,"p50Ms":48},"latestObservations":[{"at":"2026-09-08T02:21:23.038Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":45,"error":null,"detail":{"tools":[{"name":"editDocument","description":"Parse a document, apply JSON edit deltas, and return the modified blocks\nas JSON (same format as POST /api/v1/parse with outputFormat=blocks).\n\nfilepath: upload"},{"name":"getUploadUrl","description":"Request a pre-authenticated GCS upload URL for direct file upload.\nBusiness tier only. The returned URL allows the client to PUT file content\ndirectly to GCS, b"},{"name":"mcpAccount","description":"View account info, pricing, entitlements, or list keys.\nActions:\n  \"status\"  (default) → tier, quota, usage from /me/entitlements\n  \"pricing\"           → public"},{"name":"mcpAuth","description":"Start device authorization to get an API key.\nReturns device_code, user_code, and verification URL.\nThe agent should display the verification URL to the user, w"},{"name":"mcpAuthPoll","description":"Poll for device authorization completion.\nReturns \"pending\" (keep polling every 5s), \"approved\" (with api_key and tier),\nor \"expired\" (start over with mcpAuth)."},{"name":"mcpConvert","description":"Convert a document to another format. Targets: html, md, qmd, docx, pptx,\nxlsx, odt, odp, ods. `input` is a file path, a sample_id, an https:// URL,\nor a gs:// "},{"name":"mcpEstimate","description":"Estimate cost and latency for parsing a document.\nAccepts a file path or sample_id. No auth required."},{"name":"mcpFormats","description":"Supported formats, samples, and service capabilities. No auth required.\nDelegates to package implementation. Single source of truth lives in\npkg/sunholo/ailang_"},{"name":"mcpParse","description":"Parse a document. Accepts a file path or sample_id (e.g. \"sample_docx_formatting\").\nThe hosted server requires a valid dp_ API key — get one via mcpAuth.\nOutput"},{"name":"submit_feedback","description":"Anonymous bug report / feature request / docs gap, queued for human review. Default routing: `public-feedback` inbox (general AILANG). Pass `package=\"vendor/nam"}],"toolCount":10,"serverName":"ailang-api","capabilities":["logging","resources","tools"],"serverVersion":"0.8.1","protocolVersion":"2025-06-18"}},{"at":"2026-09-07T19:22:20.959Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":51,"error":null,"detail":{"tools":[{"name":"editDocument","description":"Parse a document, apply JSON edit deltas, and return the modified blocks\nas JSON (same format as POST /api/v1/parse with outputFormat=blocks).\n\nfilepath: upload"},{"name":"getUploadUrl","description":"Request a pre-authenticated GCS upload URL for direct file upload.\nBusiness tier only. The returned URL allows the client to PUT file content\ndirectly to GCS, b"},{"name":"mcpAccount","description":"View account info, pricing, entitlements, or list keys.\nActions:\n  \"status\"  (default) → tier, quota, usage from /me/entitlements\n  \"pricing\"           → public"},{"name":"mcpAuth","description":"Start device authorization to get an API key.\nReturns device_code, user_code, and verification URL.\nThe agent should display the verification URL to the user, w"},{"name":"mcpAuthPoll","description":"Poll for device authorization completion.\nReturns \"pending\" (keep polling every 5s), \"approved\" (with api_key and tier),\nor \"expired\" (start over with mcpAuth)."},{"name":"mcpConvert","description":"Convert a document to another format. Targets: html, md, qmd, docx, pptx,\nxlsx, odt, odp, ods. `input` is a file path, a sample_id, an https:// URL,\nor a gs:// "},{"name":"mcpEstimate","description":"Estimate cost and latency for parsing a document.\nAccepts a file path or sample_id. No auth required."},{"name":"mcpFormats","description":"Supported formats, samples, and service capabilities. No auth required.\nDelegates to package implementation. Single source of truth lives in\npkg/sunholo/ailang_"},{"name":"mcpParse","description":"Parse a document. Accepts a file path or sample_id (e.g. \"sample_docx_formatting\").\nThe hosted server requires a valid dp_ API key — get one via mcpAuth.\nOutput"},{"name":"submit_feedback","description":"Anonymous bug report / feature request / docs gap, queued for human review. Default routing: `public-feedback` inbox (general AILANG). Pass `package=\"vendor/nam"}],"toolCount":10,"serverName":"ailang-api","capabilities":["logging","resources","tools"],"serverVersion":"0.8.1","protocolVersion":"2025-06-18"}},{"at":"2026-09-07T12:23:32.480Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":51,"error":null,"detail":{"tools":[{"name":"editDocument","description":"Parse a document, apply JSON edit deltas, and return the modified blocks\nas JSON (same format as POST /api/v1/parse with outputFormat=blocks).\n\nfilepath: upload"},{"name":"getUploadUrl","description":"Request a pre-authenticated GCS upload URL for direct file upload.\nBusiness tier only. The returned URL allows the client to PUT file content\ndirectly to GCS, b"},{"name":"mcpAccount","description":"View account info, pricing, entitlements, or list keys.\nActions:\n  \"status\"  (default) → tier, quota, usage from /me/entitlements\n  \"pricing\"           → public"},{"name":"mcpAuth","description":"Start device authorization to get an API key.\nReturns device_code, user_code, and verification URL.\nThe agent should display the verification URL to the user, w"},{"name":"mcpAuthPoll","description":"Poll for device authorization completion.\nReturns \"pending\" (keep polling every 5s), \"approved\" (with api_key and tier),\nor \"expired\" (start over with mcpAuth)."},{"name":"mcpConvert","description":"Convert a document to another format. Targets: html, md, qmd, docx, pptx,\nxlsx, odt, odp, ods. `input` is a file path, a sample_id, an https:// URL,\nor a gs:// "},{"name":"mcpEstimate","description":"Estimate cost and latency for parsing a document.\nAccepts a file path or sample_id. No auth required."},{"name":"mcpFormats","description":"Supported formats, samples, and service capabilities. No auth required.\nDelegates to package implementation. Single source of truth lives in\npkg/sunholo/ailang_"},{"name":"mcpParse","description":"Parse a document. Accepts a file path or sample_id (e.g. \"sample_docx_formatting\").\nThe hosted server requires a valid dp_ API key — get one via mcpAuth.\nOutput"},{"name":"submit_feedback","description":"Anonymous bug report / feature request / docs gap, queued for human review. Default routing: `public-feedback` inbox (general AILANG). Pass `package=\"vendor/nam"}],"toolCount":10,"serverName":"ailang-api","capabilities":["logging","resources","tools"],"serverVersion":"0.8.1","protocolVersion":"2025-06-18"}},{"at":"2026-09-07T04:27:48.518Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":45,"error":null,"detail":{"tools":[{"name":"editDocument","description":"Parse a document, apply JSON edit deltas, and return the modified blocks\nas JSON (same format as POST /api/v1/parse with outputFormat=blocks).\n\nfilepath: upload"},{"name":"getUploadUrl","description":"Request a pre-authenticated GCS upload URL for direct file upload.\nBusiness tier only. The returned URL allows the client to PUT file content\ndirectly to GCS, b"},{"name":"mcpAccount","description":"View account info, pricing, entitlements, or list keys.\nActions:\n  \"status\"  (default) → tier, quota, usage from /me/entitlements\n  \"pricing\"           → public"},{"name":"mcpAuth","description":"Start device authorization to get an API key.\nReturns device_code, user_code, and verification URL.\nThe agent should display the verification URL to the user, w"},{"name":"mcpAuthPoll","description":"Poll for device authorization completion.\nReturns \"pending\" (keep polling every 5s), \"approved\" (with api_key and tier),\nor \"expired\" (start over with mcpAuth)."},{"name":"mcpConvert","description":"Convert a document to another format. Targets: html, md, qmd, docx, pptx,\nxlsx, odt, odp, ods. `input` is a file path, a sample_id, an https:// URL,\nor a gs:// "},{"name":"mcpEstimate","description":"Estimate cost and latency for parsing a document.\nAccepts a file path or sample_id. No auth required."},{"name":"mcpFormats","description":"Supported formats, samples, and service capabilities. No auth required.\nDelegates to package implementation. Single source of truth lives in\npkg/sunholo/ailang_"},{"name":"mcpParse","description":"Parse a document. Accepts a file path or sample_id (e.g. \"sample_docx_formatting\").\nThe hosted server requires a valid dp_ API key — get one via mcpAuth.\nOutput"},{"name":"submit_feedback","description":"Anonymous bug report / feature request / docs gap, queued for human review. Default routing: `public-feedback` inbox (general AILANG). Pass `package=\"vendor/nam"}],"toolCount":10,"serverName":"ailang-api","capabilities":["logging","resources","tools"],"serverVersion":"0.8.1","protocolVersion":"2025-06-18"}}],"tools":[{"name":"editDocument","description":"Parse a document, apply JSON edit deltas, and return the modified blocks\nas JSON (same format as POST /api/v1/parse with outputFormat=blocks).\n\nfilepath: upload"},{"name":"getUploadUrl","description":"Request a pre-authenticated GCS upload URL for direct file upload.\nBusiness tier only. The returned URL allows the client to PUT file content\ndirectly to GCS, b"},{"name":"mcpAccount","description":"View account info, pricing, entitlements, or list keys.\nActions:\n  \"status\"  (default) → tier, quota, usage from /me/entitlements\n  \"pricing\"           → public"},{"name":"mcpAuth","description":"Start device authorization to get an API key.\nReturns device_code, user_code, and verification URL.\nThe agent should display the verification URL to the user, w"},{"name":"mcpAuthPoll","description":"Poll for device authorization completion.\nReturns \"pending\" (keep polling every 5s), \"approved\" (with api_key and tier),\nor \"expired\" (start over with mcpAuth)."},{"name":"mcpConvert","description":"Convert a document to another format. Targets: html, md, qmd, docx, pptx,\nxlsx, odt, odp, ods. `input` is a file path, a sample_id, an https:// URL,\nor a gs:// "},{"name":"mcpEstimate","description":"Estimate cost and latency for parsing a document.\nAccepts a file path or sample_id. No auth required."},{"name":"mcpFormats","description":"Supported formats, samples, and service capabilities. No auth required.\nDelegates to package implementation. Single source of truth lives in\npkg/sunholo/ailang_"},{"name":"mcpParse","description":"Parse a document. Accepts a file path or sample_id (e.g. \"sample_docx_formatting\").\nThe hosted server requires a valid dp_ API key — get one via mcpAuth.\nOutput"},{"name":"submit_feedback","description":"Anonymous bug report / feature request / docs gap, queued for human review. Default routing: `public-feedback` inbox (general AILANG). Pass `package=\"vendor/nam"}],"package":{"name":"ailang-parse","registry":"pypi","observedAt":"2026-09-08T02:28:01.921Z","publishedAt":"2026-09-01T15:59:21.996794Z","latestVersion":"0.13.1"}},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.sunholo-data/parse","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.sunholo-data%2Fparse","firstSeenAt":"2026-09-07T04:21:38.907Z","fetchedAt":"2026-09-07T04:21:38.907Z","normalizedAt":"2026-09-07T04:21:38.907Z"},{"source":"pypi","key":"ailang-parse","url":"https://pypi.org/project/ailang-parse/","firstSeenAt":"2026-09-07T04:22:29.409Z","fetchedAt":"2026-09-07T04:22:29.409Z","normalizedAt":"2026-09-07T04:22:29.409Z"}]},"firstSeenAt":"2026-09-07T04:21:38.907Z","updatedAt":"2026-09-08T02:28:01.921Z"}