- Home
- MCP servers
- MCP Omnienv Nix
MCP Omnienv Nix
- 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.