mcp omnienv nix
MCP服务器,启动Nix支持的多语言临时环境。使用 nix shell 为解释堆栈(Python、Node.js、Ruby、R、Lua;可扩展)构建一次性工具链,并在该shell中运行您的命令。套餐可用性取决于 nixpkgs (例如。, python313Packages.requests, rPackages.misty, nodePackages.sloc).
为什么
- 编码代理通常需要专门的Python/Node/Ruby/R/Lua-deps。预装一切都很吵;静脉使系统变得混乱。
- 在主机上有Nix的情况下,此服务器按需请求包,将它们拉入存储区,并使环境的其余部分保持干净——没有venv或全局安装。
- 通过MCP(stdio传输)运行,因此代理客户端可以直接调用工具。
工具
list_languages--枚举支持的语言及其基本Nix包。run_in_env(language, command, extra_packages?, timeout_seconds?)--发射anix shell有基本+额外和执行command.返回JSON:stdout,stderr,exit_code.
快速启动
# Try it ad-hoc
nix shell github:StealthBadger747/mcp-omnienv-nix -c mcp-omnienv-nix连接到您的MCP客户端(stdio传输)。配置形状示例:
{
"mcpServers": {
"mcp-omnienv-nix": {
"command": "mcp-omnienv-nix"
}
}
}扩展语言
- 编辑
SUPPORTED_LANGUAGES在mcp_omnienv_nix/server.py添加一种语言及其基本包。 run_in_env根据简单的正则表达式验证额外的包,并将其附加到nix shell调用。
发展
# 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许可证
MIT。
