Skip to content

lukasl-dev/rime

Repository files navigation

rime


A minimal Model Context Protocol (MCP) 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.
  • 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.

Getting Started

Prerequisites

Ensure nix is installed and available on your PATH.

Build & Run

# 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:

[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 stdio
Gemini 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"]
    }
  }
}

Credits