# describe_method

> MCP tool returning the full I/O contract for one StackQL access method

Source: https://stackql.io/mcp/describe_method

Returns the full I/O contract for a single access method -- always EXTENDED, meaning inputs, request body schema, and full output shape.  This is where an agent gets column names: each row carries a `param_type` of `input_required` (a mandatory, exact-match `WHERE` predicate), `input_optional`, or `output` (a field a `SELECT` or `RETURNING` can reference).  A resource has no single field list, because each method returns its own shape, so call this for the method chosen from [`list_methods`](/mcp/list_methods) before the first query against it.

See also:
[[ MCP overview ]](/command-line-usage/mcp) [[ `list_methods` ]](/mcp/list_methods) [[ `run_select_query` ]](/mcp/run_select_query)

* * *

## Inputs

| Argument | Required | Description |
|--|--|--|
|`provider`|Yes|Provider name.|
|`service`|Yes|Service under that provider.|
|`resource`|Yes|Resource under `provider.service`.|
|`method`|Yes|Method name as returned by [`list_methods`](/mcp/list_methods).|

:::info

Identifiers may not contain whitespace, semicolons or backslashes; such input is refused before any statement is built.

:::

* * *

## Output

| Renderer | Shape |
|--|--|
| KV | One row per input and output field: name, type, `param_type` (`input_required`, `input_optional` or `output`), shape and description |

* * *

## Gating

Allowed in every server mode.  Read only.

* * *

## Example

Try this prompt with any elicitation-capable MCP client with the StackQL MCP server registered:

```
Show me everything I need to know to call the insert method  
on Google Compute networks -- required parameters,  
optional parameters, and the request body shape.
```

Here's an example in Claude Desktop:
