adk_mcp_server (erlang_adk v0.10.0)

View Source

Bounded dual-era MCP Streamable HTTP server.

Modern requests are stateless. Legacy requests retain the bounded session lifecycle, with an explicitly opt-in deprecated GET/SSE adapter. Registered work runs in monitored lightweight processes behind global concurrency and deadline bounds.

Summary

Functions

acknowledge_modern_subscription(Server, Owner, Id, Kind)

-spec acknowledge_modern_subscription(pid(), pid(), binary() | integer(), tools | resources | prompts) ->
                                         ok.

catalog_info(Server)

-spec catalog_info(pid()) -> {ok, map()} | {error, term()}.

close_modern_subscription(Server, Owner, Id)

-spec close_modern_subscription(pid(), pid(), binary() | integer()) -> ok.

code_change(OldVersion, State, Extra)

delete_session(Server, Session, Version)

-spec delete_session(pid(), undefined | binary(), undefined | binary()) -> ok | {error, term()}.

delete_session(Server, Session, Version, AuthContext)

-spec delete_session(pid(), undefined | binary(), undefined | binary(), legacy | map()) ->
                        ok | {error, term()}.

endpoint(Server)

-spec endpoint(pid()) -> {ok, map()} | {error, term()}.

format_status(Status)

handle_call(Request, From, State)

handle_cast(Message, State)

handle_http(Server, Session, Version, Message, Timeout)

-spec handle_http(pid(), undefined | binary(), undefined | binary(), map(), timeout()) -> term().

handle_http(Server, Session, Version, Message, AuthContext, Timeout)

-spec handle_http(pid(), undefined | binary(), undefined | binary(), map(), legacy | map(), timeout()) ->
                     term().

handle_info(Info, State)

handle_modern_http(Server, Message, Context, AuthContext, Timeout)

-spec handle_modern_http(pid(), map(), map(), legacy | map(), timeout()) -> term().

init(Config0)

open_modern_subscription(Server, Id, Filter, Owner, AuthContext, Timeout)

-spec open_modern_subscription(pid(), binary() | integer(), map(), pid(), legacy | map(), timeout()) ->
                                  {ok, map()} | {error, term()}.

register_prompt(Server, Prompt)

-spec register_prompt(pid(), map()) -> ok | {error, term()}.

register_resource(Server, Resource)

-spec register_resource(pid(), map()) -> ok | {error, term()}.

register_tool(Server, Tool)

-spec register_tool(pid(), module() | map()) -> ok | {error, term()}.

replace_catalog(Server, Definitions)

-spec replace_catalog(pid(), map()) -> {ok, map()} | {error, term()}.

Atomically validate and replace all executable registries and the immutable public catalog generation used by list operations.

start(Transport, Config)

-spec start(binary(), map() | [module()]) -> {ok, pid()} | {error, term()}.

start_link(Config)

-spec start_link(map()) -> gen_server:start_ret().

stop(Server)

-spec stop(pid()) -> ok.

terminate(Reason, State)