# `DDD.MCP.Schema`
[🔗](https://github.com/blackuprise/vicander/blob/v0.1.1/lib/ddd/mcp/schema.ex#L1)

JSON Schema for the input of a command or query, built from its declared fields.

The type of each field becomes the schema of the parameter, `description:` its description,
`required: true` puts it in `required`, and a `default:` is advertised. This is what an AI
client reads to know how to call the tool.

# `input`

```elixir
@spec input(module()) :: map()
```

The JSON Schema (`type: object`) for the parameters of a command or query module.

# `type`

```elixir
@spec type(DDD.Type.t(), non_neg_integer()) :: map()
```

The JSON Schema of a `DDD.Type`.

---

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