@argosvix/mcp-server
The @argosvix/mcp-server is a comprehensive LLM observability and operations MCP server that lets AI agents query, manage, and act on LLM call data, costs, alerts, evals, and runtime controls directly from conversation. It provides 87 tools, 3 resources, 8 resource templates, and 3 prompts.
Query & Analytics
Retrieve, filter, and export LLM call records (up to 50,000 on Pro) by provider, model, time range, and tags
Aggregate cost, latency, and token metrics; get p50/p95/p99 percentiles as single values or time series
One-call account health summary (error rate, latency, budget, recent events) with ok/warn/critical status
Anomaly detection comparing current window vs. baseline across cost, latency, error rate, and call volume
Alerts
List, create, update, and delete alerts (cost threshold, error rate, latency, monthly budget, anomaly, eval score, guardian finding)
Silence/unsilence, acknowledge, and view alert event history
AI-generated alert rule proposals based on historical patterns; bulk-silence noisy alerts
Evals & Quality
Manage LLM-as-judge eval criteria (global defaults + custom, including deterministic evaluators)
Run, list, and compare eval runs on recent calls or golden datasets; detect regressions
AI-generated eval criteria suggestions from a use-case hint and sample calls
Annotations
Create, read, update, and delete human reviews (rating, label, comment) on individual LLM calls
Prompt Management
List, create, update, rename, and delete versioned prompt templates
Deploy/rollback prompt versions to environments (production/staging); resolve the active deployed prompt
Runtime Control Plane
Budget gates: monthly LLM spend limits with SDK-enforced pre-execution blocking (fail_open/fail_closed)
Policy gates: model allowlists, PII blocking, and secret blocking rules
Human approval gates: request, poll, and list approvals before dangerous operations (e.g., bulk delete, purge plaintext)
Safety & Compliance
List/get safety assessments (OpenAI Moderation results); batch-classify unclassified calls on demand
Audit log with filters (event type, actor, time range)
Bulk-purge expired plaintext records (with dry-run and approval gate)
Proposals (Guardian)
View, read, and reply to AI-generated improvement proposals (quality drift, anomalies, cost switching, safety, noisy alerts)
Webhooks
List, create, update, delete, and test outbound webhooks for account events
Account & Project Management
List, create, rename, and delete projects; list team members and roles
Manage saved filter views for the calls dashboard
Integrates with OpenAI's Moderation API for safety classification of LLM calls and uses GPT-4o-mini as a judge for evaluating call quality and proposing eval criteria.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@argosvix/mcp-serverwhat was my total cost from yesterday?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@argosvix/mcp-server
v0.30.0-alpha.10 — Argosvix MCP server lets AI agents (Claude Desktop, Cursor, Codex CLI, custom MCP clients) query, manage, and operate their LLM observability data directly from the conversation. Supports both stdio (subprocess) and HTTP (remote / self-host) transports.
Surface: 87 tools (84 generally available + 3 founder-ops scoped) / 3 resources / 8 resource templates / 3 prompts. Autonomous-AI-ops endpoints (get_account_health / detect_anomaly / propose_alert_rules / classify_calls_batch / propose_eval_criteria) plus runtime control plane (budget gates / policy gates / human-approval gates) complete the "agent that can both observe AND act" narrative. Release history is available on npm.
Why
You're already sending LLM calls through @argosvix/sdk or the Python SDK. Now ask Claude / Cursor questions like:
"What was my OpenAI cost over the past 24h?"
"Which alerts are firing right now?"
"Show me the 20 most expensive calls today."
No dashboard tab-switching. The agent fetches the data via this MCP server using your Argosvix API key.
Related MCP server: Warpmetrics MCP Server
Install
npm install -g @argosvix/mcp-serverConfigure (Claude Desktop)
Edit your Claude Desktop config:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"argosvix": {
"command": "argosvix-mcp",
"env": {
"ARGOSVIX_API_KEY": "argk_..."
}
}
}
}Restart Claude Desktop. All 87 tools appear under the argosvix__ prefix (e.g. argosvix__query_calls, argosvix__get_account_health, argosvix__create_budget_gate).
No API key yet? The server also starts without
ARGOSVIX_API_KEYin introspection-only mode (since v0.30.0-alpha.14): all 87 tools are listed so you can evaluate the surface, and any tool call returns instructions for getting a key at https://dashboard.argosvix.com/api-keys.
Configure (Cursor)
Edit ~/.cursor/mcp.json:
{
"mcpServers": {
"argosvix": {
"command": "argosvix-mcp",
"env": {
"ARGOSVIX_API_KEY": "argk_..."
}
}
}
}Tool profile (ARGOSVIX_MCP_PROFILE)
The default profile is full (all 87 tools). If your MCP client's context budget is tight, set ARGOSVIX_MCP_PROFILE=core to expose only the 11 essentials for day-to-day 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
{
"mcpServers": {
"argosvix": {
"command": "argosvix-mcp",
"env": {
"ARGOSVIX_API_KEY": "argk_...",
"ARGOSVIX_MCP_PROFILE": "core"
}
}
}
}Works in both stdio and HTTP transports. Unknown values fall back to full with a warning on stderr.
Description language (ARGOSVIX_MCP_LANG)
Tool, resource, and prompt descriptions returned by tools/list / resources/list /
prompts/list are in English by default. Set ARGOSVIX_MCP_LANG=ja to get the original
Japanese descriptions instead. Unset or unknown values fall back to en (with a warning
on stderr for unknown values). Tool names, input schemas, and behavior are identical in
both languages — only the human/agent-facing description text changes.
{
"mcpServers": {
"argosvix": {
"command": "argosvix-mcp",
"env": {
"ARGOSVIX_API_KEY": "argk_...",
"ARGOSVIX_MCP_LANG": "ja"
}
}
}
}Works in both stdio and HTTP transports.
Tools (highlights)
87 tools in total — the full list is returned by tools/list. A sample of the core read / write surface:
Tool | Purpose | Type |
| Recent LLM call records, filterable by provider / model / time range | read |
| Aggregate cost / calls / tokens by provider or model | read |
| Configured alerts + recent trigger status | read |
| Detail of a specific alert + recent trigger history | read |
| Alert trigger events across the account (notification history) | read |
| Mute a specific alert (= temporary notification stop, default 24h) | write |
| Resume notifications for a previously muted alert | write |
| Create a new alert rule (cost / error rate / latency / anomaly) | write |
| Mark a specific alert event as acknowledged (idempotent, orthogonal to silence) | write |
Resources (Phase 3, expanded in 0.5.0-alpha.1)
Resources expose read-only snapshots that AI agents can pull into context without an explicit tool call.
URI | Purpose |
| Plan / quota / current-month record usage / retention snapshot (non-sensitive, Bearer-only) |
| Snapshot of currently enabled alerts |
| Last-24h cost breakdown by provider (with |
Resource templates (Phase 3, expanded in 0.8.0-alpha.1)
Resource templates let agents construct dynamic URIs from a known id. The server enforces account scope via PK lookup on the backend, so cross-account ids return 404.
URI template | Purpose |
| Single LLM call record (provider / model / tokens / cost / latency / tags / error / trace_id). Plug in any id from |
| Single alert rule (name / type / threshold / window / channelKinds / sleep / enabled / silencedUntil) + recent 20 trigger events. Plug in any id from |
| Single trace = all spans grouped by |
Prompts (Phase 3, new in 0.4.0-alpha.1)
Prompts are reusable templates the user can launch as slash commands.
Name | Purpose |
| Compare 24h / 7d / 30d cost trends and flag anomalies |
| Audit current alert rules and propose improvements |
| Investigate recent error / latency anomalies (default last 24h) |
Subscriptions (= v0.10, stdio only)
resources.subscribe capability is declared in stdio mode. Clients can subscribe to one or more of the static resources below; the server polls each subscribed resource every 60 seconds and emits notifications/resources/updated when the content hash changes.
Subscribable URIs (resource templates such as argosvix://calls/{id} are not subscribable):
argosvix://accountargosvix://alerts/activeargosvix://cost/today
HTTP transport (= argosvix-mcp --http) does not declare subscribe and rejects subscribe requests, since per-request stateless mode cannot keep a subscription set or deliver server-initiated notifications. Use stdio for live updates.
listChanged is intentionally not declared: the resource list is fixed for the server lifetime.
Implementation notes (v0.10):
Single-flight guard: a slow polling cycle does not start a concurrent next cycle (= no overlapping
readResourcecalls).Unsubscribe / shutdown race: per-URI re-check before fetch and before notify, plus an
isShuttingDownflag, so notifications are not emitted for URIs removed mid-cycle.Failure handling: fetch and notify failures are silent (next cycle retries). With
ARGOSVIX_MCP_DEBUG=1the server logs{ uri, errorClass }to stderr — error messages are intentionally not logged to avoid leaking upstream payload text.Tests: 150 unit tests (incl. overlap single-flight + unsubscribe / shutdown race + invalid URI →
McpError(InvalidParams)+ axis 4 Tier 1 dispatcher coverage).
Privacy
The MCP server sends queries to https://ingest.argosvix.com using your API key. No prompts or completions are exposed — only metadata (tokens, cost, latency, model name, your tags).
Development
npm install
npm run build
npm testLicense
MIT © Yuto Makihara (Argosvix). See LICENSE.
HTTP transport (new in 0.3.0-alpha.1)
The server can also run as a remote MCP endpoint over HTTP, suitable for self-hosting or multi-tenant scenarios where API key is supplied per request.
# Start HTTP transport (default: 127.0.0.1:3000)
argosvix-mcp --http
# Bind to all interfaces with custom port + allowed Host headers
MCP_HTTP_HOST=0.0.0.0 \
MCP_HTTP_PORT=4000 \
MCP_HTTP_ALLOWED_HOSTS="mcp.example.com,localhost:4000" \
argosvix-mcp --httpEndpoints
GET /health→200 OKwith server name/version (no auth)POST /mcp→ MCP JSON-RPC endpoint (auth required)
Client example
curl -X POST http://localhost:3000/mcp \
-H "Authorization: Bearer argk_..." \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list",
"params": {}
}'Auth model
Each request must include Authorization: Bearer <api-key> with a valid
Argosvix API key (issue at https://dashboard.argosvix.com/api-keys). The
server uses stateless mode (no session ID), so each request is independent
and may carry a different key.
Security notes
Default bind is
127.0.0.1(localhost only). UseMCP_HTTP_HOST=0.0.0.0to expose externally, but pair with a reverse proxy + TLS in production.DNS rebinding protection is applied for localhost binds by checking the
Hostheader against a known-localhost allow list. UseMCP_HTTP_ALLOWED_HOSTS(comma-separated) when binding non-locally.Body size is capped at 1 MiB.
Debug logging (new in 0.9.2-alpha.1)
Backend error response bodies are not logged by default to keep production log aggregators free of backend-internal payloads. To enable raw body logging for a debugging session:
ARGOSVIX_MCP_DEBUG=1 argosvix-mcp # stdio mode
ARGOSVIX_MCP_DEBUG=1 argosvix-mcp --http # HTTP modeWithout the env var, error logs only include path, status, and x-request-id.
Source mirror
Development happens in a private monorepo; this repository mirrors the source of the published npm package @argosvix/mcp-server (MIT). Issues and questions are welcome here.
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/argosvix/mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server