We’re excited to announce the v0.20.0 release of the Obot MCP Platform. This release expands authentication and model provider support, adds MCP filter configuration improvements, improves workflow sharing and API key permissions, and includes a new admin dashboard experience along with many reliability and usability improvements.
Big Updates
JumpCloud Authentication Provider
Obot Enterprise version now supports JumpCloud as an authentication provider.
This gives teams using JumpCloud another supported option for identity and access management.
MCP Filters
Obot can now configure MCP filters as MCP servers.
This improves the flexibility of filter workflows and allows filters to be hosted in Obot. This version also introduces built-in filters, which are configured to be deployed in Obot.
MCP Filter Mutation
MCP filters are no longer restricted to just blocking MCP requests or responses. A filter can now mutate the request or response to remove sensitive information or provide additional context.
Expanded LLM Provider Support
This release adds support for more LLM providers, giving administrators and users more flexibility when configuring models for Obot deployments.
Related improvements include provider documentation updates, Azure documentation fixes, and support for marking provider cards as experimental.
Granular Workflow Sharing
Workflow sharing is now more granular.
Administrators and workflow owners have finer control over how workflows are shared, improving collaboration while preserving access boundaries.
Admin Dashboard
This release introduces a new admin dashboard page.
The dashboard gives administrators a clearer entry point for managing and monitoring platform configuration and activity.
Improvements
This release includes a range of usability, security, and operational improvements:
- First-time user login tour
- More explicit skill access controls for API keys
- Composite tool prefixes for clearer tool naming
- Improved audit logs showing mutated requests and original responses when filtering
Upgrade Notes
There are no major breaking changes in this release.
What's Changed
- fix: avoid false health check failures when istio sidecar is present by @njhale in #6343
- fix: timeInput 1-12 format fix & 12/24hr preference by @ivyjeong13 in #6290
- chore: use non-main images for phat and http-webhook-mcp-converter by @thedadams in #6348
- docs: add message policies by @g-linville in #6355
- enhance: deploy one webhook container for system by @thedadams in #6334
- fix: clean up user API keys on user deletion by @njhale in #6347
- fix: use correct MCP server name is when triggering secrets by @thedadams in #6360
- enhance: make workflow sharing more granular by @g-linville in #6333
- chore: bump nanobot to v0.0.68 by @g-linville in #6368
- fix: fix token exchange for composite and multi-user servers by @thedadams in #6367
- fix: display icon with server during elicitation if available by @ivyjeong13 in #6346
- fix: ensure webhook credential is available before update by @thedadams in #6373
- enhance: admin dashboard page by @ivyjeong13 in #6359
- feat: add jumpcloud auth provider by @cloudnautique in #6383
- chore: update and clean up docs by @cloudnautique in #6394
- Add support for more LLM providers by @calvinmclean in #6395
- fix: stop deleting volumes on server shutdown by @thedadams in #6397
- enhance: tour for first-time user login by @ivyjeong13 in #6382
- enhance: make skill access explicit for API keys by @g-linville in #6387
- Update nanobot image for improved workflow skill by @calvinmclean in #6398
- Add support for MCP Catalogs from private repos and non-github repos by @calvinmclean in #6351
- feat: add ability to configure MCP webhook validations as MCP servers by @thedadams in #6378
- fix: specify .nanobot as the default config location by @thedadams in #6415
- enhance: add composite tool prefixes by @njhale in #6406
- fix: filter table tooltip fix by @ivyjeong13 in #6414
- fix: renaming thread title doesn't show until refresh by @ivyjeong13 in #6409
- fix: use correct operation for multi-user server for k8s settings by @ivyjeong13 in #6408
- Fix bugs with new model providers and improve documentation by @calvinmclean in #6407
- enhance: implement explicit hook mutation permission by @thedadams in #6419
- fix: tool preview generation for gvisor enabled k8s clusters by @njhale in #6422
- Fix remaining account-name in Azure docs by @calvinmclean in #6424
- fix: ensure system MCP server for filter has name by @thedadams in #6427
- chore: remove old pointer hack by @thedadams in #6432
- enhance: show mutated request and original response in audit logs by @thedadams in #6428
- chore: bump nanobot to v0.0.74 by @thedadams in #6433
- feat: add storage service accounts by @g-linville in #6421
- Revert "feat: add storage service accounts (#6421)" by @g-linville in #6436
- fix: use 127.0.0.1 instead of localhost for nanobot shims in k8s by @g-linville in #6439
- fix: add experimental tag option for provider card by @ivyjeong13 in #6438
- fix: wait for system MCP server for filter to be created by @thedadams in #6441
- fix: composite prefix warnings by @njhale in #6434
- feat: add system MCP server catalogs by @thedadams in #6423
- fix: ensure containerized MCP server ready in kubernetes backend by @thedadams in #6444
- fix: filters' audit log pages loading issue by @ivyjeong13 in #6447
- fix: use PII_REDACT_TYPES for built-in pii filter by @thedadams in #6448
- enhance: make it easier to identify which filters are getting called by @thedadams in #6450
- fix: drawer daisy confliction & minor stying fixes by @ivyjeong13 in #6449
- fix: filter audits log virtual page viewport not working by @ivyjeong13 in #6457
Full Changelog: v0.19.0...v0.20.0