MCP Omnienv Nix

Provides on-demand Nix-backed environments for interpreted stacks via MCP stdio transport.
  • python

0

GitHub Stars

python

Language

7 months ago

First Indexed

3 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "stealthbadger747-mcp-omnienv-nix": {
      "command": "mcp-omnienv-nix",
      "args": []
    }
  }
}

You can run commands in on-demand, ephemeral toolchains powered by Nix without cluttering your host system. This MCP server spins up a Nix-backed environment on demand, executes your command inside that disposable shell, and then cleans up. It’s ideal when you need Python, Node.js, Ruby, R, Lua, or other interpreters with precise dependencies, without installing packages globally or managing virtual environments.

How to use

You interact with this MCP server through a client that speaks the MCP stdio transport. Start by configuring your client to target the local server and then issue commands to run inside a fresh Nix shell. The server accepts a language and a command, plus optional extra packages, and returns the command’s stdout, stderr, and exit code.

How to install

Prerequisites you need:

  • Nix installed on the host
  • A client that can speak the MCP stdio transport (any MCP-compatible client) Install and run the MCP server using the provided command snippet. You will run this in a terminal with Nix available.
# Start the MCP server inside a Nix shell invocation
nix shell github:StealthBadger747/mcp-omnienv-nix -c mcp-omnienv-nix

# If you want to configure a client to connect via stdio:
{
  "mcpServers": {
    "mcp-omnienv-nix": {
      "command": "mcp-omnienv-nix",
      "args": []
    }
  }
}

Additional notes

Extending languages is straightforward: add a new language to SUPPORTED_LANGUAGES in the server’s Python source (mcp_omnienv_nix/server.py). The server validates any extra packages you request and appends them to the nix shell invocation.”

Tools and capabilities

Two core tools are available:

  • list_languages — enumerate supported languages and their base Nix packages.
  • run_in_env(language, command, extra_packages?, timeout_seconds?) — launch a nix shell with the base packages plus any extras and execute your command. It returns a JSON object with stdout, stderr, and exit_code.

Development and testing

To develop or test locally with real package resolution, use a Nix development shell and run tests:

  • nix develop . -c pytest
  • MCP_OMNIENV.integration=1 nix develop . -c pytest -m integration

Available tools

list_languages

Enumerates supported languages and their base Nix packages.

run_in_env

Launches a nix shell with a base package set and optional extras, then runs a given command and returns stdout, stderr, and exit_code.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational