Skip to main content
Glama
scottmsilver

Track-It Process Monitor

by scottmsilver

track-it: MCP Process Wrapper

A lightweight process tracker that enables Claude to monitor and inspect running processes through the Model Context Protocol (MCP).

Features

  • šŸš€ Simple CLI wrapper - Just prepend track-it to any command

  • šŸ” Environment variable support - Pass env vars to tracked processes

  • šŸ“ Separate stdout/stderr logs - Independent capture of output streams

  • šŸ’¾ Persistent SQLite storage - Survives restarts, queryable history

  • šŸ”’ Read-only MCP interface - Claude can observe but not execute

  • šŸ“Š Real-time monitoring - Tail logs of running processes

  • šŸ›”ļø Signal handling - Clean shutdown with Ctrl+C

Related MCP server: Console MCP Server

Quick Start

Installation

  1. Clone the repository:

git clone https://github.com/scottmsilver/mcp-track-it.git
cd mcp-track-it
  1. Install MCP dependency:

pip install mcp
  1. Run the installer:

./install-and-test.sh

This will:

  • Check Python installation

  • Test the track-it wrapper

  • Configure Claude's MCP settings

  • Run a test process to verify everything works

Basic Usage

# Simple command
./track-it echo "Hello World"

# With custom ID
./track-it --id myapp python server.py

# With environment variables
./track-it PORT=8080 DEBUG=true -- python app.py

# Multiple env vars and options
./track-it --id webserver PORT=3000 HOST=0.0.0.0 -- npm start

Environment Variable Support

The new syntax supports passing environment variables to tracked processes:

# Format: track-it [options] [ENV=value ...] [--] command [args]

# Examples:
./track-it DATABASE_URL=postgres://localhost/mydb -- python manage.py runserver
./track-it --id worker REDIS_HOST=localhost WORKERS=4 -- python worker.py

Use -- to separate environment variables from the command when needed.

Claude Integration

Once installed, Claude can monitor your processes using these phrases:

  • "List all my tracked processes"

  • "Show me the logs for [process-id]"

  • "Check if my server is still running"

  • "Find any errors in the process logs"

What Claude Sees

When you run:

./track-it --id myserver PORT=8080 -- python server.py

Claude will see:

  • Process ID: myserver

  • Status: running or completed

  • Full command with arguments

  • Environment variables that were set

  • Complete stdout/stderr logs

  • Exit code when completed

File Structure

mcp-track-it/
ā”œā”€ā”€ track-it                    # Main CLI wrapper
ā”œā”€ā”€ mcp_server.py              # MCP server for Claude
ā”œā”€ā”€ process_registry.py        # SQLite database interface
ā”œā”€ā”€ install-and-test.sh        # Main installer
ā”œā”€ā”€ process_logs/              # Log files (auto-created)
│   ā”œā”€ā”€ [process-id].log       # Combined stdout+stderr
│   ā”œā”€ā”€ [process-id].stdout.log
│   └── [process-id].stderr.log
└── process_registry.db        # SQLite database (auto-created)

How It Works

  1. track-it wrapper captures your process output

  2. SQLite database stores process metadata

  3. Log files preserve stdout/stderr streams

  4. MCP server provides read-only access to Claude

User runs: track-it python app.py
    ↓
Creates 3 log files + DB entry
    ↓
Process runs with real-time output
    ↓
Claude can query via MCP server

Advanced Configuration

Custom Log Directory

Set the environment variable:

export MCP_PROCESS_WRAPPER_LOG_DIR=/path/to/logs
./track-it python app.py

Manual MCP Configuration

If you need to manually configure Claude's MCP settings, add to ~/.claude/mcp.json:

{
  "mcpServers": {
    "process-wrapper": {
      "command": "python3",
      "args": ["/path/to/mcp-track-it/mcp_server.py"],
      "env": {
        "MCP_PROCESS_WRAPPER_LOG_DIR": "/path/to/logs",
        "MCP_PROCESS_REGISTRY_DB": "/path/to/process_registry.db"
      }
    }
  }
}

Troubleshooting

Permission denied when running track-it:

chmod +x track-it

Claude can't see processes:

  • Restart Claude Code after installation

  • Verify MCP server is listed: Ask Claude to run /mcp command

Process gets stuck when hitting Ctrl+C:

  • Update to the latest version (this bug was fixed)

Logs not appearing:

  • Check write permissions in the log directory

  • Verify disk space is available

Recent Improvements

  • āœ… Environment variable support - Pass env vars to tracked processes

  • āœ… Absolute path storage - Reliable log file access across directories

  • āœ… Fixed signal handling - Clean shutdown without infinite loops

  • āœ… Better path resolution - MCP server correctly finds logs from any working directory

Contributing

Contributions are welcome! Please feel free to submit issues and pull requests.

License

MIT License - See LICENSE file for details.

Author

Created as a lightweight alternative to complex process managers, specifically designed for Claude MCP integration.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides system monitoring and management capabilities for Claude CLI, allowing users to view system information, track resource usage, and manage processes through natural language commands.
    -
  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Captures and stores console output from any process in SQLite with full-text search, enabling AI assistants to search logs, monitor errors, and analyze multi-process activity through natural language queries.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Monitors development commands and exposes terminal output to Claude in real-time, allowing AI assistants to see errors, logs, and stack traces without copy-pasting.
    4 npm
    3
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Enables AI agents to launch, monitor, and manage long-running terminal processes with real-time log capture and search functionality. It features automatic log rotation and graceful process termination to ensure system stability.
    5
    12 npm
    5
    MIT