Packages

Host-owned customer support automation for Phoenix apps — governed drafting, retrieval-backed answers, and durable workflow tools.

Current section

Files

Jump to
cairnloop lib cairnloop web mcp well_known_plug.ex
Raw

lib/cairnloop/web/mcp/well_known_plug.ex

defmodule Cairnloop.Web.MCP.WellKnownPlug do
@moduledoc """
Serves RFC 9728 metadata for MCP authorization.
"""
@behaviour Plug
import Plug.Conn
@impl Plug
def init(opts), do: opts
@impl Plug
def call(conn, _opts) do
servers = Application.get_env(:cairnloop, :mcp_authorization_servers, [])
body = Jason.encode!(%{authorization_servers: servers})
conn
|> put_resp_content_type("application/json")
|> send_resp(200, body)
|> halt()
end
end