# BeeAI Framework Community Update

## September 16, 2025

---

## 🛠️ Improvements

- Add `AgentStackChatModel` to dynamically pick the model from the platform.
- Simplify event callback registration and deregistration (#849).
- Expose an agent as an MCP server (#1086).
- Support platform extensions in BeeAIPlatformAgent (client) (#1091).
- Add `LangChainChatModel` integration (#1104).
- Add support for running the A2A server on multiple protocols (#1077).

---

## 🛠️ Fixes

- Handle IBM watsonx tool call streaming (#1085).
- Propagate errors from `MCPTool` (#1065).

---

## Dynamic chat model selection (BeeAIPlatformChatModel)

```python
agent = RequirementAgent(
    llm=BeeAIPlatformChatModel(preferred_models=["ollama/granite3.3:8b"])
)

server = BeeAIPlatformServer()
server.register(agent)
await server.aserve()
```

---

## Simplify event callback registration and deregistration

```python
agent = RequirementAgent(...)

@agent.emitter.on("start")
async def log_start(data: RequirementAgentStartEvent, event: EventMeta) -> None:
    print('The agent has started a new iteration.')
    
@agent.emitter.on()
async def handle_success(data: RequirementAgentSuccessEvent, event: EventMeta) -> None:
    print('The agent has finished a new iteration.')

response = await agent.run(...)
print(response.last_message.text)

# Deregistration
agent.emitter.off(callback=log_start)
agent.emitter.off(callback=handle_success)
```

---

## Exposing an agent as an MCP server

```python
agent = RequirementAgent(
    llm=ChatModel.from_name("ollama:granite3.3:8b"),
    tools=[DuckDuckGoSearchTool(), OpenMeteoTool()],
    memory=UnconstrainedMemory(),
    middlewares=[GlobalTrajectoryMiddleware()],
)

server = MCPServer(config=MCPServerConfig(transport="streamable-http"))
server.register(agent)
server.serve()
```

---

## 🚀 What's Coming Next

- **Workflows V2** – a high-level concept for defining AI workflows  
- **Loader** – define your app via YAML/JSON files  
- **TypeScript** – propagate the latest changes from Python to TypeScript  

---

## 🙏 Thank You

The BeeAI Framework is community-driven—your feedback shapes our roadmap!

Questions? Let’s discuss:  
- **Discord Community**: [discord.gg/NradeA6ZNF](https://discord.gg/NradeA6ZNF)  
- **GitHub Discussions**: Share ideas and ask questions
