Connect via the Model Context Protocol (MCP) for deep AI integration, or use the CLI to pipe error data into any tool. Two ways in — same superpowers.
Three simple steps to AI-powered error resolution.
Run a single command in your AI tool of choice. Claude Code, Cursor, Windsurf, VS Code, or Cline.
Muscula streams real-time error data through the Model Context Protocol directly to your AI assistant.
Your AI assistant can analyze root causes, suggest fixes, and even apply them — all with full error context.
Get your complete error list directly inside Claude Code, Cursor, or any MCP-compatible AI assistant. No context switching needed.
Your AI assistant sees errors as they happen. Ask it to analyze, prioritize, or fix them — all from your terminal.
Let AI categorize and prioritize errors automatically. Focus on what matters most with intelligent severity analysis.
Stack traces, user sessions, browser info — all available to your AI. Get fix suggestions with full context.
Ask questions like 'What errors happened in checkout today?' and get instant structured answers from your AI.
Your AI can access errors across all your Muscula projects simultaneously, detecting cross-service issues.
One command. That's it. Pick your tool and paste the command.
For tools that use a JSON configuration file (mcp_servers.json, .cursor/mcp.json, or VS Code settings):
{
"mcpServers": {
"muscula": {
"command": "npx",
"args": [
"-y",
"@nicholasmuscula/muscula-mcp-server",
"--api-key", "YOUR_API_KEY",
"--log-id", "YOUR_LOG_ID"
]
}
}
}The Muscula CLI gives you direct access to all your projects, error lists, and full stack traces. Use it standalone or pipe output into Claude Code for AI-powered analysis.
Rich, formatted output with tree views, tables, and color coding. Error data has never looked this good in a terminal.
Login via browser-based OAuth 2.1 + PKCE. Tokens stored securely in ~/.muscula-cli/config.json.
Full stack traces, device/browser stats, page URLs, and version breakdown — all formatted for your terminal.
See all your projects, logs, and error counts in a single command. Spot problems across your entire infrastructure.
Don't want to set up MCP? Just pipe CLI output into Claude Code. No configuration needed — it just works.
$ muscula errors "Acme Corp" | claude "Analyze these errors and suggest fixes" ╭──────────────────────────────────────────────────────────────────╮ │ I found 3 errors in Production. Here's my analysis: │ │ │ │ 1. Cannot read property 'id' of undefined (app.js:142) │ │ → The user object is null when getUser() is called before │ │ auth completes. Add a null check on line 142. │ │ │ │ 2. Error when logging in (auth.js:89) │ │ → The OAuth token refresh is failing silently. The catch │ │ block swallows the error. Re-throw after logging. │ │ │ │ 3. TypeError: Cannot read properties of undefined │ │ → Same root cause as #1 — cascading from the missing │ │ null check. Fixing #1 will resolve this too. │ │ │ │ Want me to apply the fix for #1? │ ╰──────────────────────────────────────────────────────────────────╯
$ muscula error xK9mN2 69bbb32a84068f | claude "Explain this error and fix it"
╭──────────────────────────────────────────────────────────────────╮
│ The error occurs in app.js:142 inside UserService.getUser(). │
│ │
│ Root cause: The function is called before authentication │
│ completes, so the user object is undefined. │
│ │
│ I'll add a guard clause. Here's the diff: │
│ │
│ // app.js:140-145 │
│ - const userId = user.id; │
│ + if (!user) { │
│ + throw new Error('User not authenticated'); │
│ + } │
│ + const userId = user.id; │
│ │
│ Applied to app.js ✓ │
╰──────────────────────────────────────────────────────────────────╯$ muscula errors "Acme Corp" | claude "Any critical issues I should fix today?" ╭──────────────────────────────────────────────────────────────────╮ │ You have 1 critical issue: │ │ │ │ The 'Cannot read property id' error hit 2 users today and is │ │ trending up. It blocks the checkout flow — I'd fix this first. │ │ │ │ The other 2 errors are low-priority: a login edge case and a │ │ stale TypeError that will resolve once you fix the first one. │ ╰──────────────────────────────────────────────────────────────────╯
No MCP setup needed — just pipe and go. Works with any AI tool that reads from stdin.