Skip to content

com.mart402/docs

by mart402.com · remote · no sign-in to list tools · v1.0.0 · published by com.mart402

Documents and web for AI agents: PDF parse, OCR, web extract, invoice checks. x402, no API key.

Final · 1Changes · 10

14 tools: 1 do something that can't be undone, 10 change things and 3 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http docs https://mart402.com/mcp/docs

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

14 tools

Can't be undone 1Claude Code: ask
  • pdf_mergeMerge 2-10 PDFs into one, in order.No findings

    Why it is in this group

    • The name "pdf_merge" says "merge": a word for a change that another call does not undo.
    Description, as the server wrote it
    Merge 2-10 PDFs into one, in order. Deterministic, $0.003.

    Annotations the server declares

    • title: Pdf Merge
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
Changes things 10Claude Code: ask
  • document_pipelineOne call: PDF invoice to parse (hallucination-guarded OCR) + field extraction + arithmetic verification (+optional issuer enrich).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    One call: PDF invoice to parse (hallucination-guarded OCR) + field extraction + arithmetic verification (+optional issuer enrich). Flat $0.05/document; inputs validated before payment. Choose this when a PDF is an invoice/receipt and you want parse + field extraction + arithmetic verification in one paid call; for text only use parse_document.

    Annotations the server declares

    • title: Document Pipeline
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • enrich_companyCompany name/domain/URL to a verified profile from primary sources + GLEIF LEI and Japan NTA corporate-number registries.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Company name/domain/URL to a verified profile from primary sources + GLEIF LEI and Japan NTA corporate-number registries. Per-field evidence + confidence, honest nulls; unresolved lookups never charged. $0.03/company. Choose this when you have a company NAME or DOMAIN and need a registry-grounded profile (GLEIF LEI / Japan NTA) with per-field evidence; pass country_hint 'jp' for Japanese companies.

    Annotations the server declares

    • title: Enrich Company
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • extract_urlExtract a web page to clean Markdown + metadata (auto JS rendering, robots.txt respected).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Extract a web page to clean Markdown + metadata (auto JS rendering, robots.txt respected). $0.005 fast / $0.01 rendered; cached results half price. Choose this when you need a web PAGE as clean Markdown to read yourself; to fill a schema use structured_extract, for a PDF use pdf_info then parse_document.

    Annotations the server declares

    • title: Extract Url
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • ocr_imageOCR one image to text with dual-engine consensus, calibrated confidence and per-segment corroboration.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    OCR one image to text with dual-engine consensus, calibrated confidence and per-segment corroboration. Japanese-strong. Flat $0.05/image. Choose this when the input is an IMAGE (photo, screenshot, receipt); for PDFs use parse_document.

    Annotations the server declares

    • title: Ocr Image
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • parse_documentParse a PDF to structured Markdown (hallucination-guarded OCR for scanned pages, Japanese-strong).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Parse a PDF to structured Markdown (hallucination-guarded OCR for scanned pages, Japanese-strong). Pass url (one step: the 402 quotes the exact price for that PDF) or quote_id from quote_parse (price fixed by the quote). One of the two is required. Choose this when the input is a PDF and you want its full text as Markdown; call pdf_info first if you do not know whether it is scanned, and use document_pipeline instead for invoices you also want verified.

    Annotations the server declares

    • title: Parse Document
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • pdf_infoPDF facts before you pay for parsing: pages, metadata, per-page text volume, scanned-or-not estimate.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    PDF facts before you pay for parsing: pages, metadata, per-page text volume, scanned-or-not estimate. $0.001. Choose this first for any unknown PDF (cheapest real call); then parse_document, pdf_pages or document_pipeline.

    Annotations the server declares

    • title: Pdf Info
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • pdf_pagesExtract pages from a PDF by 1-based ranges (e.g.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Extract pages from a PDF by 1-based ranges (e.g. 1-3,7) into a new PDF. Deterministic, $0.002.

    Annotations the server declares

    • title: Pdf Pages
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • quote_parseFree quote for PDF parsing: page count, route (text/scan-OCR) and the exact final price, before any payment.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Free quote for PDF parsing: page count, route (text/scan-OCR) and the exact final price, before any payment. Use the returned quote_id with parse_document (on /mcp or /mcp/docs).

    Annotations the server declares

    • title: Quote a PDF parse (free, exact price)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • structured_extractFill YOUR JSON schema from any URL (hybrid LLM + deterministic canonicalization).No findings

    Why it is in this group

    • The description's first verb is "fill": a word for a change.
    Description, as the server wrote it
    Fill YOUR JSON schema from any URL (hybrid LLM + deterministic canonicalization). $0.03/call. Choose this when you have your OWN JSON schema to fill from any page; for company profiles use enrich_company or jp_company_profile.

    Annotations the server declares

    • title: Structured Extract
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • verify_invoiceVerify extracted invoice fields: arithmetic consistency, line-item totals, JP registration number check-digit + corporate-number existence observation (official Japan NTA registry)…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Verify extracted invoice fields: arithmetic consistency, line-item totals, JP registration number check-digit + corporate-number existence observation (official Japan NTA registry), accounting-ready JSON. $0.015/call. Choose this when you already HAVE invoice fields (from your own extraction) and only need them checked; to start from a PDF use document_pipeline.

    Annotations the server declares

    • title: Verify Invoice
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
Only reads 3Claude Code: allow
  • get_catalogMart402 product catalog: all products, prices, payment config, error codes, rate limits.No findings

    Why it is in this group

    • The name "get_catalog" says "get": a word for reading.
    Description, as the server wrote it
    Mart402 product catalog: all products, prices, payment config, error codes, rate limits. Free.

    Annotations the server declares

    • title: Mart402 catalog (products, prices, policies)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_receiptRe-fetch a previously paid result for free by receipt id (every paid response carries receipt_id).No findings

    Why it is in this group

    • The name "get_receipt" says "get": a word for reading.
    Description, as the server wrote it
    Re-fetch a previously paid result for free by receipt id (every paid response carries receipt_id).

    Annotations the server declares

    • title: Re-fetch a paid result by receipt
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_sampleFree recorded sample response for a paid product (from real production runs, marked sample:true) - see the exact response shape before paying anything.No findings

    Why it is in this group

    • The name "get_sample" says "get": a word for reading.
    Description, as the server wrote it
    Free recorded sample response for a paid product (from real production runs, marked sample:true) - see the exact response shape before paying anything. Available: document-pipeline, enrich, extract, jp-bonus-net, jp-business-days, jp-company, jp-consumption-tax, jp-crypto-tax, jp-dependent-threshold, jp-mortgage, jp-overtime-wage, jp-payroll-net, jp-payroll-suite, jp-payslip-audit, jp-retirement-tax, jp-social-insurance, meal-vision, ocr, parse, pdf-info, pdf-merge, pdf-pages, portrait-analysis, report-pack, structured, style-profile, style-report, verify.

    Annotations the server declares

    • title: Mart402 sample output
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http docs https://mart402.com/mcp/docs

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__docs__get_catalog",
      "mcp__docs__get_receipt",
      "mcp__docs__get_sample"
    ],
    "ask": [
      "mcp__docs__quote_parse",
      "mcp__docs__extract_url",
      "mcp__docs__parse_document",
      "mcp__docs__ocr_image",
      "mcp__docs__verify_invoice",
      "mcp__docs__enrich_company",
      "mcp__docs__structured_extract",
      "mcp__docs__document_pipeline",
      "mcp__docs__pdf_merge",
      "mcp__docs__pdf_pages",
      "mcp__docs__pdf_info"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as docs. Review it before you use it.