Skip to main content
Glama
README.md
# TrackJS MCP Server

A Model Context Protocol server for TrackJS error monitoring that allows you to query and analyze your JavaScript errors.

## Setup

### 1. Install Dependencies
```bash
npm install
```

### 2. Get Your TrackJS API Credentials
1. Log into your TrackJS account at [https://my.trackjs.com](https://my.trackjs.com)
2. Go to **Account** → **API Keys** (only visible to Account Owners)
3. Copy both your **Customer ID** and **API Key**

### 3. Configure Environment Variables
Copy the example environment file and add your API key:

```bash
cp env.example .env
```

Then edit `.env` with your actual TrackJS API key:

```bash
# Required: Your TrackJS API key  
TRACKJS_API_KEY=your_actual_api_key_here

# Required: Your TrackJS Customer ID
TRACKJS_CUSTOMER_ID=your_actual_customer_id_here

# Optional: Custom API base URL (defaults to https://api.trackjs.com)
TRACKJS_BASE_URL=https://api.trackjs.com
```

### 4. Build the Project
```bash
npm run build
```

### 5. Run the Server
```bash
npm start
```

## Available Tools

This MCP server provides the following tools:

- **get_errors** - Retrieve recent errors with optional filtering (application, environment, date range, etc.)
- **get_error_details** - Get detailed information about a specific error by ID
- **get_error_messages** - Get most common error messages with counts and sorting options

## Usage Examples

Once connected via MCP, you can ask questions like:
- "Show me recent errors from the last 24 hours"
- "What are the most common error messages?"
- "Show me errors sorted by user impact"
- "Get details for error ID abc123"

## MCP Client Configuration

### Claude Desktop Configuration

To use this server with Claude Desktop, add the following to your Claude Desktop MCP configuration file:

**Location:** `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS)

```json
{
  "mcpServers": {
    "trackjs": {
      "command": "node",
      "args": ["/absolute/path/to/trackjs-mcp/dist/index.js"],
      "env": {
        "TRACKJS_API_KEY": "your_trackjs_api_key_here",
        "TRACKJS_BASE_URL": "https://api.trackjs.com/v1"
      }
    }
  }
}
```

**Important:** Replace `/absolute/path/to/trackjs-mcp/` with the actual path to this project directory.

### Alternative: Using .env file

If you prefer to use the `.env` file approach (recommended), configure like this:

```json
{
  "mcpServers": {
    "trackjs": {
      "command": "node",
      "args": ["/absolute/path/to/trackjs-mcp/dist/index.js"],
      "cwd": "/absolute/path/to/trackjs-mcp"
    }
  }
}
```

This way, the server will automatically load environment variables from your `.env` file.

After adding the configuration:
1. Restart Claude Desktop
2. The TrackJS tools should be available in your Claude conversations

## Development

```bash
# Development mode with hot reload
npm run dev

# Build TypeScript
npm run build

# Clean build artifacts  
npm run clean
```

TDQS

A3.5/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: get_errors lists errors with filtering, get_error_details retrieves specifics for a single error, and get_error_messages aggregates common messages. There is no overlap or ambiguity between them.

Naming Consistency5/5

All tools follow the same verb_noun pattern (get_errors, get_error_details, get_error_messages) using snake_case consistently. The naming convention is uniform and predictable.

Tool Count5/5

With only 3 tools, the set is well-scoped for a focused error-monitoring server. Each tool serves a necessary function and none feel redundant or excessive.

Completeness4/5

The server covers the core read-only workflow: listing/filtering errors, viewing details, and aggregating messages. It lacks write/update operations, but that appears outside its intended scope as a retrieval-focused tool.

Maintenance

ActivityInactive
ResponsivenessNo issues