# AttestoMCP v1.0.1 - Table of Contents

> Plug/Phoenix authentication helpers for protecting Model Context Protocol servers with Attesto.

## Pages

- [AttestoMCP](readme.md)

- Guides
  - [Wiring an MCP server](mcp_wiring.md)
  - [Pinning the origin behind a reverse proxy](proxy_origin.md)

- Changelog
  - [Changelog](changelog.md)

- License
  - [LICENSE](license.md)

## Modules

- [AttestoMCP.Test.Factory](AttestoMCP.Test.Factory.md): Test fixtures for exercising a host MCP server's Attesto pipeline.

- Setup
  - [AttestoMCP](AttestoMCP.md): Authentication helpers for HTTP-based Model Context Protocol servers.

- Plugs
  - [AttestoMCP.Plug.Authenticate](AttestoMCP.Plug.Authenticate.md): Authenticate a protected MCP endpoint with Attesto.
  - [AttestoMCP.Plug.ProtectResource](AttestoMCP.Plug.ProtectResource.md): Protect an HTTP MCP endpoint in one plug.
  - [AttestoMCP.Plug.RequireScopes](AttestoMCP.Plug.RequireScopes.md): Require scopes on a request authenticated by `AttestoMCP.Plug.Authenticate`.

- Routing
  - [AttestoMCP.MetadataController](AttestoMCP.MetadataController.md): Phoenix controller that serves RFC 9728 protected-resource metadata.
  - [AttestoMCP.Router](AttestoMCP.Router.md): Phoenix router macros for OAuth protected-resource metadata discovery.

- Metadata
  - [AttestoMCP.Metadata](AttestoMCP.Metadata.md): Builders for OAuth metadata used by HTTP MCP authorization.

- Scopes
  - [AttestoMCP.Scopes](AttestoMCP.Scopes.md): MCP-oriented scope naming conventions.

- Anubis
  - [AttestoMCP.Anubis](AttestoMCP.Anubis.md): Bridge a verified resource-server identity into the Anubis MCP frame.
  - [AttestoMCP.Anubis.JSONSafe](AttestoMCP.Anubis.JSONSafe.md): Produce a JSON-safe copy of an MCP session-state map before it is written to a
`jsonb` column.
  - [AttestoMCP.Anubis.Registry.Horde](AttestoMCP.Anubis.Registry.Horde.md): `Horde.Registry`-backed session registry for the Anubis MCP transports.
  - [AttestoMCP.Anubis.Session](AttestoMCP.Anubis.Session.md): Persisted Anubis MCP session state, backing `AttestoMCP.Anubis.SessionStore.Ecto`.
  - [AttestoMCP.Anubis.SessionStore.Ecto](AttestoMCP.Anubis.SessionStore.Ecto.md): Postgres-backed `Anubis.Server.Session.Store` for the Anubis MCP transports.

- Testing
  - [AttestoMCP.Test.DPoPAssertions](AttestoMCP.Test.DPoPAssertions.md): Shipped ExUnit assertions for the DPoP sender-constraint contract.
  - [AttestoMCP.Test.DPoPReplay](AttestoMCP.Test.DPoPReplay.md): Minimal DPoP replay callback for tests.

## Mix Tasks

- [mix attesto_mcp.gen.session_migration](Mix.Tasks.AttestoMcp.Gen.SessionMigration.md): Generates an Ecto migration that creates the `attesto_mcp_sessions` table
backing `AttestoMCP.Anubis.SessionStore.Ecto` (a Postgres-backed
`Anubis.Server.Session.Store` adapter).
- [mix attesto_mcp.install](Mix.Tasks.AttestoMcp.Install.md): Scaffolds an MCP protected resource into a Phoenix application
- [mix attesto_mcp.install.sessions](Mix.Tasks.AttestoMcp.Install.Sessions.md): Wires the Ecto-backed Anubis MCP session store into a host application

