# `ExUtcp.Transports.Graphql.Schema`
[🔗](https://github.com/universal-tool-calling-protocol/elixir-utcp/blob/main/lib/ex_utcp/transports/graphql/schema.ex#L1)

GraphQL schema introspection and tool extraction utilities.

# `build_mutation`

```elixir
@spec build_mutation(String.t(), map()) :: String.t()
```

Builds a GraphQL mutation from tool name and arguments.

# `build_query`

```elixir
@spec build_query(String.t(), map()) :: String.t()
```

Builds a GraphQL query from tool name and arguments.

# `build_subscription`

```elixir
@spec build_subscription(String.t(), map()) :: String.t()
```

Builds a GraphQL subscription from tool name and arguments.

# `extract_tools`

```elixir
@spec extract_tools(map()) :: [map()]
```

Extracts tools from a GraphQL schema introspection result.

# `parse_response`

```elixir
@spec parse_response(map()) :: {:ok, map()} | {:error, term()}
```

Parses GraphQL response and extracts tool results.

# `validate_query`

```elixir
@spec validate_query(String.t()) :: {:ok, String.t()} | {:error, term()}
```

Validates a GraphQL query string.

---

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