# Class LittleGhost::MCP::Definition

Documentation version: Edge

Canonical HTML: https://littleghostai.org/docs/LittleGhost/MCP/Definition.html

Immutable server-advertised Tool metadata. `source_name` is always the name
sent back to the server; `name` is the initially generated model-facing name
and may later be customized on the generated Tool class.

## Inheritance

`LittleGhost::MCP::Definition < Data`

## Attributes

<a id="attribute-i-annotations"></a>
### `annotations` (R)

Deeply frozen MCP tool annotations.

<a id="attribute-i-description"></a>
### `description` (R)

The model-facing description, including LittleGhost's fallback when the server
omitted one.

<a id="attribute-i-input_schema"></a>
### `input_schema` (R)

The deeply frozen MCP input schema.

<a id="attribute-i-metadata"></a>
### `metadata` (R)

Deeply frozen MCP `_meta` object.

<a id="attribute-i-name"></a>
### `name` (R)

The normalized, optionally prefixed initial model-facing name.

<a id="attribute-i-output_schema"></a>
### `output_schema` (R)

The optional deeply frozen MCP output schema.

<a id="attribute-i-raw"></a>
### `raw` (R)

A deeply frozen, indifferent-access copy of the complete server definition
object. Definition also delegates `[]`, `fetch`, `dig`, and
`key?` to this map.

<a id="attribute-i-source_name"></a>
### `source_name` (R)

The unmodified server-advertised name used for dispatch.

<a id="attribute-i-title"></a>
### `title` (R)

The optional human-readable MCP title.
