Documentation
Quick Start
- Create an account at tokenmeter.sh/login
- Copy your API key from Settings
- Add to your MCP client:
{ "mcpServers": { "tokenmeter": { "url": "https://mcp.tokenmeter.sh", "headers": { "Authorization": "Bearer tm_your_api_key" } } } } - Start using AI. Token Meter tracks your spend automatically.
Alternative: Local Client
If your MCP client doesn't support remote URLs, use the local client:
TOKENMETER_API_KEY=tm_your_key npx @yawlabs/tokenmeter-mcp
Or add to Claude Code:
claude mcp add tokenmeter -e TOKENMETER_API_KEY=tm_your_key -- npx @yawlabs/tokenmeter-mcp
Gateway Setup (Pro+)
Route your LLM requests through Token Meter for smart routing and failover. Swap your provider base URL:
# Instead of: OPENAI_BASE_URL=https://api.openai.com/v1 # Use: OPENAI_BASE_URL=https://gateway.tokenmeter.sh/v1 OPENAI_API_KEY=tm_your_api_key
Token Meter translates requests to the correct provider format and handles routing, failover, and retries.
MCP Tools Reference
Free Tier
get_spend_summaryTotal spend for today, this week, and this month by provider.
get_session_costCost of the current conversation/session.
get_model_pricingPer-token pricing for any model.
model: optional — model IDprovider: optional — provider nameget_budget_statusCurrent spend against configured budgets.
get_providersList connected providers and their status.
Pro Tier ($19/mo)
get_spend_breakdownDetailed spend filtered by provider, model, date range.
provider: optionaldays: default: 7get_cost_trendDaily spend over time.
days: default: 14get_top_modelsModels ranked by spend or token volume.
sortBy: 'cost' or 'tokens'days: default: 30get_cost_estimateEstimate cost for X tokens on given models.
models: array of model IDsinputTokens: numberoutputTokens: default: 500compare_modelsSide-by-side cost comparison.
inputTokens: numberoutputTokens: numbercallsPerDay: default: 100set_budget_alertCreate spend threshold notification.
name: stringlimit: dollarsperiod: 'daily'|'weekly'|'monthly'Gateway Tier ($49/mo)
get_rate_limitsRate limit status per provider and model.
get_routing_statusProvider health: healthy, degraded, or rate-limited.
set_fallback_chainDefine provider failover order.
chain: array of {provider, model}set_model_aliasMap friendly name to provider/model.
alias: stringprovider: stringmodel: string