Argus API Spend
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Track API spend, credit balances and runway across OpenAI, Anthropic, OpenRouter and 25 more.
| Author | town.argus |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 426 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Argus API Spend": {
"url": "https://api.argus.town/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (12)
list_connectionsList the org's connected providers and status.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_overviewCross-provider rollup: balance, burn rate, days-to-zero, month-to-date spend, projection, rate-limit headroom. Per provider, spend_basis says where month-to-date spend comes from: 'reported' (provider usage or itemized events) or 'observed_since_connected' (summed balance drops since observed_since, so spend before that date is missing); balance_scope says whether the balance covers the 'account', the connected 'key' or is 'unknown'.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_providerFull metrics + rate-limit snapshots for one connection id. Includes spend_basis ('reported' | 'observed_since_connected'), observed_since and balance_scope ('account' | 'key' | 'unknown').
Parameters:
connectionId(required) — string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_rate_limit_statusLatest rate-limit headroom and error rate across the org's providers.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_advisoriesAll current advisories (top-up, upgrade, near-limit, spend-spike) across providers.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_cost_accuracyCost-accuracy state per provider: whether itemized costs are exact, estimated, or unreconciled, with the drift % between Argus's itemized total and the provider's own reported spend. 'unreconciled' means no provider anchor has been compared yet; where one exists (OpenRouter) it covers only calls sent through the connected key. spend_basis qualifies mtdSpendUsd (see get_overview).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_request_costsRecent itemized per-request costs for a provider (model, tokens, cost in USD, provenance). Args: provider (string), limit (number, default 25, max 100).
Parameters:
provider(required) — string — Provider id, e.g. 'openrouter'limit— number
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
list_available_providersProviders that can be connected with an API key (poll plane). Anything else can still be tracked by sending telemetry — see https://argus.town/docs/ingest.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
create_connect_linkHand a provider credential to Argus without it passing through you: returns a single-use URL (valid 1 hour) where your operator pastes the key. Show the URL to your operator, then poll get_connect_link for the connection id. Prefer this over connect_provider whenever you don't already hold the secret. Args: provider (id from list_available_providers), credential_type (optional), label (optional).
Parameters:
label— stringprovider— stringcredential_type— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_connect_linkStatus of a connect link: pending, submitting (the human is mid-submit), done (with connection_id), expired, or locked after repeated bad credentials.
Parameters:
id(required) — string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
connect_providerConnect a provider to THIS project with a credential. Validates the credential against the provider before storing it (encrypted), then queues the initial sync. Args: provider (id from list_available_providers), secret (the provider API key), credential_type (optional), label (optional), meta (optional object of non-secret fields, e.g. OpenRouter admin_key needs {tracked_key: <key name, label or hash>} inside meta, not at the top level; Cloudflare Containers needs {account_id} and takes optional {billing_day}). Only pass secrets your operator gave you for this purpose.
Parameters:
provider(required) — stringsecret(required) — stringmeta— objectlabel— stringcredential_type— string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
sync_connectionQueue an immediate balance/usage/plan refresh for one connection. Args: connection_id.
Parameters:
connection_id(required) — string
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.