A secure MCP (Model Context Protocol) server for Request Tracker (RT) ticket management.
- 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
uvx mcp-request-tracker-crunchtoolspip install mcp-request-tracker-crunchtoolspodman run -e RT_URL=... -e RT_USER=... -e RT_PASS=... quay.io/crunchtools/mcp-request-trackerSet 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 |
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-crunchtoolsclaude 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-trackersearch_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
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
set_time_worked- Set total time workedadd_time_worked- Add time to existing time
add_ticket_comment- Add private comment (not visible to requestor)reply_to_ticket- Add correspondence (visible to requestor)
create_ticket- Create a new ticket
complete_weekly_checklist- Complete a weekly checklist ticket with results
Status = 'new'
Status = 'open' AND Owner = 'scott'
Subject LIKE 'checklist'
Queue = 'Professional'
Created > '2025-01-01'
Owner = 'Nobody'
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.
# 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 srcThis project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See LICENSE for details.