list_languages
Lists available programming languages and their base Nix packages to help developers identify supported options for creating ephemeral development environments.
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 main handler function for the 'list_languages' tool, decorated with @mcp.tool() for registration. It iterates over SUPPORTED_LANGUAGES to generate a formatted list of supported languages and their base packages.@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:24-30 (helper)Dictionary defining the supported languages, their labels, and base Nix packages, used by the list_languages handler.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"]), }
- mcp_omnienv_nix/server.py:18-22 (helper)Dataclass defining the structure for language profiles used in SUPPORTED_LANGUAGES.@dataclass(frozen=True) class LanguageProfile: label: str base_packages: List[str]