WardrikMCP. Servers
(wardrik_mcp v0.1.0-rc.1)
Copy Markdown
Tracks a WardrikMCP's servers and their tools.
It holds the servers it started with and those added at runtime. For servers with a
credential_name, it also holds the tools last listed.
Servers added at runtime are kept in the store. Each node re-reads the store on the
:reconcile interval. If a :check is given, it's called when a server is added and each time a
connection starts.
Summary
Functions
Adds the server name. With a store, every node reaches it.
Returns every server, by name. Raises ArgumentError if mcp isn't started.
Returns a specification to start this module under a supervisor.
Stores the tools listed by a server reached with a credential.
Re-reads the servers in the store now.
Removes the server name. Only servers added at runtime can be removed.
Starts the server registry and the servers in settings.
Returns the tools of the server name.
Functions
Adds the server name. With a store, every node reaches it.
@spec all(atom()) :: %{required(String.t()) => WardrikMCP.Server.t()}
Returns every server, by name. Raises ArgumentError if mcp isn't started.
Returns a specification to start this module under a supervisor.
See Supervisor.
Stores the tools listed by a server reached with a credential.
@spec reconcile(atom()) :: :ok
Re-reads the servers in the store now.
Removes the server name. Only servers added at runtime can be removed.
@spec start_link(map()) :: GenServer.on_start()
Starts the server registry and the servers in settings.
@spec tools(atom(), String.t()) :: [WardrikCore.Tool.t()]
Returns the tools of the server name.