# com.mart402/docs (remote · mart402.com)

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

- Trust score: 74/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-24

## Components

- remote · `mart402.com`: 74/100 (this document), [markdown](https://verifymcp.io/servers/com-mart402-docs/mcp-docs.md), [page](https://verifymcp.io/servers/com-mart402-docs/mcp-docs)

## Channel facts

- Endpoint: `https://mart402.com/mcp/docs`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-24.

- **Endpoint Security**: 80/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 69/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2253 tokens (~160/item across 14 items; 14 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 13/100
  - Stability observed for 4 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
  - An AI judge read all 15 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the com.mart402/docs MCP server?

com.mart402/docs is a hosted endpoint at https://mart402.com/mcp/docs, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

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

### Cursor

```json
{
  "mcpServers": {
    "com-mart402-docs": {
      "url": "https://mart402.com/mcp/docs"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-mart402-docs": {
      "type": "http",
      "url": "https://mart402.com/mcp/docs"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-mart402-docs]
url = "https://mart402.com/mcp/docs"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-mart402-docs": {
      "type": "remote",
      "url": "https://mart402.com/mcp/docs",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-mart402-docs --url 'https://mart402.com/mcp/docs' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-mart402-docs:
    url: "https://mart402.com/mcp/docs"
```

### Netclaw

```json
{
  "McpServers": {
    "com-mart402-docs": {
      "Transport": "http",
      "Url": "https://mart402.com/mcp/docs"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-mart402-docs -t streamable-http -u 'https://mart402.com/mcp/docs'
```

### Other

```json
{
  "mcpServers": {
    "com-mart402-docs": {
      "type": "http",
      "url": "https://mart402.com/mcp/docs"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-23 (score 74, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-21 (score 73, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-20 (score 72)

First indexed and scored.

## MCP tools (14)

### `get_catalog` (~29 tokens)

Mart402 catalog (products, prices, policies)

Mart402 product catalog: all products, prices, payment config, error codes, rate limits. Free.

Output parameters:

- `body`: JSON body of the underlying call (see /samples/{product} for each product's shape)
- `how_to_pay` (string)
- `payment_required` (boolean): true when status is 402: body holds x402 payment terms, not a result. Pay and call again with x_payment
- `receipt_id` (string): set on paid results; free re-fetch via get_receipt
- `status` (integer): HTTP status of the underlying call (200 result, 402 payment terms, 4xx input error)

### `quote_parse` (~63 tokens)

Quote a PDF parse (free, exact price)

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).

Input parameters:

- `url` (string, required): PDF URL

Output parameters:

- `body`: JSON body of the underlying call (see /samples/{product} for each product's shape)
- `how_to_pay` (string)
- `payment_required` (boolean): true when status is 402: body holds x402 payment terms, not a result. Pay and call again with x_payment
- `receipt_id` (string): set on paid results; free re-fetch via get_receipt
- `status` (integer): HTTP status of the underlying call (200 result, 402 payment terms, 4xx input error)

### `get_receipt` (~46 tokens)

Re-fetch a paid result by receipt

Re-fetch a previously paid result for free by receipt id (every paid response carries receipt_id).

Input parameters:

- `receipt_id` (string, required): receipt_id from a paid response (rcpt_...)

Output parameters:

- `body`: JSON body of the underlying call (see /samples/{product} for each product's shape)
- `how_to_pay` (string)
- `payment_required` (boolean): true when status is 402: body holds x402 payment terms, not a result. Pay and call again with x_payment
- `receipt_id` (string): set on paid results; free re-fetch via get_receipt
- `status` (integer): HTTP status of the underlying call (200 result, 402 payment terms, 4xx input error)

### `get_sample` (~270 tokens)

Mart402 sample output

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.

Input parameters:

- `product` (string, required): One of: 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-pa…

Output parameters:

- `body`: JSON body of the underlying call (see /samples/{product} for each product's shape)
- `how_to_pay` (string)
- `payment_required` (boolean): true when status is 402: body holds x402 payment terms, not a result. Pay and call again with x_payment
- `receipt_id` (string): set on paid results; free re-fetch via get_receipt
- `status` (integer): HTTP status of the underlying call (200 result, 402 payment terms, 4xx input error)

### `extract_url` (~185 tokens)

Extract Url

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.

Input parameters:

- `mode` (string): Extraction mode: auto (fast with rendered fallback), fast, heavy
- `ttl` (integer): cache seconds (0 = no cache)
- `url` (string, required): Absolute http(s) URL of the input (web page or PDF, per tool)
- `x_payment` (string): Optional: base64 X-PAYMENT header value (x402 exact scheme, USDC on Base mainnet). Omit it to receive the payment requirements (accepts[] + docs) for this call without being charged.

Output parameters:

- `body`: JSON body of the underlying call (see /samples/{product} for each product's shape)
- `how_to_pay` (string)
- `payment_required` (boolean): true when status is 402: body holds x402 payment terms, not a result. Pay and call again with x_payment
- `receipt_id` (string): set on paid results; free re-fetch via get_receipt
- `status` (integer): HTTP status of the underlying call (200 result, 402 payment terms, 4xx input error)

### `parse_document` (~202 tokens)

Parse Document

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.

Input parameters:

- `quote_id` (string): quote_id returned by quote_parse (price is fixed by the quote)
- `url` (string): Absolute http(s) URL of the PDF (one-step form)
- `x_payment` (string): Optional: base64 X-PAYMENT header value (x402 exact scheme, USDC on Base mainnet). Omit it to receive the payment requirements (accepts[] + docs) for this call without being charged.

Output parameters:

- `body`: JSON body of the underlying call (see /samples/{product} for each product's shape)
- `how_to_pay` (string)
- `payment_required` (boolean): true when status is 402: body holds x402 payment terms, not a result. Pay and call again with x_payment
- `receipt_id` (string): set on paid results; free re-fetch via get_receipt
- `status` (integer): HTTP status of the underlying call (200 result, 402 payment terms, 4xx input error)

### `ocr_image` (~176 tokens)

Ocr Image

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.

Input parameters:

- `image_base64` (string): Base64-encoded image bytes (alternative to image_url)
- `image_url` (string): Absolute http(s) URL of the image (JPEG/PNG/WebP)
- `lang` (string): One of: japanese, latin. Expected script for OCR: japanese or latin
- `x_payment` (string): Optional: base64 X-PAYMENT header value (x402 exact scheme, USDC on Base mainnet). Omit it to receive the payment requirements (accepts[] + docs) for this call without being charged.

Output parameters:

- `body`: JSON body of the underlying call (see /samples/{product} for each product's shape)
- `how_to_pay` (string)
- `payment_required` (boolean): true when status is 402: body holds x402 payment terms, not a result. Pay and call again with x_payment
- `receipt_id` (string): set on paid results; free re-fetch via get_receipt
- `status` (integer): HTTP status of the underlying call (200 result, 402 payment terms, 4xx input error)

### `verify_invoice` (~187 tokens)

Verify Invoice

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.

Input parameters:

- `fields` (object, required): Extracted invoice fields: total_jpy, tax_jpy, reg_no, invoice_no, issue_date, due_date, vendor, customer
- `line_items` (array): Optional line items [{description, amount_jpy}] to reconcile against the subtotal
- `x_payment` (string): Optional: base64 X-PAYMENT header value (x402 exact scheme, USDC on Base mainnet). Omit it to receive the payment requirements (accepts[] + docs) for this call without being charged.

Output parameters:

- `body`: JSON body of the underlying call (see /samples/{product} for each product's shape)
- `how_to_pay` (string)
- `payment_required` (boolean): true when status is 402: body holds x402 payment terms, not a result. Pay and call again with x_payment
- `receipt_id` (string): set on paid results; free re-fetch via get_receipt
- `status` (integer): HTTP status of the underlying call (200 result, 402 payment terms, 4xx input error)

### `enrich_company` (~185 tokens)

Enrich Company

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.

Input parameters:

- `company` (string, required): Company name, domain or URL
- `country_hint` (string): ISO country hint for registry lookups, e.g. 'jp'
- `x_payment` (string): Optional: base64 X-PAYMENT header value (x402 exact scheme, USDC on Base mainnet). Omit it to receive the payment requirements (accepts[] + docs) for this call without being charged.

Output parameters:

- `body`: JSON body of the underlying call (see /samples/{product} for each product's shape)
- `how_to_pay` (string)
- `payment_required` (boolean): true when status is 402: body holds x402 payment terms, not a result. Pay and call again with x_payment
- `receipt_id` (string): set on paid results; free re-fetch via get_receipt
- `status` (integer): HTTP status of the underlying call (200 result, 402 payment terms, 4xx input error)

### `structured_extract` (~160 tokens)

Structured Extract

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.

Input parameters:

- `instructions` (string): optional extra guidance for filling the schema
- `schema` (object, required): {key: description} pairs
- `url` (string, required): Absolute http(s) URL of the input (web page or PDF, per tool)
- `x_payment` (string): Optional: base64 X-PAYMENT header value (x402 exact scheme, USDC on Base mainnet). Omit it to receive the payment requirements (accepts[] + docs) for this call without being charged.

Output parameters:

- `body`: JSON body of the underlying call (see /samples/{product} for each product's shape)
- `how_to_pay` (string)
- `payment_required` (boolean): true when status is 402: body holds x402 payment terms, not a result. Pay and call again with x_payment
- `receipt_id` (string): set on paid results; free re-fetch via get_receipt
- `status` (integer): HTTP status of the underlying call (200 result, 402 payment terms, 4xx input error)

### `document_pipeline` (~169 tokens)

Document Pipeline

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.

Input parameters:

- `enrich` (boolean): Also run issuer enrichment on the parsed invoice
- `url` (string, required): Absolute http(s) URL of the input (web page or PDF, per tool)
- `x_payment` (string): Optional: base64 X-PAYMENT header value (x402 exact scheme, USDC on Base mainnet). Omit it to receive the payment requirements (accepts[] + docs) for this call without being charged.

Output parameters:

- `body`: JSON body of the underlying call (see /samples/{product} for each product's shape)
- `how_to_pay` (string)
- `payment_required` (boolean): true when status is 402: body holds x402 payment terms, not a result. Pay and call again with x_payment
- `receipt_id` (string): set on paid results; free re-fetch via get_receipt
- `status` (integer): HTTP status of the underlying call (200 result, 402 payment terms, 4xx input error)

### `pdf_merge` (~100 tokens)

Pdf Merge

Merge 2-10 PDFs into one, in order. Deterministic, $0.003.

Input parameters:

- `urls` (array, required): List of absolute PDF URLs, in order (2-10)
- `x_payment` (string): Optional: base64 X-PAYMENT header value (x402 exact scheme, USDC on Base mainnet). Omit it to receive the payment requirements (accepts[] + docs) for this call without being charged.

Output parameters:

- `body`: JSON body of the underlying call (see /samples/{product} for each product's shape)
- `how_to_pay` (string)
- `payment_required` (boolean): true when status is 402: body holds x402 payment terms, not a result. Pay and call again with x_payment
- `receipt_id` (string): set on paid results; free re-fetch via get_receipt
- `status` (integer): HTTP status of the underlying call (200 result, 402 payment terms, 4xx input error)

### `pdf_pages` (~140 tokens)

Pdf Pages

Extract pages from a PDF by 1-based ranges (e.g. 1-3,7) into a new PDF. Deterministic, $0.002.

Input parameters:

- `pages` (string, required): 1-based page ranges, e.g. '1-3,7'
- `url` (string, required): Absolute http(s) URL of the input (web page or PDF, per tool)
- `x_payment` (string): Optional: base64 X-PAYMENT header value (x402 exact scheme, USDC on Base mainnet). Omit it to receive the payment requirements (accepts[] + docs) for this call without being charged.

Output parameters:

- `body`: JSON body of the underlying call (see /samples/{product} for each product's shape)
- `how_to_pay` (string)
- `payment_required` (boolean): true when status is 402: body holds x402 payment terms, not a result. Pay and call again with x_payment
- `receipt_id` (string): set on paid results; free re-fetch via get_receipt
- `status` (integer): HTTP status of the underlying call (200 result, 402 payment terms, 4xx input error)

### `pdf_info` (~133 tokens)

Pdf Info

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.

Input parameters:

- `url` (string, required): Absolute http(s) URL of the input (web page or PDF, per tool)
- `x_payment` (string): Optional: base64 X-PAYMENT header value (x402 exact scheme, USDC on Base mainnet). Omit it to receive the payment requirements (accepts[] + docs) for this call without being charged.

Output parameters:

- `body`: JSON body of the underlying call (see /samples/{product} for each product's shape)
- `how_to_pay` (string)
- `payment_required` (boolean): true when status is 402: body holds x402 payment terms, not a result. Pay and call again with x_payment
- `receipt_id` (string): set on paid results; free re-fetch via get_receipt
- `status` (integer): HTTP status of the underlying call (200 result, 402 payment terms, 4xx input error)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-mart402-docs/mcp-docs#diagnostics

## Score history

- 2026-10-24: 74
- 2026-10-23: 74
- 2026-10-22: 73
- 2026-10-21: 73
- 2026-10-20: 72

## Common questions

### What is the com.mart402/docs MCP server?

com.mart402/docs is an MCP server listed in the public MCP registry as com.mart402/docs. Documents and web for AI agents: PDF parse, OCR, web extract, invoice checks. x402, no API key. This page covers its hosted endpoint (https://mart402.com/mcp/docs).

### Is the com.mart402/docs MCP server safe to use?

com.mart402/docs scores 74 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the com.mart402/docs MCP server expose?

com.mart402/docs exposes 14 tools: get_catalog, quote_parse, get_receipt, get_sample, extract_url, and 9 more. Their descriptions and schemas cost roughly 2,045 tokens of context every time the server is loaded.

### Does the com.mart402/docs MCP server require authentication?

No. We connected to com.mart402/docs without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the com.mart402/docs MCP server still maintained?

com.mart402/docs is still listed as active in the MCP registry. We last reached this channel on 24 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://mart402.com/mcp/docs
- Website: https://mart402.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-mart402-docs/mcp-docs.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-mart402-docs/mcp-docs.json
- HTML version of this page: https://verifymcp.io/servers/com-mart402-docs/mcp-docs
