{
  "markdown": "# MCP Request Tracker CrunchTools\n\nA secure MCP (Model Context Protocol) server for Request Tracker (RT) ticket management.\n\n## Features\n\n- **Secure Credential Handling**: Passwords stored as SecretStr, never logged\n- **Full Ticket Management**: Search, view, create, update, and resolve tickets\n- **Time Tracking**: Track time worked on tickets\n- **Workflow Automation**: Pre-built workflows like checklist completion\n- **Cross-Platform**: Works on Linux, macOS, and Windows\n\n## Installation\n\n### Option 1: Using uvx (Recommended)\n\n```bash\nuvx mcp-request-tracker-crunchtools\n```\n\n### Option 2: Using pip\n\n```bash\npip install mcp-request-tracker-crunchtools\n```\n\n### Option 3: Using Container\n\n```bash\npodman run -e RT_URL=... -e RT_USER=... -e RT_PASS=... quay.io/crunchtools/mcp-request-tracker\n```\n\n## Configuration\n\nSet the following environment variables:\n\n| Variable | Required | Description |\n|----------|----------|-------------|\n| `RT_URL` | Yes | Base URL of your RT server |\n| `RT_USER` | Yes | RT username |\n| `RT_PASS` | Yes | RT password |\n| `RT_HTTP_USER` | No | HTTP Basic Auth username |\n| `RT_HTTP_PASS` | No | HTTP Basic Auth password |\n\n## Usage with Claude Code\n\n### Using uvx\n\n```bash\nclaude mcp add mcp-request-tracker-crunchtools \\\n    --env RT_URL=https://rt.example.com \\\n    --env RT_USER=your_username \\\n    --env RT_PASS=your_password \\\n    -- uvx mcp-request-tracker-crunchtools\n```\n\n### Using Container\n\n```bash\nclaude mcp add mcp-request-tracker-crunchtools \\\n    --env RT_URL=https://rt.example.com \\\n    --env RT_USER=your_username \\\n    --env RT_PASS=your_password \\\n    -- podman run -i --rm -e RT_URL -e RT_USER -e RT_PASS quay.io/crunchtools/mcp-request-tracker\n```\n\n## Available Tools\n\n### Search and View\n- `search_tickets` - Search tickets using RT query syntax\n- `get_ticket` - Get ticket details\n- `get_ticket_history` - Get ticket history/changelog\n- `get_my_open_tickets` - Get open tickets for a user\n- `get_new_tickets` - Get new/unassigned tickets\n\n### Update Tickets\n- `set_ticket_owner` - Set ticket owner\n- `set_ticket_status` - Set ticket status\n- `open_ticket` - Open a ticket\n- `resolve_ticket` - Resolve/close a ticket\n- `take_ticket` - Take ownership and open\n\n### Time Tracking\n- `set_time_worked` - Set total time worked\n- `add_time_worked` - Add time to existing time\n\n### Communication\n- `add_ticket_comment` - Add private comment (not visible to requestor)\n- `reply_to_ticket` - Add correspondence (visible to requestor)\n\n### Creation\n- `create_ticket` - Create a new ticket\n\n### Workflows\n- `complete_weekly_checklist` - Complete a weekly checklist ticket with results\n\n## RT Query Syntax Examples\n\n```\nStatus = 'new'\nStatus = 'open' AND Owner = 'scott'\nSubject LIKE 'checklist'\nQueue = 'Professional'\nCreated > '2025-01-01'\nOwner = 'Nobody'\n```\n\n## Security\n\nThis server is built with security in mind:\n\n- **SecretStr**: Passwords are stored using Pydantic's SecretStr to prevent accidental logging\n- **Error Sanitization**: Credentials are scrubbed from all error messages\n- **No Filesystem Access**: The server never reads or writes files\n- **No Shell Execution**: No subprocess or shell commands\n- **Minimal Dependencies**: Only essential packages to reduce attack surface\n- **Automated CVE Scanning**: Weekly security scans via GitHub Actions\n- **Container Security**: Built on Hummingbird images with minimal CVE count\n\nSee [SECURITY.md](SECURITY.md) for the full security design document.\n\n## Development\n\n```bash\n# Clone the repository\ngit clone https://github.com/crunchtools/mcp-request-tracker.git\ncd mcp-request-tracker\n\n# Install dependencies\nuv sync --all-extras\n\n# Run tests\nuv run pytest\n\n# Lint\nuv run ruff check src tests\n\n# Type check\nuv run mypy src\n```\n\n## License\n\nThis project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).\nSee [LICENSE](LICENSE) for details.\n\n<!-- mcp-name: io.github.crunchtools/request-tracker -->\n",
  "bytes": 3930,
  "sha": "e2dddf18fd89fc0bc7f7345777f34edba681629820f517f3b6e0935dd527a9fc",
  "repo_slug": "crunchtools/mcp-request-tracker",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_crunchtools_request_tracker_0c16b9c9/readme"
}