SuperAPI AI Directory

mcp-server

Observability for AI agents: LLM cost, errors and latency across OpenAI, Anthropic, Gemini and Mistral, plus alerts, budget gates, evals and safety checks.

Open website

About this tool

The Argosvix MCP server lets AI agents (Claude Desktop, Cursor, Codex CLI, custom MCP clients) directly query, manage, and operate on their own LLM observability data within a conversation. It supports two transport modes: stdio (subprocess) and HTTP (remote/self-hosted).

[Key Capabilities] The server provides 89 tools (86 generally available + 3 internal ops tools that return 403 for customer accounts), 3 resources, 8 resource templates, and 3 prompts. Health and anomaly endpoints include get_account_health, detect_anomaly, propose_alert_rules, classify_calls_batch, and propose_eval_criteria; there is also a runtime control plane (budget gate/policy gate/human approval gate), enabling agents to both observe and take action. Release history can be viewed on npm.

The prerequisite is that you have already sent LLM calls via @argosvix/sdk or the Python SDK. After that, you can ask Claude / Cursor questions such as:

  • "What was my OpenAI cost over the past 24 hours?"
  • "What alerts are currently firing?"
  • "Show today's 20 most expensive calls."

Agents use your Argosvix API key through this MCP server to retrieve data, with no need to switch dashboard tabs.

[Installation and Configuration] One-click install (start without a key first; then set ARGOSVIX_API_KEY to use tools for your own account). Claude Code users can install the argosvix plugin, which bundles this server and the installation skill.

Claude Desktop configuration: edit the configuration file (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json; Windows: %APPDATA%\Claude\claude_desktop_config.json), then restart Claude Desktop. All 89 tools will appear under the argosvix__ prefix (for example argosvix__query_calls, argosvix__get_account_health, argosvix__create_budget_gate).

Cursor configuration: edit ~/.cursor/mcp.json.

When you do not yet have an API key, the server can also start in introspection-only mode without ARGOSVIX_API_KEY: all 89 tools will be listed so you can evaluate the interface surface, and two public data tools (get_synth_daily / get_daily_readthrough, i.e. Argosvix's own daily AI summaries and OSS readthrough) can be used without a key. All other tool calls will return instructions for obtaining a key; the key address is https://dashboard.argosvix.com/api-keys Note on public data tools: they belong only to the default full profile (not in ARGOSVIX_MCP_PROFILE=core), and like all other tools they honor ARGOSVIX_API_BASE—if you point the server at a different base, they will request /v1/synth-daily and /v1/readthrough from that base without authentication.

[Tool Profiles] The default profile is full (all 89 tools). If the MCP client's context budget is tight, you can set ARGOSVIX_MCP_PROFILE=core to expose only the 11 core tools needed for daily operations: query_calls · aggregate_calls · get_cost_summary · get_percentiles · get_account_health · detect_anomaly · list_alerts · create_alert · silence_alert · unsilence_alert · get_deployed_prompt. This setting works under both stdio and HTTP transports; unknown values fall back to full and emit a warning on stderr.

[Description Language] Descriptions for tools, resources, and prompts default to English. Set ARGOSVIX_MCP_LANG=ja to get the original Japanese descriptions. Unset or unknown values fall back to en (unknown values emit a warning on stderr). Tool names, input schemas, and behavior are identical in both languages; only the description text aimed at humans/agents changes. This setting works under both stdio and HTTP transports.

[Resources, Resource Templates, and Prompts] Resources expose read-only snapshots that agents can pull into context without an explicit tool call. Resource templates let agents construct dynamic URIs from known ids; the server enforces account scoping on the backend via primary-key lookups, and cross-account ids return 404. Prompts are reusable templates that users can launch as slash commands.

[Subscription Feature (since v0.10, stdio only)] In stdio mode, the resources.subscribe capability is declared. Clients can subscribe to the following static resources; the server polls each subscribed resource every 60 seconds and, when the content hash changes, emits notifications/resources/updated. Subscribable URIs (resource templates such as argosvix://calls/{id} are not subscribable): argosvix://account, argosvix://alerts/active, argosvix://cost/today. The HTTP transport (argosvix-mcp --http) does not declare subscribe and rejects subscription requests, because its stateless per-request mode cannot maintain a subscription set or deliver server-initiated notifications; use stdio if you need real-time updates. listChanged is deliberately not declared: the resource list is fixed for the server's lifetime.

[Implementation Notes (v0.10)] Single-flight protection: a slow polling cycle will not start a concurrent next cycle (no overlapping readResource calls). Unsubscribe/shutdown race: re-check by URI before fetching and before notifying, plus an isShuttingDown flag, to avoid notifying for a URI removed mid-cycle. Failure handling: fetch and notification failures are silent (retried on the next cycle); when ARGOSVIX_MCP_DEBUG=1 is set, the server logs { uri, errorClass } to stderr—deliberately not logging error messages, to avoid leaking upstream payload text. Tests: 150 unit tests (including overlapping single-flight + unsubscribe/shutdown race + invalid URI → McpError(InvalidParams) + axis 4 Tier 1 scheduler coverage).

[Data and Privacy] The MCP server uses your API key to https://ingest.argosvix.com Send queries. Do not expose any prompts or completions—only metadata (tokens, cost, latency, model name, your tags). The project is licensed under the MIT License, © Yuto Makihara (Argosvix), see LICENSE for details.

[HTTP Remote and Self-Hosting] The server can also run as a remote MCP endpoint over HTTP, suitable for self-hosting or multi-tenant scenarios (API key provided per request). GET /health → 200 OK, returns the server name/version (no authentication required); POST /mcp → MCP JSON-RPC endpoint (authentication required). Each request must include Authorization: Bearer <api-key> with a valid Argosvix API key (issued at https://dashboard.argosvix.com/api-keys ). The server uses stateless mode (no session ID), so each request is independent and can carry a different key. By default it binds to 127.0.0.1 (localhost only). Use MCP_HTTP_HOST=0.0.0.0 to expose it externally, but in production it must be paired with a reverse proxy + TLS. DNS rebinding protection is applied for localhost binding by comparing the Host header against a known localhost allowlist; when binding to a non-localhost address, use MCP_HTTP_ALLOWED_HOSTS (comma-separated). The request body size limit is 1 MiB. By default, backend error response bodies are not logged, to avoid production log aggregators containing backend internal payloads; if you need to enable raw response body logging during a debugging session, you can turn it on via an environment variable. When this environment variable is not set, error logs contain only path, status, and x-request-id.