Skip to main content
Glama
README.md1.78 kB
# mcp-omnienv-nix MCP server that spins up Nix-backed, polyglot ephemeral environments. It uses `nix shell` to build disposable toolchains for interpreted stacks (Python, Node.js, Ruby, R, Lua; extendable) and runs your command inside that shell. Package availability depends on `nixpkgs` (e.g., `python313Packages.requests`, `rPackages.misty`, `nodePackages.sloc`). ## Why - Coding agents often need ad-hoc Python/Node/Ruby/R/Lua deps. Preloading everything is noisy; venvs clutter a system. - With Nix on the host, this server asks for packages on demand, pulls them into the store, and leaves the rest of the environment clean—no venvs or global installs. - Runs over MCP (stdio transport) so agent clients can call the tools directly. ## Tools - `list_languages` — enumerate supported languages and their base Nix packages. - `run_in_env(language, command, extra_packages?, timeout_seconds?)` — launch a `nix shell` with base + extras and execute `command`. Returns JSON: `stdout`, `stderr`, `exit_code`. ## Quick start ```bash # Try it ad-hoc nix shell github:StealthBadger747/mcp-omnienv-nix -c mcp-omnienv-nix ``` Hook into your MCP client (stdio transport). Example config shape: ```json { "mcpServers": { "mcp-omnienv-nix": { "command": "mcp-omnienv-nix" } } } ``` ## Extending languages - Edit `SUPPORTED_LANGUAGES` in `mcp_omnienv_nix/server.py` to add a language and its base packages. - `run_in_env` validates extra packages against a simple regex and appends them to the `nix shell` invocation. ## Development ```bash # Nix dev shell with deps + pytest nix develop . -c pytest # Run integration tests (hit nix shell for real package resolution) MCP_OMNIENV_INTEGRATION=1 nix develop . -c pytest -m integration ``` ## License MIT.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/StealthBadger747/mcp-omnienv-nix'

If you have feedback or need assistance with the MCP directory API, please join our Discord server