Skip to content

v0.25.0

Latest

Choose a tag to compare

@cjellick cjellick released this 31 Jul 23:11

We're excited to announce the v0.25.0 release of the Obot Platform. This release adds tool call enforcement for local AI clients, MCP tunnels for reaching MCP servers on private networks, Agent Auth Scopes, and a new set of Obot editions.

Big Updates

Tool Call Enforcement for Local AI Clients

Obot can now control which tool calls Claude Code, Codex, and Cursor are allowed to run on enrolled devices. Administrators define an allowlist as part of device management and Obot Sentry checks each tool call against it before the client runs the tool. A call runs only when an allow rule matches it.

A rule can cover a broad category, such as all Obot-hosted MCP servers or all built-in agent tools, or it can name a single MCP server by URL, hostname, npm or PyPI package, or connector display name. Enforcement fails closed, so Obot Sentry blocks any call it cannot match or cannot get a decision on. A new Enforcement Decisions view under Device Management records every call that was checked and shows why it was allowed or blocked.

Note: Tool call enforcement is experimental and is not yet recommended for production use, so test your allowlist on non-production devices first. Enforcement is also not supported for Visual Studio Code, because its pre-tool hook does not say which MCP server a tool belongs to. Local tool call auditing for Visual Studio Code continues to work. See #7425 for details.

See the docs for details.

MCP Tunnels

Obot can now reach remote MCP servers that run on a private network and are not routable from the Obot deployment. An obot tunnel process runs on a machine that can reach both Obot and the private MCP server, and it opens an outbound, authenticated WebSocket connection that Obot sends requests through. The machine running the tunnel does not need an inbound port.

Tunnels are especially useful if you use Obot Cloud, where we run Obot for you and it sits outside your network. You run the tunnel process inside your network, and you do not have to expose the server to the internet or open a port in your firewall.

Administrators create a tunnel under MCP Management > MCP Tunnels, and each tunnel carries a list of allowed URLs that Obot checks on every request. A remote MCP catalog entry then selects the tunnel by its ID. Tunnels also work across replicas.

See the docs for details.

Agent Auth Scopes

We reworked how you set up access for an autonomous or headless agent, so you can grant an agent only what it needs to do its job. What used to be called API keys are now called Agent Auth Scopes, and the change is the start of a larger effort to extend Obot's authorization model to more agentic workloads. You create a scope and Obot generates an API key that the agent uses instead of signing in through a browser.

A scope can be limited to specific MCP servers or to every server you can reach. On top of that, it can grant access to the Obot API, the LLM proxy, skill downloads, and device scans, and it can carry an expiration date.

The interface moved to match. Users now reach scopes from the top level of the Obot app navigation, and administrators reach them under Auth Management, which was previously called User Management.

See the docs for details.

Obot Community Edition and Usage Limits

Obot is now available in three editions. You can upgrade from one to the next inside the app without changing images or redeploying. The default Obot edition supports up to 100 users and 100 devices, with the GitHub, Google, and Local auth providers. Obot Community keeps the same limits and adds enterprise-grade auth providers such as Entra, Okta, JumpCloud, and Auth0. Obot Enterprise removes the limits and includes enterprise support.

See the docs for details and read the Upgrade Notes below before you upgrade.

Improvements

  • Model access policies now accept only LLM models. Non-LLM models are pruned from the default policy, and Obot warns you to remove them from a custom policy.
  • The getting started guides now cover device management and MCP filters, and the Obot Sentry guide has more detailed install steps.
  • Missing Kubernetes secret bindings are now highlighted when you configure an MCP server.
  • The license provider now handles multi-replica deployments better and no longer depends on a single replica.
  • Auth provider HTTP calls no longer hold a database transaction open while they run.
  • Provider model IDs that contain slashes now resolve correctly.
  • OAuth error redirect descriptions are now sanitized before they are returned.
  • The local auth provider login form now treats the password as sensitive input.
  • Copying a code snippet no longer includes a trailing newline.
  • Entries in the MDM download package are now stamped with a modification time.

Upgrade Notes

Obot end user licensing has changed. Starting with v0.25.0, Obot is offered in three editions, which are Obot, Obot Community, and Obot Enterprise. The code remains 100 percent MIT licensed, and parts that were previously closed source, including the enterprise auth providers and model providers, are now open source. Before you upgrade, check how the change affects your deployment:

  • If you already have an Enterprise license, nothing changes for you.
  • If you run without a license and have more than 100 users or devices, existing users and devices keep working, but you will not be able to add new ones.
  • Model providers that previously required an enterprise license are now available at every edition.
  • If you run without an enterprise license and use GitHub or Google as your auth provider, you are now subject to the 100 user limit, which did not apply to you before.

Tool call enforcement is not supported for Visual Studio Code. Claude Code, Codex, and Cursor support enforcement. Visual Studio Code does not, because its pre-tool hook does not say which MCP server a tool belongs to. Local tool call auditing for Visual Studio Code continues to work. See #7425 for details.

What's Changed

Full Changelog: v0.24.1...v0.25.0