Add 3 opt-in Loki tools (query_logs, list_labels, list_label_values) that are registered when LOKI_URL is configured. Includes Loki HTTP client, CLI commands (logs, labels), NixOS module option, formatting, and tests. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1.5 KiB
1.5 KiB
TODO - Future Improvements
Usability
- Progress reporting during indexing ("Fetching nixpkgs... Parsing options... Indexing files...")
- Add
search_filesMCP tool - search for files by path pattern (e.g., find all nginx-related modules) - Include file size metadata in
get_optiondeclarations (byte size and/or line count) so clients know file sizes before fetching - Add range parameters to
get_file(offset,limit) with sensible defaults (~200-300 lines) to avoid dumping massive files
Robustness
- PostgreSQL integration tests with testcontainers (currently skipped without manual DB setup)
- Graceful handling of concurrent indexing (what happens if two clients index the same revision?)
New MCP Servers
nixpkgs-packages- Index and search nixpkgs packages (implemented innixpkgs-search packages)lab-monitoring- Query Prometheus and Alertmanager APIs (8 tools, no database required)
Lab Monitoring
- Add
list_rulestool - list Prometheus alerting and recording rules (via/api/v1/rules) - Add
get_rule_grouptool - get details for a specific rule group - Add Loki log query support - query logs via LogQL (3 tools:
query_logs,list_labels,list_label_values), opt-in viaLOKI_URL
Nice to Have
- Option history/diff - compare options between two revisions ("what changed in services.nginx between 24.05 and 24.11?")
- Auto-cleanup - prune old revisions after N days or keep only N most recent
- Man page generation
- Shell completions (bash, zsh, fish)