token-of-esteem

A press your agent can commission: a funny, personalized printed booklet, mailed as a gift.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
97%
Integridad del esquema
67%
Calidad de los nombres
100%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,333Tokens (definiciones de herramientas)
~1.6 KBTamaño de respuesta típico
Impacto moderado en la atención (1.82% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "token-of-esteem": {
      "url": "https://mcp.tokenofesteem.com/v1/mcp"
    }
  }
}

Puntos de conexión remotos

https://mcp.tokenofesteem.com/v1/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (12)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢list_voices

List the three comedic voices (Hype Man, Best Friend Roast, Conspiracy Theorist) and the cover image model each prefers. Free, no side effects. Call this first to pick a voice.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
🟢list_formats

List supported booklet formats. There is one today: manual_v1, a 16-page booklet. Free, no side effects.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
🟢list_image_models

List supported cover image models and their per-call cost. Free, no side effects.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
🟡get_pricing(format, ship_to, voice, image_model)

Compute the exact total for a hypothetical gift (format, voice, image model, ship_to) before you commit. Free, no order is created. Call before create_gift so you know the charge.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "format": {
      "type": "string",
      "enum": [
        "manual_v1"
      ],
      "description": "Booklet format to price. Only manual_v1 is supported today."
    },
    "ship_to": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "line1": {
          "type": "string",
          "minLength": 1,
          "maxLength": 120
        },
        "line2": {
          "type": "string",
          "maxLength": 120
        },
        "city": {
          "type": "string",
          "minLength": 1,
          "maxLength": 60
        },
        "region": {
          "type": "string",
          "minLength": 1,
          "maxLength": 60
        },
        "postal_code": {
          "type": "string",
          "minLength": 1,
          "maxLength": 20
        },
        "country": {
          "type": "string",
          "minLength": 2,
          "maxLength": 2,
          "pattern": "^[A-Z]{2}$"
        },
        "phone": {
          "type": "string",
          "maxLength": 30
        }
      },
      "required": [
        "name",
        "line1",
        "city",
        "region",
        "postal_code",
        "country"
      ],
      "description": "Destination address. US is supported; the total and tax depend on the destination."
    },
    "voice": {
      "type": "string",
      "enum": [
        "hype_man",
        "best_friend",
        "conspiracy"
      ],
      "description": "Optional comedic voice. It does not change the price; accepted for parity with create_gift."
    },
    "image_model": {
      "type": "string",
      "description": "Optional cover image model id. Some models add a small per-call cost."
    }
  },
  "required": [
    "ship_to"
  ]
}
🟡validate_brief(brief)

Run the content policy on a brief without charging or ordering. Free. Call before create_gift so a refusal surfaces early. A booklet that would wound the recipient is refused here, not at charge time.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "brief": {
      "type": "object",
      "properties": {
        "recipient_first_name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 40,
          "pattern": "^[a-zA-Z\\s'-]+$"
        },
        "voice": {
          "type": "string",
          "enum": [
            "hype_man",
            "best_friend",
            "conspiracy"
          ]
        },
        "tone": {
          "type": "string",
          "enum": [
            "warm_with_ribbing",
            "warm_only",
            "deep_appreciation"
          ]
        },
        "celebrate": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 4,
            "maxLength": 140
          },
          "minItems": 2,
          "maxItems": 8
        },
        "tease_gently": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 4,
            "maxLength": 140
          },
          "minItems": 0,
          "maxItems": 6
        },
        "in_jokes": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 4,
            "maxLength": 200
          },
          "minItems": 0,
          "maxItems": 6
        },
        "do_not_mention": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60
          },
          "minItems": 0,
          "maxItems": 8
        },
        "image_brief": {
          "type": "string",
          "maxLength": 300
        },
        "image_model": {
          "type": "string",
          "enum": [
            "flux_2_pro",
            "imagen_4",
            "ideogram_3",
            "recraft_v4",
            "gpt_image_2",
            "nano_banana_2"
          ]
        }
      },
      "required": [
        "recipient_first_name",
        "voice",
        "tone",
        "celebrate"
      ],
      "description": "The same brief you would pass to create_gift. It is checked against the content policy, free, with no order created."
    }
  },
  "required": [
    "brief"
  ]
}
🟡create_gift(idempotency_key, format, brief, recipient, preview_before_print, ...)

Place the order: write, print, and mail the booklet. CHARGES the buyer. The recipient is whoever you name in recipient, which may be your own user. Idempotent on idempotency_key for 24 hours. Pass shared_payment_token to pay tokenlessly, or omit it to charge the account's saved card.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "idempotency_key": {
      "type": "string",
      "minLength": 8,
      "maxLength": 64,
      "description": "Caller-chosen key that makes this order idempotent for 24 hours. Reuse the same key to retry safely without charging twice."
    },
    "format": {
      "type": "string",
      "enum": [
        "manual_v1"
      ],
      "description": "Booklet format. Only manual_v1, a 16-page booklet, is supported today."
    },
    "brief": {
      "type": "object",
      "properties": {
        "recipient_first_name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 40,
          "pattern": "^[a-zA-Z\\s'-]+$"
        },
        "voice": {
          "type": "string",
          "enum": [
            "hype_man",
            "best_friend",
            "conspiracy"
          ]
        },
        "tone": {
          "type": "string",
          "enum": [
            "warm_with_ribbing",
            "warm_only",
            "deep_appreciation"
          ]
        },
        "celebrate": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 4,
            "maxLength": 140
          },
          "minItems": 2,
          "maxItems": 8
        },
        "tease_gently": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 4,
            "maxLength": 140
          },
          "minItems": 0,
          "maxItems": 6
        },
        "in_jokes": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 4,
            "maxLength": 200
          },
          "minItems": 0,
          "maxItems": 6
        },
        "do_not_mention": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 60
          },
          "minItems": 0,
          "maxItems": 8
        },
        "image_brief": {
          "type": "string",
          "maxLength": 300
        },
        "image_model": {
          "type": "string",
          "enum": [
            "flux_2_pro",
            "imagen_4",
            "ideogram_3",
            "recraft_v4",
            "gpt_image_2",
            "nano_banana_2"
          ]
        }
      },
      "required": [
        "recipient_first_name",
        "voice",
        "tone",
        "celebrate"
      ],
      "description": "Structured brief about the recipient: what to celebrate, what to tease gently, and the inside jokes worth knowing."
    },
    "recipient": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "recipient_id": {
              "type": "string",
              "minLength": 1
            }
          },
          "required": [
            "recipient_id"
          ]
        },
        {
          "type": "object",
          "properties": {
            "first_name": {
              "type": "string",
              "minLength": 1,
              "maxLength": 40,
              "pattern": "^[a-zA-Z\\s'-]+$"
            },
            "ship_to": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 100
                },
                "line1": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 120
                },
                "line2": {
                  "type": "string",
                  "maxLength": 120
                },
                "city": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 60
                },
                "region": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 60
                },
                "postal_code": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 20
                },
                "country": {
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 2,
                  "pattern": "^[A-Z]{2}$"
                },
                "phone": {
                  "type": "string",
                  "maxLength": 30
                }
              },
              "required": [
                "name",
                "line1",
                "city",
                "region",
                "postal_code",
                "country"
              ]
            }
          },
          "required": [
            "first_name",
            "ship_to"
          ]
        }
      ],
      "description": "Who receives the booklet and where to mail it. Pass an inline recipient with a US ship_to, or a saved recipient_id."
    },
    "preview_before_print": {
      "type": "boolean",
      "description": "If true, the gift pauses for buyer review before printing instead of printing automatically."
    },
    "agent_note": {
      "type": "string",
      "maxLength": 500,
      "description": "Optional note from the agent, stored with the order for support. Never printed in the booklet."
    },
    "shared_payment_token": {
      "type": "string",
      "pattern": "^spt_",
      "description": "Single-use Stripe Shared Payment Token (spt_...) to pay without a stored card. Omit to charge the account default."
    }
  },
  "required": [
    "idempotency_key",
    "brief",
    "recipient"
  ]
}
🟡get_gift(gift_id)

Fetch a gift by gift_id and return its full resource: status, voice, format, pricing, the recipient, and fulfillment (Lulu job id, carrier, tracking URL, estimated delivery). Free and read-only. Use it to poll progress after create_gift: status advances through the pipeline to shipped then delivered, or ends at held, refused, cancelled, or failed.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "gift_id": {
      "type": "string",
      "description": "The gift_id returned by create_gift, identifying the order to fetch."
    }
  },
  "required": [
    "gift_id"
  ]
}
🟢list_gifts(status, since, limit, cursor)

Paginated list of gifts on the account, with optional status and date filters. Free.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "created",
        "validating",
        "generating",
        "output_validating",
        "rendering",
        "awaiting_buyer_preview",
        "queued_for_print",
        "printed",
        "shipped",
        "delivered",
        "held",
        "refused",
        "cancelled",
        "failed"
      ],
      "description": "Only return gifts in this status, for example shipped, delivered, or cancelled."
    },
    "since": {
      "type": "string",
      "format": "date-time",
      "description": "Only return gifts created at or after this ISO 8601 timestamp."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Maximum number of gifts to return, 1 to 100. Defaults to 50."
    },
    "cursor": {
      "type": "string",
      "description": "Opaque pagination cursor from a previous list_gifts response."
    }
  }
}
🔴cancel_gift(gift_id, reason)

Cancel an in-flight gift and receive the refund amount. Free. Only possible before the booklet goes to print; once printing has started it fails with cancel_too_late. Pass the gift_id from create_gift and an optional reason for your records.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "gift_id": {
      "type": "string",
      "description": "The gift_id returned by create_gift, identifying the order to cancel."
    },
    "reason": {
      "type": "string",
      "maxLength": 200,
      "description": "Optional human-readable reason for the cancellation, recorded on the order."
    }
  },
  "required": [
    "gift_id"
  ]
}
🟡get_account

Return this account's spending caps and month-to-date spend. Free. Use it to confirm budget before create_gift.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
🟡list_recipients

Return the account's saved recipients (address book). Free. Reuse a recipient_id in create_gift instead of re-entering an address.

Esquema de entrada

{
  "type": "object",
  "properties": {}
}
🟡create_setup_link(return_url)

Return a hosted Stripe link for the buyer to save a card or wallet to the account. After that, create_gift without a shared_payment_token charges the saved card.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "return_url": {
      "type": "string",
      "format": "uri"
    }
  }
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada12 herramientas
verificadoversión no registrada12 herramientas
verificadoversión no registrada12 herramientas