MeshAgent 0.37 adds four practical upgrades: Python agents can now be packaged and deployed directly from Python code, room-hosted tools are easier to share and manage, room data and participant permissions are more explicit, and React and Flutter apps get cleaner auth and transcript flows.
MeshAgent 0.37 adds a new Python packaging workflow.
If your agent already lives in Python, a Python file can now export a Package, and the CLI can run or deploy it directly with meshagent package. That gives you one direct path from local development to a running room service.
meshagent package run ./assistant.py --room myroom --project-id my-project
meshagent package deploy ./assistant.py --room myroom --project-id my-project
That matters when you want to keep your agent definition in Python and still have a repeatable way to test it locally, build an image when needed, and ship it into a MeshAgent room. You can also use the existing meshagent process for CLI-configured process agents. Use meshagent package when the same kind of room service should be defined in Python code with its instructions, skills, files, build steps, and channels packaged together.
MeshAgent 0.37 makes model access part of the participant permission contract.
Participant tokens now require an llm grant inside their API scope. That grant can be broad, or it can restrict access with model patterns in <provider>/<model> form, such as openai/gpt-5.4* or anthropic/claude-sonnet-4-6. The same grant shape is included in role-based defaults for agent workflows, and token payload handling preserves extra fields more consistently.
This matters because LLM proxy routing is no longer just "does this token have room access?" The proxy can validate whether the participant is allowed to use the requested provider and model, which gives teams a cleaner foundation for model allowlists, model filtering, cost controls, and safer delegation from apps and agents.
For builders, the value is practical, you can mint a token for a room participant or service and know that model access is described in the token itself. For operators, it makes routed LLM traffic easier to govern because model policy, request routing, and usage attribution all have a clearer permission boundary.
MeshAgent rooms are the shared runtime where agents, users, and tools meet. In 0.37, the toolkit model becomes more room-shaped.
A toolkit is a shareable bundle of tools that you host inside a room so participants can discover and use it there. In 0.37, those toolkits become more explicitly bound to the room where they run, with clearer start and stop helpers and a simpler lifecycle across the SDKs.
That matters when tools are shared by more than one participant. Instead of treating tool hosting as process-local wiring, you can reason about it as a room lifecycle: start the toolkit in the room, expose the right visibility, let participants discover or call it, and stop it when the host shuts down. Under the hood, Python room-aware tools can use LocalRoomTool, and higher-level helpers in TypeScript and Dart build on the same hosted-toolkit pattern. The release also makes startup and shutdown behavior more reliable for long-running workers and mail-driven agents.
In 0.37, MCP-backed toolkits can be selected through the same tool-choice path used by agents with the OpenAI and Anthropic adapters. The adapters handle the MCP-specific authorization and provider request shape, so exposing an MCP server to a model no longer requires custom configuration for each provider.
For app builders, Flutter also adds MCP connector discovery helpers and chat UI capability negotiation for tool-choice and MCP selection. That means a client can better understand which agent capabilities are available instead of assuming every model/tool combination supports the same interactions.
The value is straightforward: MCP remains a way to bring external tools into MeshAgent, but 0.37 makes MCP-backed tools easier to present to agents, easier for clients to select, and easier to route through provider adapters consistently.
MeshAgent 0.37 improves the app-building experience for both web and Flutter.
In React, the auth package adds useAuth, which handles OAuth callbacks, token refresh, and current-user loading without requiring React Query. useEnsureLogin remains available as a compatibility wrapper. The React room hooks also pick up useful follow-up improvements such as retry support for retryable startup failures, safer document connection cleanup, and LiveKit client helpers.
In Flutter, transcript handling is easier to read and trust. Transcript segments now include participant_role, transcript viewers show clearer headers with date, time, and duration, and per-segment timecodes are rendered relative to the transcript start. Meeting controls also now detect when camera and microphone access is actually unavailable and reflect that in the UI.
This is especially useful for teams building user-facing MeshAgent products. The default auth path is lighter in React, and voice and meeting experiences are more legible in Flutter-based clients.
Join our Discord Server to stay up to date with MeshAgent releases, see full release notes, ask questions, and share feedback with our team.
Check out the MeshAgent documentation to start building today!
MeshAgent Studio, SDK, and Server give you everything to build, test, and deploy agentic applications, from development to production.
