Claudio.MCP.Adapters.HermesMCP (Claudio v0.7.0)
View SourceAdapter for the hermes_mcp (anubis-mcp) library.
Requires {:hermes_mcp, "~> 0.14"} in your dependencies.
The client argument is a {module, client} tuple: module exposes Hermes's
client-first API — Hermes.Client.Base (or Anubis.Client for anubis_mcp) — and
client is your client process (the module you defined with use Hermes.Client).
The generated MyClient.list_tools/1 functions take no client argument, so pass
the base module, not your own.
Returns {:error, :hermes_mcp_not_available} when module isn't loaded and
{:error, {:undefined_client_function, module, function, arity}} when it lacks a call.
Usage
# Start a Hermes client (see hermes_mcp docs)
{:ok, _pid} = MyHermesClient.start_link(transport: {:stdio, command: "server"})
client = {Hermes.Client.Base, MyHermesClient}
{:ok, tools} = Claudio.MCP.Adapters.HermesMCP.list_tools(client)