@argusai/cli
v0.1.1
Published
Debug, replay, and understand every MCP tool call - Datadog for MCPs
Downloads
190
Maintainers
Readme
👁️ Argus
Datadog for MCPs — See, replay, test, and understand every MCP tool call.
What It Does
Argus is a standalone monitoring dashboard for MCP (Model Context Protocol) servers. It records:
- ✅ Tool calls with full parameters
- ⏱️ Latency measurements
- ❌ Errors and stack traces
- 📊 Usage analytics
- 🔄 Sessions/Runs for organized debugging
- 🔐 Automatic redaction of sensitive data
Then lets you:
- 🔄 Replay tool calls without involving the LLM
- 📋 Compare original vs replayed results (diff view)
- 🔍 Debug issues visually with timeline UI
- 📡 Real-time updates via SSE
Installation
npm install -g @argusai/cliQuick Start
# 1. Start the dashboard (opens browser automatically)
argus dashboard --open
# 2. In another terminal, wrap any MCP server
argus wrap --api http://localhost:3000 -- npx -y @modelcontextprotocol/server-filesystem /tmpThat's it! Make tool calls and watch them appear in real-time.
Architecture
┌─────────────────────────────────────────────────────────────────┐
│ Argus Dashboard │
│ http://localhost:3000 │
└──────────────────────────┬──────────────────────────────────────┘
│ reads from
▼
┌───────────────┐
│ SQLite │
└───────────────┘
▲
┌─────────────────┼─────────────────┐
│ │ │
┌────┴────┐ ┌────┴────┐ ┌────┴────┐
│ GitHub │ │ Figma │ │ Custom │
│ (wrap) │ │ (wrap) │ │ (wrap) │
└─────────┘ └─────────┘ └─────────┘CLI Commands
argus dashboard
Start the monitoring dashboard:
argus dashboard # Default port 3000
argus dashboard --open # Open browser automatically
argus dashboard --port 4000 # Custom port
argus dashboard --db ./custom.db # Custom database| Flag | Description | Default |
| ------------ | -------------------------- | ----------------- |
| -p, --port | Dashboard port | 3000 |
| -o, --open | Open browser automatically | false |
| -d, --db | Database path | ~/.argus/argus.db |
argus wrap
Wrap an MCP server to record all tool calls:
# Basic usage
argus wrap -- npx -y @modelcontextprotocol/server-filesystem /tmp
# With real-time dashboard updates (recommended)
argus wrap --api http://localhost:3000 -- npx -y @modelcontextprotocol/server-github
# Custom server name (shows in dashboard)
argus wrap --name "GitHub" --api http://localhost:3000 -- npx -y @modelcontextprotocol/server-github| Flag | Description | Default |
| -------------------- | ----------------------------------- | ----------------- |
| -a, --api | Dashboard URL for real-time updates | - |
| -n, --name | Server display name | command |
| -d, --db | Database path | ~/.argus/argus.db |
| -t, --idle-timeout | Seconds before new run | 60 |
| --redact | Additional keys to redact | - |
| --no-redact | Disable redaction | - |
argus setup
Generate configuration files:
argus setup --init # Create argus.config.json
argus setup --claude # Generate Claude Desktop configargus stats
View recording statistics:
argus stats # All stats
argus stats --run <id> # Stats for specific runargus diagnose
Print diagnostic information for troubleshooting.
Using with Claude Desktop
Generate the config:
argus setup --claudeCopy the output to your
claude_desktop_config.jsonStart the dashboard:
argus dashboard --openRestart Claude Desktop
Now all MCP tool calls from Claude will be recorded in Argus!
Configuration File
Create argus.config.json for advanced setups:
{
"database": "~/.argus/argus.db",
"port": 3000,
"idleTimeout": 60,
"redaction": {
"enabled": true,
"keys": ["token", "secret", "password", "api_key"]
},
"servers": {
"github": {
"name": "GitHub",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {"GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}"}
}
}
}Features
Real-time Updates
Dashboard updates instantly via Server-Sent Events when using --api flag.
Sessions/Runs
Tool calls are grouped into runs:
- New run on proxy connect
- New run after idle timeout (default: 60s)
Automatic Redaction
Sensitive data is automatically redacted:
token,secret,password,authorizationcookie,api_key,private_key,credential
Replay with Diff
Replay any tool call and compare original vs replayed results.
Troubleshooting
Claude Desktop Shows "Server disconnected"
Test the wrap command manually:
argus wrap -- npx -y @modelcontextprotocol/server-filesystem /tmpCheck Claude Desktop logs:
- macOS:
~/Library/Logs/Claude/ - Windows:
%APPDATA%\Claude\logs\
- macOS:
Dashboard Not Showing Updates
- Ensure dashboard is running:
argus dashboard - Use
--api http://localhost:3000with wrap command - Both must use the same database path
Development
# Clone the repo
git clone https://github.com/harshabikkavilli/argus.git
cd argus
# Install dependencies
npm install
# Build everything
npm run build
# Run dashboard
npm run start dashboard
# Development (UI hot reload)
npm run dev:uiLicense
MIT
