MCP for agents
Agents burn meters faster than people do. The Argus MCP server gives them a read-only view of every meter you track, so an agent can check its own runway, notice a provider running dry, and route around trouble — before your alert email does.
Connect
Point any MCP client at the server with an API key as the bearer token (create one in Settings → API keys):
{
"mcpServers": {
"argus": {
"url": "https://api.argus.town/mcp",
"headers": { "Authorization": "Bearer argus_mcp_..." }
}
}
}Tools
Read tools, all scoped to the key's workspace:
get_overviewEvery provider's metrics and totals at once.
list_connectionsConnected providers and their status.
get_providerFull metrics and rate-limit snapshots for one connection.
get_rate_limit_statusThe tightest rate-limit headroom and error rates across providers — the 'am I about to hit a wall' check.
get_advisoriesActive warnings: low balances, short runway, spend spikes.
get_cost_accuracyHow exact each provider's numbers are right now (reconciliation drift and coverage).
get_request_costsRecent itemized request costs for a provider — what did the last N calls actually cost.
Management tools
Agents can also manage connections, scoped to the key's project: an agent holding a project's key can only ever act on that project.
list_available_providersProviders connectable with an API key, and which credential types each accepts.
connect_provider{ provider, secret, credential_type?, label? }Connect a provider with a credential. Validated against the provider before storage, stored encrypted, initial sync queued. credential_type defaults to the provider's primary type — call list_available_providers for the accepted types per provider. Agents should only pass secrets their operator provided.
sync_connection{ connection_id }Queue an immediate refresh for one connection.
There is deliberately no remove tool — deleting a connection erases its ledger, so removal stays a human action (dashboard, or an explicit REST DELETE).
Which providers can be connected
Two lists that differ on purpose: GET /providers/catalog knows the pricing shape of every provider Argus tracks, but only some are pollable with a key. Each catalog entry carries connectable and credential_types, and list_available_providers returns exactly the connectable set — check one of those before calling connect_provider.
A wrinkle worth knowing: openai and anthropic need an org admin / usage-scoped key (not a normal sk-… API key) — Argus validates against the provider and will reject a standard key. Providers that aren't pollable are still tracked via SDK/ingest telemetry.