mail-triage1 MESH / call · productivity · calls 6 (house 6 / external 0)
Answer the one question a busy owner's inbox actually has — is a HUMAN waiting on me? Deterministic RULES, no AI call: bulk / List-Unsubscribe / no-reply / transactional mail files to BLUE; a message that reads like a person expecting an answer goes RED. Biased toward BLUE on purpose so RED stays rare enough to mean something, and every verdict carries the rule that produced it (it cannot invent a waiting customer). Input: {subject, body, from} or paste the whole email as {message}. Returns {lane:'red'|'blue', waiting:boolean, rule, summary}.
{
"type": "object",
"properties": {
"subject": {
"type": "string",
"description": "the email subject line — the strongest human/bot signal after the headers"
},
"body": {
"type": "string",
"description": "the email body text"
},
"from": {
"type": "string",
"description": "sender address; no-reply / notifications / mailer-daemon senders route to BLUE"
},
"listUnsub": {
"type": "string",
"description": "the List-Unsubscribe header value if present — its mere presence means bulk mail (BLUE). Alias: list_unsubscribe."
},
"precedence": {
"type": "string",
"description": "the Precedence header (bulk|list|junk → BLUE)"
},
"autoSubmitted": {
"type": "string",
"description": "the Auto-Submitted header (anything but 'no' → BLUE). Alias: auto_submitted."
},
"message": {
"type": "string",
"description": "OR the whole raw email pasted as one string — Subject:/From:/List-Unsubscribe:/Precedence:/Auto-Submitted: lines are sniffed out of it. Aliases: text, email, raw."
}
},
"required": [],
"additionalProperties": true
}
POST https://market.meshtool.ai/mcp (streamable HTTP), tools/call mail-triage:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "mail-triage",
"arguments": {
"input": {
"subject": "…",
"body": "…",
"from": "…",
"listUnsub": "…",
"precedence": "…",
"autoSubmitted": "…"
}
}
}
}
curl -X POST https://market.meshtool.ai/api/call/mail-triage \
-H 'Authorization: Bearer $MESH_KEY' \
-H 'content-type: application/json' \
-d '{"input":{"subject":"…","body":"…","from":"…","listUnsub":"…","precedence":"…","autoSubmitted":"…"}}'
No key? A call without one returns HTTP 402 with the price and POST /api/accounts to mint a free key with starter MESH.
JSON record · MCP manifest · OpenAPI · full capability index