| Did you know ... | Search Documentation: |
| Pack logtalk -- logtalk-3.98.0/docs/apis/_sources/mcp_resource_protocol_0.rst.txt |
.. index:: single: mcp_resource_protocol .. _mcp_resource_protocol/0:
.. rst-class:: right
protocol
mcp_resource_protocolProtocol for Logtalk objects that provide resources to be exposed via an MCP (Model Context Protocol) server. Implements the MCP 2025-06-18 specification. Implementing objects must define the set of resources available and handle resource read requests. Resources expose data and content from the application that MCP clients can access.
| Availability:
| logtalk_load(mcp_server(loader))
| Author: Paulo Moura | Version: 0:2:0 | Date: 2026-02-24
| Compilation flags:
| static
| Dependencies: | (none)
| Remarks:
resources in their capabilities/1 predicate (from the mcp_tool_protocol protocol). The server will then advertise the resources capability and handle resources/list and resources/read requests.resource(URI, Name, Description, MimeType) or resource(URI, Name, Title, Description, MimeType) term where URI is the resource identifier (an atom), Name is a human-readable name (an atom), Title is an optional human-friendly display name (an atom), Description is a human-readable description (an atom), and MimeType is the MIME type of the resource content (an atom, e.g. 'text/plain').contents(ContentList) where each item is text_content(URI, MimeType, Text) for text resources or blob_content(URI, MimeType, Base64Data) for binary resources encoded as base64.| Inherited public predicates: | (none)
.. contents:: :local: :backlinks: top
.. index:: resources/1 .. _mcp_resource_protocol/0::resources/1:
resources/1 ^^^^^^^^^^^^^^^
Returns a list of resource descriptors available from this object. Each descriptor is a compound term resource(URI, Name, Description, MimeType) or resource(URI, Name, Title, Description, MimeType) where URI is the resource identifier (an atom, typically a URI like logtalk://my-app/data), Name is a human-readable name (an atom), Title is an optional human-friendly display name (an atom), Description is a human-readable description (an atom), and MimeType is the MIME type (an atom, e.g. 'text/plain', 'application/json').
| Compilation flags:
| static
| Template:
| resources(Resources)
| Mode and number of proofs:
| resources(-list(compound)) - one
.. index:: resource_read/3 .. _mcp_resource_protocol/0::resource_read/3:
resource_read/3 ^^^^^^^^^^^^^^^^^^^
Handles a resource read request. URI is the resource identifier (as declared in resources/1), Arguments is a list of ArgumentName-Value pairs (currently unused but reserved for future use), and Result is unified with the resource result. The result must be contents(ContentList) where each content item is either text_content(URI, MimeType, Text) for text resources or blob_content(URI, MimeType, Base64Data) for binary resources encoded as base64. Text and Base64Data must be atoms.
| Compilation flags:
| static
| Template:
| resource_read(URI,Arguments,Result)
| Mode and number of proofs:
| resource_read(+atom,+list(pair),--compound) - one
(none)
(none)
(none)