free
Free read-only tools: Market402 x402 index search, operator track records, PDF price quotes.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"free": {
"url": "https://mart402.com/mcp/free"
}
}
}Remote endpoints
https://mart402.com/mcp/freestreamable-httpWhat it can do
Tool inventory
Tools (6)
🟢get_catalog
Mart402 product catalog: all products, prices, payment config, error codes, rate limits. Free.
Input Schema
{
"type": "object",
"properties": {}
}Output Schema
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status of the underlying call (200 result, 402 payment terms, 4xx input error)"
},
"body": {
"description": "JSON body of the underlying call (see /samples/{product} for each product's shape)"
},
"payment_required": {
"type": "boolean",
"description": "true when status is 402: body holds x402 payment terms, not a result. Pay and call again with x_payment"
},
"how_to_pay": {
"type": "string"
},
"receipt_id": {
"type": "string",
"description": "set on paid results; free re-fetch via get_receipt"
}
},
"required": [
"status",
"body"
]
}🟢quote_parse(url)
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 Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "PDF URL"
}
},
"required": [
"url"
]
}Output Schema
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status of the underlying call (200 result, 402 payment terms, 4xx input error)"
},
"body": {
"description": "JSON body of the underlying call (see /samples/{product} for each product's shape)"
},
"payment_required": {
"type": "boolean",
"description": "true when status is 402: body holds x402 payment terms, not a result. Pay and call again with x_payment"
},
"how_to_pay": {
"type": "string"
},
"receipt_id": {
"type": "string",
"description": "set on paid results; free re-fetch via get_receipt"
}
},
"required": [
"status",
"body"
]
}🟢search_x402_services(q, limit)
Search the Market402 verified index of the whole x402 economy by capability (e.g. 'ocr', 'market-data'). Every result is a real, probed resource with a measured 402 Score. Free.
Input Schema
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Capability keyword, e.g. 'ocr', 'market-data', 'weather'"
},
"limit": {
"type": "integer",
"default": 10,
"description": "Maximum results (default 10)"
}
},
"required": [
"q"
]
}Output Schema
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status of the underlying call (200 result, 402 payment terms, 4xx input error)"
},
"body": {
"description": "JSON body of the underlying call (see /samples/{product} for each product's shape)"
},
"payment_required": {
"type": "boolean",
"description": "true when status is 402: body holds x402 payment terms, not a result. Pay and call again with x_payment"
},
"how_to_pay": {
"type": "string"
},
"receipt_id": {
"type": "string",
"description": "set on paid results; free re-fetch via get_receipt"
}
},
"required": [
"status",
"body"
]
}🟢get_sample(product)
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 Schema
{
"type": "object",
"properties": {
"product": {
"type": "string",
"enum": [
"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"
],
"description": "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-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. Product id (see the enum)"
}
},
"required": [
"product"
]
}Output Schema
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status of the underlying call (200 result, 402 payment terms, 4xx input error)"
},
"body": {
"description": "JSON body of the underlying call (see /samples/{product} for each product's shape)"
},
"payment_required": {
"type": "boolean",
"description": "true when status is 402: body holds x402 payment terms, not a result. Pay and call again with x_payment"
},
"how_to_pay": {
"type": "string"
},
"receipt_id": {
"type": "string",
"description": "set on paid results; free re-fetch via get_receipt"
}
},
"required": [
"status",
"body"
]
}🟢portrait_precheck(image_url, image_base64)
FREE analyzability check before paying for portrait_analysis: is a face detectable, is the photo quality good enough (clipping/color cast)? Deterministic, no LLM. 10/hour/IP.
Input Schema
{
"type": "object",
"properties": {
"image_url": {
"type": "string",
"description": "Absolute http(s) URL of the image (JPEG/PNG/WebP)"
},
"image_base64": {
"type": "string",
"description": "Base64-encoded image bytes (alternative to image_url)"
}
},
"x-required-one-of": [
"image_url",
"image_base64"
]
}Output Schema
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status of the underlying call (200 result, 402 payment terms, 4xx input error)"
},
"body": {
"description": "JSON body of the underlying call (see /samples/{product} for each product's shape)"
},
"payment_required": {
"type": "boolean",
"description": "true when status is 402: body holds x402 payment terms, not a result. Pay and call again with x_payment"
},
"how_to_pay": {
"type": "string"
},
"receipt_id": {
"type": "string",
"description": "set on paid results; free re-fetch via get_receipt"
}
},
"required": [
"status",
"body"
]
}🟢operator_history(operator)
Free 12-week measured score history for any x402 operator from the Market402 index (weekly series, trend, volatility, badge). Check a seller's record before your agent pays an unfamiliar endpoint.
Input Schema
{
"type": "object",
"properties": {
"operator": {
"type": "string",
"description": "operator domain, e.g. mart402.com"
}
},
"required": [
"operator"
]
}Output Schema
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"description": "HTTP status of the underlying call (200 result, 402 payment terms, 4xx input error)"
},
"body": {
"description": "JSON body of the underlying call (see /samples/{product} for each product's shape)"
},
"payment_required": {
"type": "boolean",
"description": "true when status is 402: body holds x402 payment terms, not a result. Pay and call again with x_payment"
},
"how_to_pay": {
"type": "string"
},
"receipt_id": {
"type": "string",
"description": "set on paid results; free re-fetch via get_receipt"
}
},
"required": [
"status",
"body"
]
}Community
Evidence