# AgentOS MCP tools now describe every argument

> Every argument on Agno's AgentOS MCP tools now carries a description in its inputSchema, and get_sessions rejects a limit or page below 1 with a clear validation error.

- Published: 2026-09-23
- Author: Yash Pratap Solanky
- Categories: Changelog
- Canonical: https://www.agno.com/articles/agentos-mcp-tools-now-describe-every-argument
- Markdown: https://www.agno.com/articles/agentos-mcp-tools-now-describe-every-argument.md

An MCP client passes the `tools/list` output of the Agno AgentOS MCP server to the calling model as it is, so the model now reads a description for each argument right in the `inputSchema`. The arguments used to arrive as bare types. `db_id` was a nullable string, `sort_by` was a string, and everything a model needed to know about them sat in the tool description prose.

The change covers the built-in tools (`run_agent`, `run_team`, `run_workflow`, `continue_run`, `cancel_run`, `get_sessions` and `get_session_runs`) and the tools you expose for single components. Each description is a short phrase the model can act on, like `"Agent id from get_agentos_config."` for `agent_id`. The tool descriptions drop the sentences that the arguments now carry.

We built the same AgentOS with MCP enabled on both releases and read `tools/list`. Before, none of the 38 arguments across the 8 built-in tools had a description. Now all 38 do.

![get_sessions inputSchema from AgentOS tools/list, before and now, real output. Before, limit and page carry only a default and the integer type, and a call with limit=0 returns Invalid request parameters. Now, limit has the description Sessions per page. and minimum 1, page has the description Page number, starting at 1. and minimum 1, and a call with limit=0 returns a validation error saying limit input should be greater than or equal to 1.](https://www.agno.com/images/v3-0-11-mcp-tool-arguments.png)

### Two arguments now validate up front

`get_sessions` declares `minimum: 1` on `limit` and `page`, which matches the REST route. A `limit` of 0 used to reach the database layer and come back as JSON-RPC error `-32602` with the message "Invalid request parameters" and nothing else. The AgentOS MCP server now returns a tool error that names the argument:

```text
1 validation error for call[get_sessions]
limit
  Input should be greater than or equal to 1 [type=greater_than_equal, input_value=0, input_type=int]
```

`continue_run` now lists `session_id` as required, next to `run_id`. A continuation always failed without it, so the optional type in the old schema misled callers.

See the [cookbook](https://github.com/agno-agi/agno/blob/main/cookbook/05_agent_os/14_mcp/basic.py), and learn more about the [built-in tools](https://docs.agno.com/agent-os/mcp/mcp#built-in-tools) in the documentation.
