API Reference snodo v#0.1.0

Copy Markdown View Source

Modules

A router-first architecture spike for the Model Context Protocol.

Optional application-owned authorization at the component boundary.

The identity of one registered router component shown to an authorization policy.

A lightweight cooperative cancellation token backed by :atomics.

A client for MCP servers.

In-process transport for Snodo.Client.direct/2.

Streamable HTTP transport for Snodo.Client.connect({:http, url}, opts).

One page of a list operation returned by Snodo.Client.list_page/3.

Stdio transport for Snodo.Client.connect({:stdio, command, args}, opts).

Behaviour for the connection underneath Snodo.Client.

A normalized, protocol-neutral completion request.

Honest, machine-readable evidence inventory for the implemented MCP slice.

Immutable request-scoped protocol, transport, auth, and tracing context.

Builds and validates embedded elicitation/create requests for MRTR.

A decoded JSON-RPC message before dialect-specific resolution.

A protocol-neutral error with JSON-RPC-compatible defaults.

Behaviour for explicitly installed, exact-versioned out-of-tree extensions.

An exact-versioned extension method mapped to a static operation term.

Immutable registry for explicitly installed extension modules.

A resolved request route owned by one installed extension.

Optional, dependency-free lifecycle instrumentation.

A normalized instrumentation sink: the sink module and its options.

The JSON value rule every result, content map, and metadata map must satisfy.

Validation for the ordinary multi round-trip request boundary.

Optional, integrity-protected state for multi-round-trip requests.

Stateless, protocol-neutral pagination for MCP list operations.

Acknowledged progress reporting for an active ordinary MCP request.

A request-scoped handle whose lifecycle belongs to its transport.

Transport-owned immutable progress counters; no worker or global registry is created.

Behaviour, compile-time DSL, and content builders for MCP prompts.

Protocol-neutral definition of an MCP prompt template.

Snodo.Prompt with declared arguments and plain return values from render/2.

Behaviour for version-specific lifecycle, admission, routing, and wire shaping.

The successful result of exact-profile MCP admission inspection.

Pure exact-profile admission checks performed before semantic routing.

Immutable, exact-revision protocol facts used by admission and support reports.

A declarative method rule for one exact MCP protocol profile.

An immutable, explicitly configured registry of protocol dialects.

Opt-in MCP 2025-06-18 dialect for stateless HTTP; no server-initiated requests.

Opt-in MCP 2025-11-25 dialect for stateless HTTP; Tasks are not implemented.

Minimal server dialect for MCP 2026-07-28.

Behaviour and compile-time convenience DSL for MCP resources.

Protocol-neutral definition of a direct resource or resource template.

Snodo.Resource with plain return values from read/2.

An exact matcher for the simple-expansion subset of URI templates.

A protocol-neutral handler result shaped later by the selected dialect.

An immutable registry and synchronous protocol-neutral dispatcher.

Pluggable JSON Schema validation boundary.

Dependency-free validation for the common JSON Schema subset used by tools.

Default validator used when an application has not installed a backend.

Dialect-driven direct dispatch and a declarative server builder.

Optional, transport-neutral execution policy around the synchronous server core.

Immutable server configuration shared by direct and transport dispatch.

Optional supervision boundary for configured transport children.

An opened, request-scoped MCP subscription.

A protocol-neutral event emitted by an application subscription source.

An opt-in, application-supervised Snodo.Subscription.Source.

Application-owned event source boundary for subscriptions/listen.

A normalized subscription source: the source module and its options.

In-process request helpers for component and protocol tests.

Behaviour and compile-time convenience DSL for MCP tools.

Protocol-neutral static definition of an application tool.

Opt-in argument DSL for tools with straightforward object input schemas.

Behaviour for long-lived transport adapters.

Opaque, request-scoped information supplied by a transport.

Transport-neutral requirements declared by a protocol dialect.

Concurrent newline-delimited JSON-RPC transport.

Newline-delimited JSON framing for the MCP stdio binding.

Protocol-driven adapter for stateless Streamable HTTP requests.

A server-agnostic HTTP request at the Streamable HTTP boundary.

A complete HTTP response returned by the core adapter.

Small dependency-free HTTP/1.1 listener for Snodo.Transport.StreamableHTTP.

A transport-server-agnostic long-lived SSE response descriptor.

Mix Tasks

Runs every public-API example in deterministic check mode.

Runs the literal-wire compliance tests, then prints an evidence report.

Runs one repository example in deterministic check mode in a fresh VM.