MCP Request Tracker CrunchTools
A secure MCP (Model Context Protocol) server for Request Tracker (RT) ticket management.
Features
- Secure Credential Handling: Passwords stored as SecretStr, never logged
- Full Ticket Management: Search, view, create, update, and resolve tickets
- Time Tracking: Track time worked on tickets
- Workflow Automation: Pre-built workflows like checklist completion
- Cross-Platform: Works on Linux, macOS, and Windows
Installation
Option 1: Using uvx (Recommended)
uvx mcp-request-tracker-crunchtools
Option 2: Using pip
pip install mcp-request-tracker-crunchtools
Option 3: Using Container
podman run -e RT_URL=... -e RT_USER=... -e RT_PASS=... quay.io/crunchtools/mcp-request-tracker
Configuration
Set the following environment variables:
| Variable | Required | Description |
|---|---|---|
RT_URL | Yes | Base URL of your RT server |
RT_USER | Yes | RT username |
RT_PASS | Yes | RT password |
RT_HTTP_USER | No | HTTP Basic Auth username |
RT_HTTP_PASS | No | HTTP Basic Auth password |
Usage with Claude Code
Using uvx
claude mcp add mcp-request-tracker-crunchtools \
--env RT_URL=https://rt.example.com \
--env RT_USER=your_username \
--env RT_PASS=your_password \
-- uvx mcp-request-tracker-crunchtools
Using Container
claude mcp add mcp-request-tracker-crunchtools \
--env RT_URL=https://rt.example.com \
--env RT_USER=your_username \
--env RT_PASS=your_password \
-- podman run -i --rm -e RT_URL -e RT_USER -e RT_PASS quay.io/crunchtools/mcp-request-tracker
Available Tools
Search and View
search_tickets- Search tickets using RT query syntaxget_ticket- Get ticket detailsget_ticket_history- Get ticket history/changelogget_my_open_tickets- Get open tickets for a userget_new_tickets- Get new/unassigned tickets
Update Tickets
set_ticket_owner- Set ticket ownerset_ticket_status- Set ticket statusopen_ticket- Open a ticketresolve_ticket- Resolve/close a tickettake_ticket- Take ownership and open
Time Tracking
set_time_worked- Set total time workedadd_time_worked- Add time to existing time
Communication
add_ticket_comment- Add private comment (not visible to requestor)reply_to_ticket- Add correspondence (visible to requestor)
Creation
create_ticket- Create a new ticket
Workflows
complete_weekly_checklist- Complete a weekly checklist ticket with results
RT Query Syntax Examples
Status = 'new'
Status = 'open' AND Owner = 'scott'
Subject LIKE 'checklist'
Queue = 'Professional'
Created > '2025-01-01'
Owner = 'Nobody'
Security
This server is built with security in mind:
- SecretStr: Passwords are stored using Pydantic's SecretStr to prevent accidental logging
- Error Sanitization: Credentials are scrubbed from all error messages
- No Filesystem Access: The server never reads or writes files
- No Shell Execution: No subprocess or shell commands
- Minimal Dependencies: Only essential packages to reduce attack surface
- Automated CVE Scanning: Weekly security scans via GitHub Actions
- Container Security: Built on Hummingbird images with minimal CVE count
See SECURITY.md for the full security design document.
Development
# Clone the repository
git clone https://github.com/crunchtools/mcp-request-tracker.git
cd mcp-request-tracker
# Install dependencies
uv sync --all-extras
# Run tests
uv run pytest
# Lint
uv run ruff check src tests
# Type check
uv run mypy src
License
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See LICENSE for details.