Personalize personalize

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

Input schema

{
 "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"
 ]
}

Call it — MCP

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": "…"
      }
    }
  }
}

Call it — REST

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