Calibrated vision for AI agents: meal nutrition, personal color, styling reports. x402, no API key.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Mart402 product catalog: all products, prices, payment config, error codes, rate limits. Free.
This tool takes no arguments.
Mart402 product catalog: all products, prices, payment config, error codes, rate limits. Free.
No arguments.
{
"type": "object",
"properties": {}
}Re-fetch a previously paid result for free by receipt id (every paid response carries receipt_id).
| Argument | Type | Description |
|---|---|---|
| receipt_id* | string | receipt_id from a paid response (rcpt_...) |
{
"type": "object",
"required": [
"receipt_id"
],
"properties": {
"receipt_id": {
"type": "string",
"description": "receipt_id from a paid response (rcpt_...)"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| product* | string | 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) |
{
"type": "object",
"required": [
"product"
],
"properties": {
"product": {
"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"
],
"type": "string",
"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)"
}
}
}Analyze a meal photo to itemized nutrition JSON: dishes, portions, kcal, macros with per-item confidence, reference-object scale calibration, scene-complexity detection, a disclosed calibrated kcal range, PFC balance ratios and alcohol-aware 4/4/9 cross-checks. Calibrated on 30 weighed meals (range contained truth in 26/30). Every call is a 3-run consensus with disclosed spread + item agreement. $0.05/image.
| Argument | Type | Description |
|---|---|---|
| hints | string | cuisine/context hint, e.g. 'Japanese teishoku, small diet portions' - measurably improves accuracy on regional home-style meals |
| image_url | string | Absolute http(s) URL of the image (JPEG/PNG/WebP) |
| pack_code | string | retry credit issued after an unbilled failed call (replaces payment) |
| 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. |
| image_base64 | string | Base64-encoded image bytes (alternative to image_url) |
{
"type": "object",
"required": [],
"properties": {
"hints": {
"type": "string",
"description": "cuisine/context hint, e.g. 'Japanese teishoku, small diet portions' - measurably improves accuracy on regional home-style meals"
},
"image_url": {
"type": "string",
"description": "Absolute http(s) URL of the image (JPEG/PNG/WebP)"
},
"pack_code": {
"type": "string",
"description": "retry credit issued after an unbilled failed call (replaces payment)"
},
"x_payment": {
"type": "string",
"description": "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."
},
"image_base64": {
"type": "string",
"description": "Base64-encoded image bytes (alternative to image_url)"
}
},
"x-required-one-of": [
"image_url",
"image_base64"
]
}Personal color analysis from 1-3 portraits: measured pixel colorimetry (CIELAB/ITA) cross-checked against vision-model attributes, cross-photo lighting consistency, then a published deterministic rule table gives the 4-season verdict with palette and style advice. No identification; images not stored. Flat $0.05/call. Choose this when you need only the seasonal color verdict and palette as JSON. For the fuller styling verdict (face impression, body frame, silhouette) use style_profile; for a finished PDF for a human client use style_report.
| Argument | Type | Description |
|---|---|---|
| style | string | One of: feminine, masculine, neutral. Styling context: feminine, masculine or neutral |
| images | array | up to 3 of {image_url|image_base64}; different lighting recommended |
| image_url | string | Absolute http(s) URL of the image (JPEG/PNG/WebP) |
| pack_code | string | retry credit issued after an unbilled failed call (replaces payment) |
| 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. |
| image_base64 | string | Base64-encoded image bytes (alternative to image_url) |
{
"type": "object",
"required": [],
"properties": {
"style": {
"enum": [
"feminine",
"masculine",
"neutral"
],
"type": "string",
"default": "neutral",
"description": "One of: feminine, masculine, neutral. Styling context: feminine, masculine or neutral"
},
"images": {
"type": "array",
"items": {
"type": "object"
},
"description": "up to 3 of {image_url|image_base64}; different lighting recommended"
},
"image_url": {
"type": "string",
"description": "Absolute http(s) URL of the image (JPEG/PNG/WebP)"
},
"pack_code": {
"type": "string",
"description": "retry credit issued after an unbilled failed call (replaces payment)"
},
"x_payment": {
"type": "string",
"description": "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."
},
"image_base64": {
"type": "string",
"description": "Base64-encoded image bytes (alternative to image_url)"
}
},
"x-required-one-of": [
"image_url",
"image_base64",
"images"
]
}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.
| Argument | Type | Description |
|---|---|---|
| image_url | string | Absolute http(s) URL of the image (JPEG/PNG/WebP) |
| image_base64 | string | Base64-encoded image bytes (alternative to image_url) |
{
"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"
]
}Volume pricing for style_report: one $19.90 payment returns 10 single-use credit codes ($1.99/unit vs $2.99 single, en or ja, no expiry). Treat codes like cash. Not an analysis: it buys prepaid style_report credits. Choose this only when you expect to produce several style_report PDFs; pass each code as pack_code to style_report.
| Argument | Type | Description |
|---|---|---|
| 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. |
{
"type": "object",
"required": [],
"properties": {
"x_payment": {
"type": "string",
"description": "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."
}
}
}Integrated styling verdict: seasonal color (measured colorimetry consensus) + face-impression zone (published geometry rules) + body frame + integration rules (palette subset, taste, silhouette, modifiers). 1-3 face photos, optional full-body + questionnaire. Flat $0.05/call. Choose this when you want the integrated styling analysis as JSON to use or render yourself; it is the same analysis that style_report turns into a PDF. For color only use portrait_analysis.
| Argument | Type | Description |
|---|---|---|
| style | string | One of: feminine, masculine, neutral. Styling context: feminine, masculine or neutral |
| images | array | Up to 3 objects {image_url | image_base64} |
| image_url | string | Absolute http(s) URL of the image (JPEG/PNG/WebP) |
| 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. |
| image_base64 | string | Base64-encoded image bytes (alternative to image_url) |
| questionnaire | object | Optional frame questionnaire answers (see /catalog input spec) |
| body_image_url | string | Optional full-body photo URL for frame estimation |
Client-ready deliverable: the style-profile analysis rendered as a finished PDF report in English or Japanese (palette with color names, style-aware outfit formulas, virtual draping boards with disclosed candidate conflicts, honest confidence) returned as report_pdf_base64 + full profile JSON. For agents serving human end-clients. Flat $2.99/call, or $1.99/unit with a prepaid report_pack credit (pass pack_code). Choose this when the result goes to a HUMAN end-client as a finished document; if you will present the result yourself, style_profile returns the same analysis as JSON for less.
| Argument | Type | Description |
|---|---|---|
| name | string | client name printed on the report (same field as REST; client_name is accepted as an alias) |
| style | string | One of: feminine, masculine, neutral. Styling context: feminine, masculine or neutral |
| images | array | 1-3 face photos |
| language | string | report language |
| image_url | string | Absolute http(s) URL of the image (JPEG/PNG/WebP) |
| pack_code | string | prepaid credit from report_pack (replaces payment) |
| 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. |
| body_image_base64 |
| string |
| See the product's input spec in /catalog |
{
"type": "object",
"required": [],
"properties": {
"style": {
"enum": [
"feminine",
"masculine",
"neutral"
],
"type": "string",
"default": "neutral",
"description": "One of: feminine, masculine, neutral. Styling context: feminine, masculine or neutral"
},
"images": {
"type": "array",
"items": {
"type": "object"
},
"description": "Up to 3 objects {image_url | image_base64}"
},
"image_url": {
"type": "string",
"description": "Absolute http(s) URL of the image (JPEG/PNG/WebP)"
},
"x_payment": {
"type": "string",
"description": "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."
},
"image_base64": {
"type": "string",
"description": "Base64-encoded image bytes (alternative to image_url)"
},
"questionnaire": {
"type": "object",
"description": "Optional frame questionnaire answers (see /catalog input spec)"
},
"body_image_url": {
"type": "string",
"description": "Optional full-body photo URL for frame estimation"
},
"body_image_base64": {
"type": "string",
"description": "See the product's input spec in /catalog"
}
},
"x-required-one-of": [
"image_url",
"image_base64",
"images"
]
}| image_base64 | string | Base64-encoded image bytes (alternative to image_url) |
| questionnaire | object | optional answers (see /catalog style-report input) |
| body_image_url | string | optional full-body photo URL (body-shape layer) |
| body_image_base64 | string | optional full-body photo as base64 |
{
"type": "object",
"required": [],
"properties": {
"name": {
"type": "string",
"description": "client name printed on the report (same field as REST; client_name is accepted as an alias)"
},
"style": {
"enum": [
"feminine",
"masculine",
"neutral"
],
"type": "string",
"default": "neutral",
"description": "One of: feminine, masculine, neutral. Styling context: feminine, masculine or neutral"
},
"images": {
"type": "array",
"items": {
"type": "object"
},
"description": "1-3 face photos"
},
"language": {
"enum": [
"en",
"ja"
],
"type": "string",
"default": "en",
"description": "report language"
},
"image_url": {
"type": "string",
"description": "Absolute http(s) URL of the image (JPEG/PNG/WebP)"
},
"pack_code": {
"type": "string",
"description": "prepaid credit from report_pack (replaces payment)"
},
"x_payment": {
"type": "string",
"description": "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."
},
"image_base64": {
"type": "string",
"description": "Base64-encoded image bytes (alternative to image_url)"
},
"questionnaire": {
"type": "object",
"description": "optional answers (see /catalog style-report input)"
},
"body_image_url": {
"type": "string",
"description": "optional full-body photo URL (body-shape layer)"
},
"body_image_base64": {
"type": "string",
"description": "optional full-body photo as base64"
}
},
"x-required-one-of": [
"image_url",
"image_base64",
"images"
]
}