Server definition
- Hash
- sha256:c37d57efcf21fd57a2d8567dd2cd8667cd2821a237e9fb2370b0431be18ab586
- What it is
- What a remote MCP server returned when asked what it offers: 3 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "Convert a PDF into structured content (tables, charts, formulas, headings, body text) using a two-stage pipeline (layout detection, then a vision-language model) rather than a single VLM call on the raw PDF -- calling a VLM on a raw PDF directly is a known-unreliable pattern for numeric tables.\n\nMeasured accuracy (500-page real-world benchmark of government/corporate reports, ~51,000 table values checked): tables 95.2% digit-exact, body text 88.8%. This tool reads PDFs a VLM cannot read directly, including scanned pages and PDFs with corrupted/garbled text layers (common in older Japanese academic PDFs). For scanned Japanese documents the numbers hold up (99.4% on the same benchmark). For scanned Arabic, body text does NOT: characters are dropped mid-sentence and quantities can turn into different quantities, so body blocks from scanned Arabic are always flagged confidence:\"estimated\" -- tables in the same documents stayed exact in our measurement. Strong on Japanese-language documents specifically; the accuracy figures above were measured on Japanese material and are not a claim about every language. Chart values are extracted but are best-effort estimates (about 52% exact match, excluding axis tick labels) and are always flagged confidence:\"estimated\" in the result -- do not treat estimated chart numbers as authoritative.\n\nThis is a PAID, ASYNCHRONOUS, per-page-billed operation: credits are reserved from the caller's PDFIntact balance before processing starts, and the response's _meta.credits_remaining shows the balance right after reservation. Processing takes real wall-clock time (roughly 7 seconds/page; a 500-page PDF takes about 42 minutes including a multi-minute cold start), so this tool returns a job_handle immediately without waiting -- call get_result with that job_handle to poll for completion instead of calling convert_pdf again. Always pass idempotency_key; reuse the exact same value if you retry the same request, otherwise retries can double-charge and double-process. Provide the PDF either as a public https URL (source.type=\"url\", up to ~200MB) or inline base64 (source.type=\"base64\", up to ~20MB) -- prefer the URL form for large files.\n\nRequires sign-in (OAuth): this session is not authenticated, so calling this tool will fail until the PDFIntact account is connected and authorized.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"idempotency_key": {
"description": "Unique key for this request. Reuse the same value on retry of the same PDF to avoid double charging.",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"source": {
"oneOf": [
{
"properties": {
"type": {
"const": "url",
"type": "string"
},
"url": {
"description": "HTTPS URL to fetch the PDF from",
"format": "uri",
"type": "string"
}
},
"required": [
"type",
"url"
],
"type": "object"
},
{
"properties": {
"data": {
"description": "Base64-encoded PDF file contents",
"type": "string"
},
"type": {
"const": "base64",
"type": "string"
}
},
"required": [
"type",
"data"
],
"type": "object"
}
]
}
},
"required": [
"source",
"idempotency_key"
],
"type": "object"
},
"name": "convert_pdf",
"outputSchema": null
},
{
"description": "Check the current PDFIntact credit balance for the authenticated account (1 page = 1 credit), plus the soonest-expiring credit lot. Useful before submitting a large PDF to convert_pdf, or after an insufficient_credits error to see how many credits are needed and get a purchase link.\n\nRequires sign-in (OAuth): this session is not authenticated, so calling this tool will fail until the PDFIntact account is connected and authorized.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "get_balance",
"outputSchema": null
},
{
"description": "Fetch the status and (once finished) the structured result of a job previously created by convert_pdf. Poll this with the job_handle convert_pdf returned until _meta.state is \"done\" or \"failed\" -- do not call convert_pdf again while waiting. job_handle is scoped to the account that created it; handles belonging to a different account are rejected as not found.\n\nRequires sign-in (OAuth): this session is not authenticated, so calling this tool will fail until the PDFIntact account is connected and authorized.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"job_handle": {
"description": "The job_handle returned by convert_pdf",
"minLength": 1,
"type": "string"
}
},
"required": [
"job_handle"
],
"type": "object"
},
"name": "get_result",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:c37d57efcf21fd57a2d8567dd2cd8667cd2821a237e9fb2370b0431be18ab586 | sha256sum