McpServer.Resource (HTTP MCP Server v0.6.0)

View Source

Represents a static resource definition.

Resources are data sources that can be read by MCP clients. Static resources have fixed URIs without template variables.

Fields

  • name - Unique resource identifier
  • uri - Static URI for the resource
  • description - Human-readable description (optional)
  • mime_type - MIME type of the resource (optional)
  • title - Display title (optional)

Examples

iex> resource = McpServer.Resource.new(
...>   name: "config",
...>   uri: "file:///app/config.json",
...>   description: "Application configuration",
...>   mime_type: "application/json"
...> )
%McpServer.Resource{
  name: "config",
  uri: "file:///app/config.json",
  description: "Application configuration",
  mime_type: "application/json"
}

Summary

Functions

Creates a new Resource struct.

Types

t()

@type t() :: %McpServer.Resource{
  description: String.t() | nil,
  mime_type: String.t() | nil,
  name: String.t(),
  title: String.t() | nil,
  uri: String.t()
}

Functions

new(opts)

@spec new(keyword()) :: t()

Creates a new Resource struct.

Parameters

  • opts - Keyword list of resource options:
    • :name (required) - Unique resource identifier
    • :uri (required) - Static URI
    • :description - Human-readable description
    • :mime_type - MIME type
    • :title - Display title

Examples

iex> McpServer.Resource.new(
...>   name: "readme",
...>   uri: "file:///README.md"
...> )
%McpServer.Resource{name: "readme", uri: "file:///README.md"}

iex> McpServer.Resource.new(
...>   name: "config",
...>   uri: "file:///app/config.json",
...>   description: "App config",
...>   mime_type: "application/json",
...>   title: "Configuration"
...> )
%McpServer.Resource{
  name: "config",
  uri: "file:///app/config.json",
  description: "App config",
  mime_type: "application/json",
  title: "Configuration"
}