# MCPTools can now negotiate the newest MCP protocol era

> A new protocol_mode argument on MCPTools picks which MCP protocol era the client negotiates. It defaults to legacy, so existing servers are unaffected.

- Published: 2026-09-04
- Author: 程序猿过家家
- Categories: Changelog
- Canonical: https://www.agno.com/articles/mcptools-can-now-negotiate-the-newest-mcp-protocol-era
- Markdown: https://www.agno.com/articles/mcptools-can-now-negotiate-the-newest-mcp-protocol-era.md

We added `protocol_mode=` to `MCPTools` to pick which MCP protocol era the client negotiates with a server. It defaults to `"legacy"`, today's session-based behavior, so existing servers are unaffected. Set `"auto"` and the client negotiates the newest era both sides support, which is sessionless from 2026-07-28.

```python
from agno.tools.mcp import MCPTools

mcp_tools = MCPTools(url="https://example.com/mcp", protocol_mode="auto")
```

We also rebuilt the clients on `fastmcp.Client`.

See the [cookbook](https://github.com/agno-agi/agno/blob/main/cookbook/91_tools/mcp/protocol_mode.py), and learn more about [MCP](https://docs.agno.com/tools/mcp/overview) in the documentation.
