token-of-esteem
A press your agent can commission: a funny, personalized printed booklet, mailed as a gift.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"token-of-esteem": {
"url": "https://mcp.tokenofesteem.com/v1/mcp"
}
}
}Remote-Endpunkte
https://mcp.tokenofesteem.com/v1/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (12)
🟢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.
Eingabe-Schema
{
"type": "object",
"properties": {}
}🟢list_formats
List supported booklet formats. There is one today: manual_v1, a 16-page booklet. Free, no side effects.
Eingabe-Schema
{
"type": "object",
"properties": {}
}🟢list_image_models
List supported cover image models and their per-call cost. Free, no side effects.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"type": "object",
"properties": {
"return_url": {
"type": "string",
"format": "uri"
}
}
}Community
Nachweis