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.

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:
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, and learn more about the built-in tools in the documentation.
Frequently asked questions
A limit or page of 0 used to reach the database layer and come back as a bare "Invalid request parameters". The Agno AgentOS MCP server now declares minimum: 1 on both arguments and answers with a validation error that names the argument.
Each argument on the built-in AgentOS MCP tools and on exposed component tools now has a description in the tool's inputSchema, which MCP clients send to the model with tools/list.
Yes. The continue_run schema now lists run_id and session_id as required. Continuing a run always failed without a session_id.





