# `Urchin.ResourceTemplate`
[🔗](https://github.com/urth-inc/urchin/blob/v0.4.0/lib/urchin/resource_template.ex#L1)

A resource template advertised via `resources/templates/list`.

Mirrors the `ResourceTemplate` type from the MCP schema. `uri_template` is an
RFC 6570 URI template.

# `t`

```elixir
@type t() :: %Urchin.ResourceTemplate{
  annotations: map() | nil,
  description: String.t() | nil,
  icons: [map()] | nil,
  meta: map() | nil,
  mime_type: String.t() | nil,
  name: String.t(),
  title: String.t() | nil,
  uri_template: String.t()
}
```

# `new`

```elixir
@spec new(keyword() | map()) :: t()
```

Builds a resource template from a keyword list or map of attributes.

# `to_map`

```elixir
@spec to_map(t()) :: map()
```

Serializes the resource template to its JSON-RPC wire shape.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
