Community Roundup: September 2026 Agno shipped seven patch releases in September 2026, led by PublicSurface for serving agents to anonymous users, page storage that syncs docs into agent knowledge via llms.txt, and MCP servers that scale across replicas, with more than 50 community contributors landing changes. PublicSurface, enabled by passing `public=PublicSurface(...)` to `AgentOS`, enforces per-client and global quotas per minute and per day counted in PostgreSQL so every replica applies the same limits, and later gained Control Plane sharing via `authorization=True`. The releases also moved reranking into `Knowledge.search()` so it works on any vector database, added `MMRReranker` and `RecencyReranker`, and added Elasticsearch as a supported vector database. Blog https://www.agno.com/blog Community Roundup: September 2026 Cosette Cressler https://github.com/CosetteCressler Content & Product Marketing Lead October 5, 20267 min read Agno shipped seven patch releases in September, headlined by PublicSurface for public agents, page storage for docs-backed knowledge, and MCP servers that scale across replicas. More than 50 community contributors landed changes alongside us, and the community shipped some incredible projects of its own. There's a lot to cover, so let's dive in. New releases & features PublicSurface serves agents to anonymous users Say you want a product assistant on your marketing site. Visitors aren't logged in, and they shouldn't get anywhere near your admin API or your internal teams. Pass public=PublicSurface ... to AgentOS and list the components anonymous users may reach. Everything you leave off that list stays private. Public requests run against per-client and global quotas, per minute and per day, and AgentOS counts them in PostgreSQL so every replica enforces the same numbers. Request size, run time, output size, and concurrent runs all have ceilings you can set. Later in the month, PublicSurface gained support for sharing an AgentOS with the Control Plane. Set authorization=True and one URL serves anonymous chat on the routes you picked, while verified JWTs reach the full REST API under their scopes. Read the changelog entries on PublicSurface https://www.agno.com/blog/serve-agents-to-the-public-with-publicsurface and running it with the Control Plane https://www.agno.com/blog/run-the-control-plane-and-a-public-agent-on-one-agentos , or learn more about PublicSurface https://docs.agno.com/agent-os/public-surface in the docs. Page storage turns your docs into agent knowledge Keeping an agent in step with your docs usually means a crawler, a chunker, and a vector table that drift apart. A refresh dies halfway through, and the agent serves new text against old vectors. Knowledge.sync pages takes a site's llms.txt URL, discovers the pages, fetches their Markdown, embeds them, and publishes each page's text, catalog entry, and vectors in one transaction. A page either publishes whole or keeps its previous version. Unchanged pages skip re-embedding, and the sync report lists every page that failed or was removed. Once the pages are published, the PageFileSystem toolkit lets an agent work through them with ls , tree , rg , grep , cat , and head , the way an engineer works through a repo. Vector search finds the right page, and the agent then reads all of it. The toolkit is read-only: no shell, no writes, and bounded output. Read the changelog entries on page storage https://www.agno.com/blog/publish-your-docs-as-agent-knowledge-with-page-storage and PageFileSystem https://www.agno.com/blog/give-agents-a-read-only-filesystem-over-your-docs , or learn more about published pages https://docs.agno.com/knowledge/published-pages in the docs. Rerankers now work on every vector database Knowledge.search now runs the reranker itself. Before, reranking had to be built into each vector database adapter, and only some adapters had it. Pass a reranker to Knowledge and every search goes through it, on any vector database. Agno widens the fetch first, so the reranker has a bigger pool of candidates to reorder. Two new rerankers ship with it: MMRReranker https://www.agno.com/blog/get-diverse-search-results-with-the-mmr-reranker swaps near-duplicate results for diverse ones, and RecencyReranker https://www.agno.com/blog/rank-newer-documents-higher-with-the-recency-reranker ranks newer documents higher. CohereReranker and your own rerankers work too. Setting reranker on a vector database still works but now logs a deprecation warning. Move it to Knowledge reranker=... . Read the full changelog entry https://www.agno.com/blog/rerank-knowledge-search-on-any-vector-database , or learn more about reranking https://docs.agno.com/knowledge/concepts/search-and-retrieval/reranking in the docs. Elasticsearch joins the vector databases Teams that already run Elasticsearch for search and logs can now keep agent knowledge there too. The new Elasticsearch vector database supports vector, keyword, and hybrid search, metadata filters, rerankers, async, and per-user isolation through a user id field. Hybrid search works on every Elasticsearch license, and you can switch it to reciprocal rank fusion on Platinum, Enterprise, and trial licenses. Read the full changelog entry https://www.agno.com/blog/search-knowledge-in-elasticsearch-with-vector-keyword-and-hybrid-search , or learn more about the Elasticsearch vector database https://docs.agno.com/knowledge/vector-stores/elasticsearch/overview in the docs. AgentOS MCP servers scale out MCPConfig stateless=True https://www.agno.com/blog/serve-mcp-statelessly-so-any-replica-can-answer-any-request serves /mcp without tracking sessions, so any replica can answer any request and a multi-instance deployment no longer needs session affinity. It's off by default, because stateless serving also drops server-initiated notifications and SSE resumability. Two more additions make an AgentOS MCP server easier to discover and connect to. GET /mcp/server-card https://www.agno.com/blog/agentos-now-serves-an-mcp-server-card lists the tools your server offers before a client connects. MCPConfig can also serve your tool server at its own hostname https://www.agno.com/blog/serve-your-mcp-server-at-its-own-hostname , like mcp.example.com , without the routing middleware you used to write. On the client side, MCPTools protocol mode="auto" https://www.agno.com/blog/mcptools-can-now-negotiate-the-newest-mcp-protocol-era negotiates the newest MCP protocol version both sides support, including the sessionless 2026-07-28 version. The default stays "legacy" , so existing servers are unaffected. A community contributor built this one more below . Learn more about the AgentOS MCP server https://docs.agno.com/features/mcp-server and MCP tools https://docs.agno.com/tools/mcp/overview in the docs. Azure OpenAI deployments get the Responses API AzureOpenAIResponses gives your Azure deployment the tools, structured output, streaming, and background responses of OpenAIResponses . Agno's AzureOpenAI model only offered Chat Completions until now. Read the full changelog entry https://www.agno.com/blog/use-the-responses-api-with-azure-openai-deployments , or see the cookbook https://github.com/agno-agi/agno/blob/main/cookbook/90 models/azure/openai/responses.py for reference. New tools & integrations Also shipped in September: - New model providers : llmman https://www.agno.com/blog/llmman-is-now-a-supported-model-provider and Y-API https://www.agno.com/blog/y-api-joins-agno-as-a-model-provider , an OpenAI-compatible gateway. - GandrTools https://www.agno.com/blog/gandrtools-adds-gandr-text-to-speech-to-your-agents : agents can turn text into speech through the Gandr TTS API. - Bring your own Bedrock client https://www.agno.com/blog/bring-your-own-async-client-to-bedrock : Bedrock accepts an async client you configure yourself. - MCP tools return audio https://www.agno.com/blog/mcp-tools-now-return-audio : when an MCP tool returns audio, MCPTools decodes it and adds it to run.audio . - Public custom routes https://www.agno.com/blog/mark-custom-routes-public-without-turning-off-auth : mark individual custom routes public while authorization stays on for everything else. - AG-UI protocol 1.0 https://www.agno.com/blog/the-ag-ui-interface-supports-ag-ui-protocol-1-0 : the AG-UI interface handles tool results sent as lists of content parts, so paused runs resume cleanly. - Slack retries https://www.agno.com/blog/slack-now-answers-messages-whose-first-delivery-was-lost : the Slack interface now answers a message whose first delivery never reached AgentOS. It used to drop the retry. - Cancelled runs say where they stopped https://www.agno.com/blog/cancelled-runs-now-say-where-they-stopped : cancellation stage tells you whether a run never started, stopped mid-run, or was waiting on a human. - Dependencies can read the run https://www.agno.com/blog/dependency-callables-can-now-read-the-run-input-and-session : callables in an agent's dependencies can read the run input and the session. Breaking changes A few September releases changed behavior. The ones most likely to affect you: - Knowledge ingestion now reports embedding failures. Content that used to show completed may now show failed or partial , and embedders raise EmbeddingError where they used to return an empty vector. - Knowledge constructor arguments are keyword-only, so Knowledge "docs" becomes Knowledge name="docs" . - CodingTools makes run shell opt-in with enable run shell=True . - With authorization=True and PublicSurface mcp=True , MCP accepts only localhost by default. Add your domain to MCPConfig allowed hosts= ... . Read the release notes https://github.com/agno-agi/agno/releases before you upgrade. Community projects & showcases A few of the things people built with Agno in September: Workspace Council: a governed multi-agent council for your workspace by Anshul Raj, Mohamed Tahir, and Mujtaba Mohimtulay Built at the AI Tinkerers Dubai hackathon, Workspace Council puts six specialized Agno agents to work across the web, Slack, and the Ambiguous workspace app. They pull documents and email context, research with Exa, draft decision-ready artifacts, and run an adversarial critic loop on every draft. Every write waits for human approval, and a CopilotKit Mission Control view shows each handoff as it happens. Read more on LinkedIn https://www.linkedin.com/posts/anshul-raj-372740202 agentseverywhere-aiagents-copilotkit-ugcPost-7504510433589071872-uHlP . Vega: voice trading inside OpenAlgo by Marketcalls @marketcallsHQ OpenAlgo is an open-source trading platform for Indian markets that works with 35+ brokers. Its new assistant, Vega, lets you talk to the platform and place trades by voice. Agno runs the agents, and LiteLLM keeps it model-agnostic. Check it out on X https://x.com/marketcallsHQ/status/2099579349460750708 . An agent council for pressure-testing ideas by Tarun Jain Pick a room for your niche in a pixelated world, pitch an idea, and six Agno agents with their own personas interview you, research with Exa, debate each other, and land on a collective opinion. Tarun built it to test agent-to-agent communication, comparing coordinator and routing orchestration with an A2A branch. The code will be open-sourced alongside a video walkthrough. Read more on LinkedIn https://www.linkedin.com/feed/update/urn:li:activity:7507055553433677824 . Contributor shoutouts Community MVPs - @basnijholt : Fixes across the 3.x line. SqliteDb bulk upserts now apply the session owner check, empty Anthropic tool arguments survive replay, and nullable document titles in Claude citations no longer break 9937 https://github.com/agno-agi/agno/pull/9937 , 8970 https://github.com/agno-agi/agno/pull/8970 , 10147 https://github.com/agno-agi/agno/pull/10147 , 9941 https://github.com/agno-agi/agno/pull/9941 . - @ProgrammerPlus1998 : Migrated the MCP client and the AgentOS MCP server to mcp 2.x, which brought protocol mode to MCPTools 9269 https://github.com/agno-agi/agno/pull/9269 . - @hugoaimlapi AI/ML API : Repaired the AIMLAPI model integration, then added AIMLAPITools for image, video, speech, and transcription behind one key 9898 https://github.com/agno-agi/agno/pull/9898 , 10276 https://github.com/agno-agi/agno/pull/10276 . - @luisnmartins : Added .zip and .eml as AgentOS upload types, so archives and email files go straight into a run 9193 https://github.com/agno-agi/agno/pull/9193 . More great contributions - @ericcurtin Docker : Added llmman as a model provider 9863 https://github.com/agno-agi/agno/pull/9863 . - @rastagan-git : Added the Azure OpenAI Responses model 9841 https://github.com/agno-agi/agno/pull/9841 . - @ddellspe-vl : Let Bedrock take an async client you provide 9531 https://github.com/agno-agi/agno/pull/9531 . - @kinKingen : Added AuthorizationConfig.excluded route paths for public custom routes 9295 https://github.com/agno-agi/agno/pull/9295 . - @jiweiyeah : Added Y-API as an OpenAI-compatible model provider 10326 https://github.com/agno-agi/agno/pull/10326 . - @devansh173 : Made MCP tools return audio as audio artifacts 10036 https://github.com/agno-agi/agno/pull/10036 . - @yetuge : Four PRs, including DeepSeek thinking-model detection in OpenAILike and UTF-8 reads and writes in LocalFileSystemTools 10342 https://github.com/agno-agi/agno/pull/10342 , 10538 https://github.com/agno-agi/agno/pull/10538 . - @BlueX888 : Three fixes, including real image MIME types for Gemini and keeping falsy tool results like 0 and 9887 https://github.com/agno-agi/agno/pull/9887 , 9948 https://github.com/agno-agi/agno/pull/9948 . - @devYRPauli : Stopped RecursiveChunking from emitting duplicate trailing chunks and added grouped-shape support to the PowerPoint readers 9919 https://github.com/agno-agi/agno/pull/9919 , 10037 https://github.com/agno-agi/agno/pull/10037 . - @ericdelorefice : Made a failed async run delete raise an error, so a dropped connection no longer looks like a missing run 10682 https://github.com/agno-agi/agno/pull/10682 . - @runshouse Magic Hour AI and @DanceNitra : Added cookbooks for the Magic Hour hosted MCP server and inspeximus memory 10057 https://github.com/agno-agi/agno/pull/10057 , 10146 https://github.com/agno-agi/agno/pull/10146 . - Reader fixes : @RaycarlLei, @Minouccc, @n1uz1, @harbinresearcher, @lakers-abing, @emme1t, @tdog54646, @daleselaji-dev, @Kyousuk1e, and @baba9811 fixed edge cases in the knowledge readers, from text streams in the Text, Markdown, and CSV readers to CR line endings and scalar JSON roots. - Docs and cookbook cleanup : @Shxiao101, @Theater-ahyeon, @simpleqt, and @xizhuomengcontin fixed dead links, broken imports, and docstrings across the cookbook. Every one of you made Agno better. Thanks for building with us. Get involved Want to contribute to Agno? - ⭐ Star Agno on GitHub https://github.com/agno-agi/agno - 💬 Join our Discord https://agno.link/discord - 📖 Read the docs https://docs.agno.com/ - 🛠️ Check out open issues https://github.com/agno-agi/agno/issues - 🚀 Share what you're building. We want to feature your project next month. — Team Agno Frequently asked questions Agno shipped seven patch releases in September. The biggest additions were PublicSurface for serving agents to anonymous users, page storage and PageFileSystem for publishing docs as agent knowledge, rerankers that run on every vector database, an Elasticsearch vector database, and stateless MCP serving for AgentOS. Pass public=PublicSurface ... to AgentOS and list the agents, teams, or MCP server that anonymous users may reach. Everything else stays private, and public requests run against per-client and global rate limits stored in PostgreSQL. Post it in the built-with-agno channel on the Agno Discord, or tag @AgnoHQ on X or Agno on LinkedIn. The team reviews those every month when it writes the roundup.