# `Issho.MCP`
[🔗](https://github.com/hattoriai/issho/blob/v0.2.0/lib/issho/mcp.ex#L121)

Issho's tools over MCP, with [Sake](https://hex.pm/packages/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.Issho

Serve 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.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
