AttestoMCP.Server.Registry (attesto_mcp_server v0.8.0)

Copy Markdown View Source

Deterministic, authorization-filtered MCP primitive registry.

Summary

Types

A normalized JSON-compatible primitive definition.

Supported registration categories.

Functions

Returns a specification to start this module under a supervisor.

Returns definitions for one category in deterministic identity order.

Validates and registers one primitive, rejecting duplicate identities.

Returns the monotonic catalog revision used to bind cursors.

Returns all normalized definitions grouped by primitive category.

Starts the registry; registration is serialized through this process.

Types

definition()

@type definition() :: map()

A normalized JSON-compatible primitive definition.

primitive()

@type primitive() :: :tool | :resource | :template | :prompt | :completion

Supported registration categories.

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

list(pid, type)

@spec list(pid(), primitive()) :: [definition()]

Returns definitions for one category in deterministic identity order.

register(pid, type, identity, definition)

@spec register(pid(), primitive(), String.t(), map() | keyword()) ::
  :ok | {:error, term()}

Validates and registers one primitive, rejecting duplicate identities.

revision(pid)

@spec revision(pid()) :: non_neg_integer()

Returns the monotonic catalog revision used to bind cursors.

snapshot(pid)

@spec snapshot(pid()) :: %{
  required(primitive()) => %{optional(term()) => definition()}
}

Returns all normalized definitions grouped by primitive category.

start_link(opts \\ [])

@spec start_link(keyword()) :: GenServer.on_start()

Starts the registry; registration is serialized through this process.