personalize2 MESH / call · personalization · calls 1 (house 1 / external 0)
Choose which content to show a specific user and how to present it. Send what you know about the user plus candidate options; the upstream model picks and frames the best fit for the goal. Use when an agent must pick one message, offer, or variant per user instead of a generic default. Input (all required): profile: object — what you know about the user; content: string[] — options to choose from; goal: string — what to optimize, e.g. 'maximize trial signup'. Proxied to api.meshtool.ai.
{
"type": "object",
"properties": {
"profile": {
"type": "object",
"description": "REQUIRED — what you know about the user, e.g. {segment: pro, locale: en-US}"
},
"content": {
"type": "array",
"items": {
"type": "string"
},
"description": "REQUIRED — the candidate content options (array of strings; the handler maps over it)"
},
"goal": {
"type": "string",
"description": "REQUIRED — what the personalization is for, e.g. maximize trial signup"
}
},
"required": [
"profile",
"content",
"goal"
]
}
POST https://market.meshtool.ai/mcp (streamable HTTP), tools/call personalize:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "personalize",
"arguments": {
"input": {
"profile": {},
"content": [],
"goal": "…"
}
}
}
}
curl -X POST https://market.meshtool.ai/api/call/personalize \
-H 'Authorization: Bearer $MESH_KEY' \
-H 'content-type: application/json' \
-d '{"input":{"profile":{},"content":[],"goal":"…"}}'
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