token-of-esteem

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

我該用這個嗎

品質與安全性

A
說明品質
97%
結構描述完整度
67%
命名品質
100%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~2,333Token(工具定義)
~1.6 KB典型回應大小
中等的注意力影響(128k 上下文的 1.82%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

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

遠端端點

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

它能做什麼

工具清單

工具(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.

輸入結構描述

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

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

輸入結構描述

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

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

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

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

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本12 個工具
已驗證未記錄版本12 個工具