Packages
Model Context Protocol (MCP) implementation in Elixir with Phoenix integration
Retired package: Release invalid - wrong usage of Mix.env on runtime function prevents application to start
Current section
Files
Jump to
Current section
Files
lib/mix/interactive/shell.ex
defmodule Mix.Interactive.Shell do
@moduledoc """
Base functionality for interactive MCP shells.
This module acts as the core command loop for interactive MCP shells,
providing a consistent interface and user experience across different
transport implementations (SSE, STDIO).
It handles basic functionality like reading user input and delegating
command processing to the appropriate handlers.
"""
alias Mix.Interactive.Commands
alias Mix.Interactive.UI
@doc """
Main command loop for interactive shells.
"""
def loop(client) do
IO.write("#{UI.colors().prompt}mcp> #{UI.colors().reset}")
""
|> IO.gets()
|> String.trim()
|> Commands.process_command(client, fn -> loop(client) end)
end
end