# rime
Rust NixOS

A minimal [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server for Nix tooling, written in Rust. ## Tools
❄️ Nix - `nix_evaluate`: Evaluate a Nix expression. - `nix_log`: Get build log for an installable. - `nix_packages_search`: Search packages in an installable. - `nix_packages_why_depends`: Show why a package depends on another. - `nix_flakes_show`: Show a flake's outputs. - `nix_flakes_metadata`: Show flake metadata. - `nix_config_check`: Run `nix config check`. - `nix_config_show`: Run `nix config show`. - `nix_manual_list`: List Markdown files in the Nix manual. - `nix_manual_read`: Read a Markdown file from the Nix manual. - `nixpkgs_options_search`: Search for Nixpkgs options in nixpkgs for a specific ref.
❄️ NixOS - `nixos_wiki_search`: Search the NixOS wiki. - `nixos_wiki_read`: Read a page from the NixOS wiki. - `nixos_channels`: List available NixOS channels with their status.
🏠 Home Manager - `home_manager_options_search`: Search Home Manager options.
🌑 nvf - `nvf_options_search`: Search [nvf](https://github.com/notashelf/nvf) options for a specific ref. - `nvf_manual_list`: List files in the nvf manual for a specific ref. - `nvf_manual_read`: Read a file from the nvf manual for a specific ref.
📦 Nixhub - `nixhub_package_versions`: Get version history for a package via [nixhub](https://nixhub.io).
🔍 General Tools - `manix_search`: Search docs with [manix](https://github.com/mlvzk/manix).
## Getting Started ### Prerequisites Ensure `nix` is installed and available on your `PATH`. ### Build & Run ```bash # Build nix build .#rime # Run (Stdio) ./result/bin/rime stdio # Run (HTTP) ./result/bin/rime http --host 127.0.0.1 --port 8080 ``` ## Usage
OpenAI Codex Add to `~/.codex/config.toml`: ```toml [mcp_servers.rime] command = "/path/to/rime" args = ["stdio"] ```
opencode Add to `~/.config/opencode/config.json`: ```json { "mcp": { "rime": { "type": "local", "command": ["/path/to/rime", "stdio"], "enabled": true } } } ```
Claude Code ```bash claude mcp add rime -- /path/to/rime stdio ```
Gemini Code Add to `~/.gemini/settings.json`: ```json { "mcpServers": { "rime": { "command": "/path/to/rime", "args": ["stdio"] } } } ```
VSCode Add to `.vscode/mcp.json`: ```json { "servers": { "rime": { "command": "/path/to/rime", "args": ["stdio"] } } } ```
Zed Add to `settings.json`: ```json { "context_servers": { "rime": { "command": "/path/to/rime", "args": ["stdio"] } } } ```
## Credits - [manix](https://github.com/mlvzk/manix) - [nixhub](https://nixhub.io/) - [nvf](https://github.com/notashelf/nvf) - [mcp-nixos](https://github.com/utensils/mcp-nixos)