Skip to main content
Glama

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

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

{ "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

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

One-click Deploy
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

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