26 lines
516 B
Elixir
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
|