list_languages
Lists supported programming languages and their base Nix packages for creating ephemeral development environments with specific dependencies.
Instructions
List supported languages and their base Nix packages.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- mcp_omnienv_nix/server.py:103-110 (handler)The handler function for the 'list_languages' MCP tool. It iterates over the SUPPORTED_LANGUAGES dictionary and formats a list of supported languages with their labels and base Nix packages. Registered using the @mcp.tool() decorator.@mcp.tool() def list_languages() -> str: """List supported languages and their base Nix packages.""" lines = [] for key, profile in SUPPORTED_LANGUAGES.items(): base = ", ".join(profile.base_packages) lines.append(f"- {key}: {profile.label} (base: {base})") return "\n".join(lines)
- mcp_omnienv_nix/server.py:18-30 (helper)Supporting data structures: LanguageProfile dataclass and SUPPORTED_LANGUAGES dictionary defining the available languages, labels, and base Nix packages used by the list_languages tool.@dataclass(frozen=True) class LanguageProfile: label: str base_packages: List[str] SUPPORTED_LANGUAGES: dict[str, LanguageProfile] = { # Interpreted runtimes where we can build an env via withPackages. "python": LanguageProfile(label="Python 3.13", base_packages=["python313"]), "ruby": LanguageProfile(label="Ruby 3.3", base_packages=["ruby_3_3"]), "r": LanguageProfile(label="R", base_packages=["R"]), "lua": LanguageProfile(label="Lua 5.4", base_packages=["lua5_4"]), }