Did you know ... Search Documentation:
Pack logtalk -- logtalk-3.102.0/docs/apis/_sources/mcp_server_spec_protocol_0.rst.txt

.. index:: single: mcp_server_spec_protocol .. _mcp_server_spec_protocol/0:

.. rst-class:: right

protocol

mcp_server_spec_protocol

Protocol for MCP server spec (aka data layer) handlers independent of transport. A handler validates and dispatches JSON-RPC messages and returns abstract outcomes that a transport (stdio or Streamable HTTP) renders to the wire.

| Availability: | logtalk_load(mcp_server(loader))

| Author: Paulo Moura | Version: 1:0:0 | Date: 2026-08-31

| Compilation flags: | static

| Dependencies: | (none)

| Remarks: | (none)

| Inherited public predicates: | (none)

.. contents:: :local: :backlinks: top

Public predicates

.. index:: spec/1 .. _mcp_server_spec_protocol/0::spec/1:

spec/1 ^^^^^^^^^^

MCP server spec implemented by this handler (e.g. '2025-06-18' or '2026-07-28').

| Compilation flags: | static

| Template: | spec(Version) | Mode and number of proofs: | spec(-atom) - one


.. index:: prepare/2 .. _mcp_server_spec_protocol/0::prepare/2:

prepare/2 ^^^^^^^^^^^^^

Initializes handler state for Application with merged Options. Does not open any transport.

| Compilation flags: | static

| Template: | prepare(Application,Options) | Mode and number of proofs: | prepare(+object_identifier,+list) - one_or_error

| Exceptions: | Options is a variable: | instantiation_error | Options is neither a variable nor a list: | type_error(list,Options) | An element Option of the list Options is a variable: | instantiation_error | An element Option of the list Options is neither a variable nor a compound term: | type_error(compound,Option) | An element Option of the list Options is a compound term but not a valid option: | domain_error(option,Option)


.. index:: handle_message/3 .. _mcp_server_spec_protocol/0::handle_message/3:

handle_message/3 ^^^^^^^^^^^^^^^^^^^^

Handles one JSON-RPC Message under Options and returns an Outcome for the transport to render. Outcomes include reply(JsonRpcTerm), accepted, no_reply, and transport-agnostic error replies already encoded as JSON-RPC error objects inside reply/1.

| Compilation flags: | static

| Template: | handle_message(Message,Options,Outcome) | Mode and number of proofs: | handle_message(+nonvar,+list,-nonvar) - one


.. index:: notify/1 .. _mcp_server_spec_protocol/0::notify/1:

notify/1 ^^^^^^^^^^^^

Publishes an application event. Transports that support server-initiated notifications deliver it; others may ignore it.

| Compilation flags: | static

| Template: | notify(Event) | Mode and number of proofs: | notify(+compound) - zero_or_one


.. index:: cleanup/0 .. _mcp_server_spec_protocol/0::cleanup/0:

cleanup/0 ^^^^^^^^^^^^^

Releases handler-owned dynamic state.

| Compilation flags: | static

| Mode and number of proofs: | cleanup - one


Protected predicates

(none)

Private predicates

(none)

Operators

(none)