Files
bDS2/lib/mix/tasks/bds.mcp.ex

26 lines
516 B
Elixir

defmodule Mix.Tasks.Bds.Mcp do
@moduledoc false
use Mix.Task
@shortdoc "Runs the bDS MCP server over stdio or localhost HTTP"
@impl Mix.Task
def run(args) do
Mix.Task.run("app.start")
case args do
["--http", port] ->
{:ok, _server} = BDS.MCP.Server.start(String.to_integer(port))
Process.sleep(:infinity)
["--http"] ->
{:ok, _server} = BDS.MCP.Server.start(0)
Process.sleep(:infinity)
_other ->
BDS.MCP.Stdio.main()
end
end
end