Issho's tools over MCP, with Sake: a
Sake.Server of the tools you give, Issho's (Issho.Tools.room/0)
and the components' (Kotoba.Issho.tools/0, Hakushi.Issho.tools/0),
for any MCP client. The same tools serve your app's own model without
MCP (Issho.Tools).
defmodule MyApp.MCP do
use Issho.MCP,
name: "my-app",
version: "1.0.0",
tools: Issho.Tools.room() ++ Kotoba.Issho.tools() ++ Hakushi.Issho.tools()
end
# config/config.exs
config :issho, Issho.MCP, instance: MyApp.IsshoServe it as your app serves MCP: over HTTP or stdio, with Sake's
authorization, your own, or none, on its own endpoint or mounted in
your own server (mount MyApp.MCP). Who a caller is in the rooms:
Issho.MCP.Session.
Options: those of use Sake.Server (:name, :version,
:instructions...), and :tools, a list of Issho.Tool modules.
Sake is an optional dependency of Issho: add {:sake, "~> 0.4"} to
serve MCP.