@rustrak/mcp
v0.1.4
Published
MCP server that gives AI assistants (Claude, Cursor, Continue) full control of your Rustrak error tracking
Downloads
983
Maintainers
Readme
@rustrak/mcp is a Model Context Protocol server for Rustrak — the self-hosted, Sentry-compatible error tracker. Connect it to Claude Desktop, Cursor, Continue.dev, or any MCP-compatible AI assistant and get 18 tools to list projects, inspect issues, view stack traces, resolve errors, and manage tokens without leaving your AI tool.
Quick Start
1. Generate an API token
In the Rustrak web UI: Settings → Tokens → Create token. Save the token value — it is shown only once.
2. Add to your AI client
Claude Desktop — ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"rustrak": {
"command": "npx",
"args": ["-y", "@rustrak/mcp"],
"env": {
"RUSTRAK_API_URL": "https://your-rustrak-instance.example.com",
"RUSTRAK_API_TOKEN": "your-40-char-hex-token"
}
}
}
}Cursor — .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"rustrak": {
"command": "npx",
"args": ["-y", "@rustrak/mcp"],
"env": {
"RUSTRAK_API_URL": "https://your-rustrak-instance.example.com",
"RUSTRAK_API_TOKEN": "your-40-char-hex-token"
}
}
}
}Continue.dev — ~/.continue/config.json:
{
"experimental": {
"modelContextProtocolServers": [
{
"transport": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@rustrak/mcp"],
"env": {
"RUSTRAK_API_URL": "https://your-rustrak-instance.example.com",
"RUSTRAK_API_TOKEN": "your-40-char-hex-token"
}
}
}
]
}
}3. Ask your AI anything
"List all unresolved issues in project 1"
"Show me the stack trace for issue abc-123"
"Resolve all TypeError issues from the last deployment"
"Create a CI pipeline token and give me the value"
"How many events does issue xyz have?"Environment Variables
| Variable | Required | Description |
|---|---|---|
| RUSTRAK_API_URL | ✅ | Base URL of your Rustrak server (e.g. https://errors.example.com) |
| RUSTRAK_API_TOKEN | ✅ | 40-char hex API token — create one in Settings → Tokens |
The server exits immediately with a clear error message if either variable is missing.
Available Tools (18)
Projects
| Tool | Description |
|---|---|
| list_projects | List all projects |
| get_project | Get project details including DSN |
| create_project | Create a new project |
Issues
| Tool | Description |
|---|---|
| list_issues | List issues with filters (open / resolved / muted / all) |
| get_issue | Get a single issue with full details |
| resolve_issue | Mark an issue as resolved |
| unresolve_issue | Re-open a resolved issue |
| mute_issue | Mute an issue (silences alerts) |
| delete_issue | ⚠️ Permanently delete an issue and all its events |
Events
| Tool | Description |
|---|---|
| list_events | List raw events for an issue (cursor pagination) |
| get_event | Get a single event with full Sentry envelope data |
Tokens
| Tool | Description |
|---|---|
| list_tokens | List API tokens (masked) |
| create_token | Create a new API token (full value shown once) |
| revoke_token | ⚠️ Permanently revoke an API token |
Alerts
| Tool | Description |
|---|---|
| list_alert_channels | List notification channels (Slack, email, webhook) |
| test_alert_channel | Send a test notification to a channel |
| list_alert_rules | List alert rules for a project |
⚠️ Destructive tools (
delete_issue,revoke_token) are annotated withdestructiveHint— supported clients will prompt for confirmation before executing.
Architecture
AI Client (Claude Desktop / Cursor / Continue)
│ stdio (JSON-RPC)
▼
┌─────────────────────┐
│ @rustrak/mcp │ ← This package
│ ├── projects │
│ ├── issues │
│ ├── events │
│ ├── tokens │
│ └── alerts │
└──────────┬──────────┘
│ HTTP (Bearer token via @rustrak/client)
▼
┌─────────────────────┐
│ Rustrak Server │
│ (Rust/Actix-web) │
└─────────────────────┘The server runs as a local process over stdio — no open network port, no daemon. The API token is read from environment variables and never exposed as a tool argument.
Related Packages
| Package | Description |
|---|---|
| @rustrak/client | TypeScript HTTP client for the Rustrak API — used internally by this package |
What is Rustrak?
Rustrak is a self-hosted error tracking server written in Rust that is fully compatible with any Sentry SDK. No code changes needed if you're migrating from Sentry. Runs on ~50 MB of memory as a single binary or Docker image.
Development
# Build
pnpm --filter @rustrak/mcp build
# Run tests (33 tests)
pnpm --filter @rustrak/mcp test
# Type check
pnpm --filter @rustrak/mcp typecheck
# Watch mode
pnpm --filter @rustrak/mcp dev