A minimal Model Context Protocol (MCP) server for Nix tooling, written in Rust.
❄️ 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: Runnix config check.nix_config_show: Runnix config show.nix_manual_list: List Markdown files in the Nix manual.nix_manual_read: Read a Markdown file from the Nix manual.nixhub_package_versions: Get version history for a package via nixhub.
❄️ 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 options.nvf_manual_list: List files in the nvf manual.nvf_manual_read: Read a file from the nvf manual.
🔍 General Tools
manix_search: Search docs with manix.
Ensure nix is installed and available on your PATH.
# Build
nix build .#rime
# Run (Stdio)
./result/bin/rime stdio
# Run (HTTP)
./result/bin/rime http --host 127.0.0.1 --port 8080OpenAI Codex
Add to ~/.codex/config.toml:
[mcp_servers.rime]
command = "/path/to/rime"
args = ["stdio"]opencode
Add to ~/.config/opencode/config.json:
{
"mcp": {
"rime": {
"type": "local",
"command": ["/path/to/rime", "stdio"],
"enabled": true
}
}
}Claude Code
claude mcp add rime -- /path/to/rime stdioGemini Code
Add to ~/.gemini/settings.json:
{
"mcpServers": {
"rime": {
"command": "/path/to/rime",
"args": ["stdio"]
}
}
}VSCode
Add to .vscode/mcp.json:
{
"servers": {
"rime": {
"command": "/path/to/rime",
"args": ["stdio"]
}
}
}Zed
Add to settings.json:
{
"context_servers": {
"rime": {
"command": "/path/to/rime",
"args": ["stdio"]
}
}
}