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.