Claudio.MCP.Adapters.HermesMCP (Claudio v0.7.0)

View Source

Adapter 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)