cd /news/ai-agents/community-roundup-september-2026 · home › topics › ai-agents › article
[ARTICLE · art-161046] src=agno.com ↗ pub= topic=ai-agents verified=true sentiment=↑ positive

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.

by read9 min views6 publishedOct 5, 2026
Community Roundup: September 2026
Image: Agno (auto-discovered)
[Blog](https://www.agno.com/blog)


[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 and running it with the Control Plane, or learn more about PublicSurface 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 and PageFileSystem, or learn more about 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 swaps near-duplicate results for diverse ones, and RecencyReranker 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, or learn more about 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, or learn more about the Elasticsearch vector database in the docs.

AgentOS MCP servers scale out

MCPConfig(stateless=True) 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 lists the tools your server offers before a client connects. MCPConfig can also serve your tool 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") 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 and MCP tools 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, or see the cookbook for reference.

New tools & integrations #

Also shipped in September:

  • New model providers :llmman andY-API , 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 : the AG-UI interface handles tool results sent as lists of content parts, so d runs resume cleanly.
  • Slack retries : 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 :cancellation_stage tells you whether a run never started, stopped mid-run, or was waiting on a human.
  • Dependencies can read the run : callables in an agent'sdependencies 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 showfailed orpartial , and embedders raiseEmbeddingError where they used to return an empty vector.
  • Knowledge constructor arguments are keyword-only, soKnowledge("docs") becomesKnowledge(name="docs") .
  • CodingTools makesrun_shell opt-in withenable_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.

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.

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.

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 ,#8970 ,#10147 ,#9941 ).

  • @ProgrammerPlus1998 : Migrated the MCP client and the AgentOS MCP server tomcp 2.x, which broughtprotocol_mode toMCPTools (#9269 ).

  • @hugoaimlapi (AI/ML API): Repaired the AIMLAPI model integration, then addedAIMLAPITools for image, video, speech, and transcription behind one key (#9898 ,#10276 ).

  • @luisnmartins : Added.zip and.eml as AgentOS upload types, so archives and email files go straight into a run (#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 inOpenAILike and UTF-8 reads and writes inLocalFileSystemTools (#10342 ,#10538 ).
  • @BlueX888 : Three fixes, including real image MIME types for Gemini and keeping falsy tool results like0 and[] (#9887 ,#9948 ).
  • @devYRPauli : StoppedRecursiveChunking from emitting duplicate trailing chunks and added grouped-shape support to the PowerPoint readers (#9919 ,#10037 ).
  • @ericdelorefice : Made a failed async run delete raise an error, so a dropped connection no longer looks like a missing run (#10682 ).
  • @runshouse (Magic Hour AI) and**@DanceNitra** : Added cookbooks for the Magic Hour hosted MCP server and inspeximus memory (#10057 ,#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.

── more in #ai-agents 4 stories · sorted by recency
── more on @agno 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/community-roundup-se…] indexed:0 read:9min 2026-10-05 · —