Releases: obot-platform/obot
v0.12.0
We’re excited to announce the release of Obot MCP Gateway v0.12.0! This release brings powerful new roles, expanded audit capabilities, and a wide range of UI, backend, and integration improvements.
✨ Big Updates
- Auditor & Owner Roles: New roles separate system management from sensitive data access — only Auditors can view all server and chat details, while only Owners can assign the Auditor role. Admins can no longer see these sensitive details unless they’re also assigned as Auditors.
- Admin Dashboard Upgrades: New "Deployments and Connections" dashboard for easily visualizing and operating on MCP servers in bulk.
- Okta Group Support for Access Control Rules: You can now use Okta groups when configuring Access Control Rules, making it easier to manage permissions with your existing identity provider.
- Customizable Remote MCP Connections: Authors can now configure Remote MCP entries with user-supplied or static HTTP headers, and inject user-supplied values into templated URLs.
- Expanded Power User Capabilities: Power Users and Power User Plus now have access to usage stats and audit log metadata (excluding sensitive data) for their MCP servers.
- Kubernetes & Helm Enhancements: Helm charts now support affinity, tolerations, nodeSelector, and Kubernetes-recommended labels for smoother deployment and upgrade of Obot.
🛠 Other Notable Improvements
- UI/UX Polish: Refined navigation, dynamic chevrons, improved table columns, and enhanced project sharing styling.
- Sensitive Data Handling: Better masked value display and multi-line support in sensitive fields.
- Database & Logging: Improved DB logging and clarified requirements.
- Bug Fixes: Numerous fixes for table filtering, sorting, admin tools, and Safari-specific UI issues.
- Documentation: Expanded guides, including improved Entra setup walkthroughs.
⚠️ Important Upgrade Notes
Please review the following before upgrading:
Transition to Owner Role
The new Owner role now sits above the Admin role as the most privileged role in the system. To leverage it's ability to assign the Auditor role, you must assign one or more initial Owners via the OBOT_SERVER_AUTH_OWNER_EMAILS
environment variable. This has the same semantics as the OBOT_SERVER_AUTH_ADMIN_EMAILS
environment variable.
Embedded DB no longer the default for Helm installs
For Helm installs, Obot no longer defaults to a built-in Postgres database. An external database is required for production setups, but the embedded database remains available for evaluation. You must either provide a database connection string via config.OBOT_SERVER_DSN
, or explicitly opt into the embedded database for testing by setting dev.useEmbeddedDb
to true
.
If you are upgrading and were previously using the embedded database, you must set the dev.useEmbeddedDb
to true when you upgrade.
Okta users have to update their issuer URL
For Okta users, after updating to this release, you will need to modify the Issuer URL in the Okta auth provider configuration. This is due to our new support for Okta groups.
You must set it to https://.okta.com with no path in the URL.
See https://docs.obot.ai/configuration/auth-providers#okta-enterprise-only for more information, as there are some settings you must tweak in your Okta workspace in order for Obot to work with the groups in your directory.
If you find that you are unable to log in to adjust this setting, restart Obot with the environment variable OBOT_SERVER_FORCE_ENABLE_BOOTSTRAP=true
so that you can log in as the bootstrap user again in order to change the setting.
📜 Full changelog
- Fix: don't bypass admin user to view user-owned mcp server by @StrongMonkey in #4368
- enhance: always pull MCP images in docker backend by @thedadams in #4381
- fix: dynamically show/hide nav chevrons by @ryu-man in #4365
- fix: improve audit logs timelline ticks by @ryu-man in #4362
- fix: multiple config prompt sequence by @njhale in #4391
- Fix: don't show user, user profile and mcp publisher when auth is disabled by @StrongMonkey in #4380
- fix: ignore templates for connect URL slug by @thedadams in #4400
- Fix: fix admin ACR to view entries and servers by @StrongMonkey in #4389
- fix: add support for server-to-client MCP requests by @thedadams in #4395
- feat: add new auditor an owner roles by @thedadams in #4319
- Update user email by @thedadams in #4412
- fix: prefer explicit owner over admin by @thedadams in #4413
- fix: remove 'Skip Step' button from access control rules dialog by @ryu-man in #4393
- fix: remove Groups from admin users page by @ivyjeong13 in #4414
- fix: ensure x axis ticks are rendered as integers by @ryu-man in #4398
- Enhance: Add regenerate tool preview button by @StrongMonkey in #4405
- fix: use right api call for workspace audit logs filters by @ivyjeong13 in #4415
- fix: swap power user roles in UI by @thedadams in #4423
- fix: improve performance when listing all servers in workspaces by @g-linville in #4424
- fix: use one if-else block to render the chat layout by @ryu-man in #4392
- fix: add admin authorization for MCP servers by @thedadams in #4429
- fix: put bootstrap user in basic user group by @thedadams in #4439
- fix: give auditor access to server details and logs by @thedadams in #4441
- fix: stop giving bootstrap user power user grups by @thedadams in #4442
- fix: revert broken events operation by @thedadams in #4443
- enhance: add table columns to applicable admin pages by @ivyjeong13 in #4431
- fix: entra user display names by @njhale in #4445
- fix: update optionHighlightIndex initialization and improve hove, highlight style by @ryu-man in #4401
- fix: do not show sensitive info automatically by @ryu-man in #4403
- Fix: Don't update url for mcp server that use url template by @StrongMonkey in #4419
- fix: list users for auditors by @thedadams in #4470
- feat: static header values by @g-linville in #4446
- fix: show access control to power user plus by @thedadams in #4471
- Fix user role display to show correct roles instead of just Admin/User by @Copilot in #4472
- Fix: revert regenerate tool preview by @StrongMonkey in #4448
- fix: list server instance with correct userID by @thedadams in #4465
- feat: give PUs and PUPs metadata audit access by @g-linville in #4476
- fix: give auditor access to read all by @thedadams in #4462
- fix: give power user plusses access to details by @thedadams in #4464
- Fix: delete all ACR when depromoted to power user by @StrongMonkey in #4483
- fix: ensure system tokens have basic group by @thedadams in #4518
- fix: allow PUPs to update servers created from their catalog entries by @g-linville in #4410
- fix: delete unauthorized MCPServers created from catalog entries in PUWs by @g-linville in #4411
- fix: strip Docker log header from output by @thedadams in #4523
- fix: do not create needless ACR for power users by @g-linville in #4519
- chore: separate catalog and workspace cleanup by @thedadams in #4520
- fix: adjust task chat width and submit btn height and position by @ryu-man in #4481
- fix: conditionally render output toggle button based on readOnly state by @ryu-man in #4480
- fix: handle when line is less than 8 bytes by @thedadams in #4528
- fix: correct user role migration by @thedadams in #4548
- feat(helm): affinity, tolerations and nodeSelector by @nlamirault in #4535
- feat: [Helm] Kubernetes recommanded labels by @nlamirault in #4533
- refactor: make sensitive textarea feels more native by @ryu-man in #4477
- fix: prevent loading users and groups in creation mode by @ryu-man in https://github.com/obot-platf...
v0.12.0-rc1
What's Changed
- Fix: don't bypass admin user to view user-owned mcp server by @StrongMonkey in #4368
- enhance: always pull MCP images in docker backend by @thedadams in #4381
- fix: dynamically show/hide nav chevrons by @ryu-man in #4365
- fix: improve audit logs timelline ticks by @ryu-man in #4362
- fix: multiple config prompt sequence by @njhale in #4391
- Fix: don't show user, user profile and mcp publisher when auth is disabled by @StrongMonkey in #4380
- fix: ignore templates for connect URL slug by @thedadams in #4400
- Fix: fix admin ACR to view entries and servers by @StrongMonkey in #4389
- fix: add support for server-to-client MCP requests by @thedadams in #4395
- feat: add new auditor an owner roles by @thedadams in #4319
- Update user email by @thedadams in #4412
- fix: prefer explicit owner over admin by @thedadams in #4413
- fix: remove 'Skip Step' button from access control rules dialog by @ryu-man in #4393
- fix: remove Groups from admin users page by @ivyjeong13 in #4414
- fix: ensure x axis ticks are rendered as integers by @ryu-man in #4398
- Enhance: Add regenerate tool preview button by @StrongMonkey in #4405
- fix: use right api call for workspace audit logs filters by @ivyjeong13 in #4415
- fix: swap power user roles in UI by @thedadams in #4423
- fix: improve performance when listing all servers in workspaces by @g-linville in #4424
- fix: use one if-else block to render the chat layout by @ryu-man in #4392
- fix: add admin authorization for MCP servers by @thedadams in #4429
- fix: put bootstrap user in basic user group by @thedadams in #4439
- fix: give auditor access to server details and logs by @thedadams in #4441
- fix: stop giving bootstrap user power user grups by @thedadams in #4442
- fix: revert broken events operation by @thedadams in #4443
- enhance: add table columns to applicable admin pages by @ivyjeong13 in #4431
- fix: entra user display names by @njhale in #4445
- fix: update optionHighlightIndex initialization and improve hove, highlight style by @ryu-man in #4401
- fix: do not show sensitive info automatically by @ryu-man in #4403
- Fix: Don't update url for mcp server that use url template by @StrongMonkey in #4419
- fix: list users for auditors by @thedadams in #4470
- feat: static header values by @g-linville in #4446
- fix: show access control to power user plus by @thedadams in #4471
- Fix user role display to show correct roles instead of just Admin/User by @Copilot in #4472
- Fix: revert regenerate tool preview by @StrongMonkey in #4448
- fix: list server instance with correct userID by @thedadams in #4465
- feat: give PUs and PUPs metadata audit access by @g-linville in #4476
- fix: give auditor access to read all by @thedadams in #4462
- fix: give power user plusses access to details by @thedadams in #4464
- Fix: delete all ACR when depromoted to power user by @StrongMonkey in #4483
- fix: ensure system tokens have basic group by @thedadams in #4518
- fix: allow PUPs to update servers created from their catalog entries by @g-linville in #4410
- fix: delete unauthorized MCPServers created from catalog entries in PUWs by @g-linville in #4411
- fix: strip Docker log header from output by @thedadams in #4523
- fix: do not create needless ACR for power users by @g-linville in #4519
- chore: separate catalog and workspace cleanup by @thedadams in #4520
- fix: adjust task chat width and submit btn height and position by @ryu-man in #4481
- fix: conditionally render output toggle button based on readOnly state by @ryu-man in #4480
- fix: handle when line is less than 8 bytes by @thedadams in #4528
- fix: correct user role migration by @thedadams in #4548
- feat(helm): affinity, tolerations and nodeSelector by @nlamirault in #4535
- feat: [Helm] Kubernetes recommanded labels by @nlamirault in #4533
- refactor: make sensitive textarea feels more native by @ryu-man in #4477
- fix: prevent loading users and groups in creation mode by @ryu-man in #4450
- fix: set created=true when creating a new identity by @g-linville in #4554
- fix: list everything in the admin dashboard, bypassing ACR checks by @g-linville in #4529
- chore: require a db dsn to be set unless a special dev value is enabled by @drpebcak in #4562
- chore: create custom image for base with postgres-17 installed by @drpebcak in #4565
- feat: deployed servers admin tab for MCP Servers by @ivyjeong13 in #4553
- fix: improve user and group loading logic by @ryu-man in #4559
- feat: add Audit Logs page with layout and content components by @ryu-man in #4531
- fix: enhance JSON diff highlighting functionality by @ryu-man in #4447
- enhance: static or user supplied header options for remote servers by @ivyjeong13 in #4574
- Fix: fix typo for template permission by @StrongMonkey in #4557
- Add DB logging and clarify DB requirements by @cjellick in #4198
- fix: conditionally render input if header is required by @ivyjeong13 in #4593
- fix: task & task run related admin fixes by @ivyjeong13 in #4589
- fix: skip mcp server in bulk update if it doesnt need update by @ivyjeong13 in #4597
- enhance: ui share project styling by @ivyjeong13 in #4596
- fix: properly report session not found errors by @thedadams in #4549
- enhance: support Okta groups by @g-linville in #4587
- Fix: properly cleaning up old server when upgrading by @StrongMonkey in #4578
- Fix: add upgrade-from-template to permission by @StrongMonkey in #4595
- fix: remove / from MCP server names for nanobot by @thedadams in #4610
- fix: filter/sort table related fixes by @ivyjeong13 in #4608
- Fix: fix two more places we could be orphaning mcp servers by @StrongMonkey in #4591
- fix: improve multilines ux for sensitive textarea component by @ryu-man in #4614
- docs: improve entra setup walkthrough by @njhale in #4645
- Fix: Don't call update-url when mcp is remote and use fixedUrl by @StrongMonkey in #4639
- fix: admin/deployment view related bugfixes by @ivyjeong13 in #4613
- fix: show only ACR servers count in user registry by @ryu-man in #4638
- enhance: filter github group list when an org restriction is configured by @njhale in #4646
- Fix: drop photo permission, use letter avatar for group picture by @StrongMonkey in #4650
- fix: create PUWs for owners on startup by @g-linville in #4657
- Fix: add proper powerWorkspaceID and userID by @StrongMonkey in #4658
...
v0.11.0
We’re excited to announce the fourth public beta release of the Obot MCP Gateway (v0.11.0)!
This release brings major new features for power users, project sharing, and security, along with a host of UI/UX improvements and backend enhancements.
✨ Big Updates
- Project Templates & Shareable Links: Easily create, share, and reuse project templates. Shareable links make collaboration and onboarding a breeze.
- Power User Roles: Introducing “Power User” and “Power User Plus” roles for advanced access and management capabilities.
- MCP Publisher App: Power users can now publish and manage MCP resources with a dedicated publisher app.
- JWT-based OAuth Tokens: MCP now uses JWT for OAuth tokens, improving security and interoperability.
- Audit Log Encryption: Sensitive parts of MCP audit logs are now encrypted for enhanced security.
🛠 Other Notable Improvements
- Project Sharing: Improved UI and reliability for sharing projects, including retention of task runs and better change detection.
- Table Enhancements: Table cells are now resizable, with new header column filters for easier data exploration.
- Enterprise UI Tag: Enterprise edition is now surfaced in the UI, with enterprise info available via the version API.
- Editor & Input Improvements: New Milkdown plaintext editor for chat input, better handling of multi-value fields, and improved copy-paste support.
- MCP Docker Backend: Backend improvements for more robust Docker support and global MCP URLs.
- Access Control: More accurate detection and enforcement of access rules, especially for new user roles.
- UI/UX Polish: Numerous fixes and enhancements, including better tool info, improved scrollbars, and more responsive dialogs.
- Documentation: Expanded docs on architecture, filters, and authentication providers.
📜 Full changelog
- enhance: include enterprise info in version API by @thedadams in #4132
- fix: editor saving and trailing spaces in remote url by @ivyjeong13 in #4131
- Enhance: Add URL templating by @StrongMonkey in #4129
- enhance: improve MCP docker backend by @thedadams in #4134
- enhance: file/env var user supplied config fields ux by @ivyjeong13 in #4124
- enhance: add enterprise pill if enterprise version enabled by @ivyjeong13 in #4142
- fix: allow model name as valid selection in thread model provider by @ryu-man in #4145
- enhance: use JWT for MCP OAuth tokens by @thedadams in #4127
- chore: bump kinm to pickup column creating fixes by @thedadams in #4170
- fix: copy paste input and temp instance fixes by @ivyjeong13 in #4161
- fix: chat connector server details should use alias if available by @ivyjeong13 in #4167
- fix: show all, descriptions, params for tools info ux update by @ivyjeong13 in #4165
- fix: use standard OIDC claims for MCP JWT tokens by @thedadams in #4158
- feat: add power user and power user plus roles by @g-linville in #4097
- fix: improve audit logs table performace when working with large datasets by @ryu-man in #4140
- chore: adding docs for filters and high level arch by @cloudnautique in #4181
- fix: use real provider id when ensuring identity for mcp client tokens by @njhale in #4180
- fix: set correct path for file env var on k8s by @thedadams in #4186
- chore: add error descriptions when loading MCP session by @thedadams in #4187
- fix: when contents change, keep track of user focused cursor position by @ivyjeong13 in #4177
- chore: change temporary instance button & info text depending server type by @ivyjeong13 in #4178
- chore: show optional field helper text by @ryu-man in #4179
- chore: format int once when cleaning up user by @thedadams in #4189
- fix: stop retrying to update the session's last access time by @thedadams in #4190
- enhance: make MCP URLs global when possible by @thedadams in #4192
- fix: properly detect MCP catalog entries for access control by @thedadams in #4203
- chore: bump nanobot to pickup request ID changes by @thedadams in #4204
- fix: use correct MCP ID during second-level oauth by @thedadams in #4215
- fix: merge descriptions/parameters into one for mcp tools view by @ivyjeong13 in #4188
- fix: catalog entry with a sensitive file configuration textarea by @ivyjeong13 in #4164
- Fix: Clarify text for explaining MCP server config by @cjellick in #4217
- docs: add architecture info and auth providers by @cloudnautique in #4222
- enhance: continue chat if listing tools from MCP servers fail by @thedadams in #4221
- Fix: normalize catalog entry name by @StrongMonkey in #4213
- feat: add basic image pull secret support for MCP images by @thedadams in #4231
- feat: encrypt the sensitive parts of MCP audit logs by @thedadams in #4219
- feat: make it easy to interract with multi values inputs by @ryu-man in #4176
- docs: make clear docker is for test/eval by @cloudnautique in #4249
- feat: add nanobot runtime by @thedadams in #4218
- fix: oauth redirect fix, chat-threads/{id} 404 page and bootstrap input toggle fix by @ivyjeong13 in #4245
- chore: bump OAuth client secret expiration to 1 week by @thedadams in #4254
- chore: switch to new mcp-images phat image by @thedadams in #4255
- feat: project templates and shareable links by @njhale in #4154
- fix: adjust end boundary calculation for time frame steps by @ryu-man in #4264
- Fix: Update apk before adding chromium by @cjellick in #4250
- Fix project share UI reactiveness by @njhale in #4292
- fix: adjust step calculation for minute frame based on duration by @ryu-man in #4266
- chore: multi-value input adjustments by @ryu-man in #4257
- feat: MCP Publisher app for power users by @ivyjeong13 in #4199
- Fix: fix routing issue for /mcp-publisher by @StrongMonkey in #4306
- feat: implement Milkdown plaintext editor to be used in chat input by @ryu-man in #4119
- fix: use power user workspace ID when appropriate for webhooks by @thedadams in #4311
- feat: make table cells resizable by @ryu-man in #4256
- fix: open project configuration UI when a task is selected by @ryu-man in #4296
- Default user role by @thedadams in #4312
- Fix: fix permission related issue for power users by @StrongMonkey in #4313
- enhance: add ignore list for MCP catalog sync by @thedadams in #4323
- fix: detection of project share changes by @njhale in #4318
- fix: do not clip absolute element and enhance scrollbar visibility by @ryu-man in #4330
- fix: mcp server requirements dialog fix by @ivyjeong13 in #4331
- Hide template resources from admin views by @njhale in #4322
- Fix: fix role display issue in account page by @StrongMonkey in #4329
- Fix: use correct access rules for power users and power user plus by @StrongMonkey in #4321
- fix: retain task runs on project share upgrade by @njhale in #4345
- Fix share verbiage and display info by @njhale in #4346
- fix: don't reopen oauth prompts after successful auth and close by @njhale in #4354
- fix: prevent sidebar from closing when toggling panel by @ryu-man in #4359
- fix: copy manifest in api handler during initial template copy by @njhale in #4360
...
v0.11.0-rc1
What's Changed
- enhance: include enterprise info in version API by @thedadams in #4132
- fix: editor saving and trailing spaces in remote url by @ivyjeong13 in #4131
- Enhance: Add URL templating by @StrongMonkey in #4129
- enhance: improve MCP docker backend by @thedadams in #4134
- enhance: file/env var user supplied config fields ux by @ivyjeong13 in #4124
- enhance: add enterprise pill if enterprise version enabled by @ivyjeong13 in #4142
- fix: allow model name as valid selection in thread model provider by @ryu-man in #4145
- enhance: use JWT for MCP OAuth tokens by @thedadams in #4127
- chore: bump kinm to pickup column creating fixes by @thedadams in #4170
- fix: copy paste input and temp instance fixes by @ivyjeong13 in #4161
- fix: chat connector server details should use alias if available by @ivyjeong13 in #4167
- fix: show all, descriptions, params for tools info ux update by @ivyjeong13 in #4165
- fix: use standard OIDC claims for MCP JWT tokens by @thedadams in #4158
- feat: add power user and power user plus roles by @g-linville in #4097
- fix: improve audit logs table performace when working with large datasets by @ryu-man in #4140
- chore: adding docs for filters and high level arch by @cloudnautique in #4181
- fix: use real provider id when ensuring identity for mcp client tokens by @njhale in #4180
- fix: set correct path for file env var on k8s by @thedadams in #4186
- chore: add error descriptions when loading MCP session by @thedadams in #4187
- fix: when contents change, keep track of user focused cursor position by @ivyjeong13 in #4177
- chore: change temporary instance button & info text depending server type by @ivyjeong13 in #4178
- chore: show optional field helper text by @ryu-man in #4179
- chore: format int once when cleaning up user by @thedadams in #4189
- fix: stop retrying to update the session's last access time by @thedadams in #4190
- enhance: make MCP URLs global when possible by @thedadams in #4192
- fix: properly detect MCP catalog entries for access control by @thedadams in #4203
- chore: bump nanobot to pickup request ID changes by @thedadams in #4204
- fix: use correct MCP ID during second-level oauth by @thedadams in #4215
- fix: merge descriptions/parameters into one for mcp tools view by @ivyjeong13 in #4188
- fix: catalog entry with a sensitive file configuration textarea by @ivyjeong13 in #4164
- Fix: Clarify text for explaining MCP server config by @cjellick in #4217
- docs: add architecture info and auth providers by @cloudnautique in #4222
- enhance: continue chat if listing tools from MCP servers fail by @thedadams in #4221
- Fix: normalize catalog entry name by @StrongMonkey in #4213
- feat: add basic image pull secret support for MCP images by @thedadams in #4231
- feat: encrypt the sensitive parts of MCP audit logs by @thedadams in #4219
- feat: make it easy to interract with multi values inputs by @ryu-man in #4176
- docs: make clear docker is for test/eval by @cloudnautique in #4249
- feat: add nanobot runtime by @thedadams in #4218
- fix: oauth redirect fix, chat-threads/{id} 404 page and bootstrap input toggle fix by @ivyjeong13 in #4245
- chore: bump OAuth client secret expiration to 1 week by @thedadams in #4254
- chore: switch to new mcp-images phat image by @thedadams in #4255
- feat: project templates and shareable links by @njhale in #4154
- fix: adjust end boundary calculation for time frame steps by @ryu-man in #4264
- Fix: Update apk before adding chromium by @cjellick in #4250
- Fix project share UI reactiveness by @njhale in #4292
- fix: adjust step calculation for minute frame based on duration by @ryu-man in #4266
- chore: multi-value input adjustments by @ryu-man in #4257
- feat: MCP Publisher app for power users by @ivyjeong13 in #4199
- Fix: fix routing issue for /mcp-publisher by @StrongMonkey in #4306
- feat: implement Milkdown plaintext editor to be used in chat input by @ryu-man in #4119
- fix: use power user workspace ID when appropriate for webhooks by @thedadams in #4311
- feat: make table cells resizable by @ryu-man in #4256
- fix: open project configuration UI when a task is selected by @ryu-man in #4296
- Default user role by @thedadams in #4312
- Fix: fix permission related issue for power users by @StrongMonkey in #4313
- enhance: add ignore list for MCP catalog sync by @thedadams in #4323
- fix: detection of project share changes by @njhale in #4318
- fix: do not clip absolute element and enhance scrollbar visibility by @ryu-man in #4330
- fix: mcp server requirements dialog fix by @ivyjeong13 in #4331
- Hide template resources from admin views by @njhale in #4322
- Fix: fix role display issue in account page by @StrongMonkey in #4329
- Fix: use correct access rules for power users and power user plus by @StrongMonkey in #4321
- fix: retain task runs on project share upgrade by @njhale in #4345
- Fix share verbiage and display info by @njhale in #4346
- fix: don't reopen oauth prompts after successful auth and close by @njhale in #4354
- fix: prevent sidebar from closing when toggling panel by @ryu-man in #4359
- fix: copy manifest in api handler during initial template copy by @njhale in #4360
- fix: check for conflict and already exists errors by @thedadams in #4358
- chore: bump nanobot to pickup request ID fix by @thedadams in #4367
- enhance: add table header column filters & move Server Details tab by @ivyjeong13 in #4317
- fix: stop removing containers in a created state by @thedadams in #4370
- Fix: Dont replace newlines with null character by @cjellick in #4371
- enhance: give admin access to PUP servers by @thedadams in #4363
Full Changelog: v0.10.0...v0.11.0-rc1
v0.10.0
We’re excited to announce the third public beta release of the Obot MCP Gateway (v0.10.0)!
This release brings major improvements to catalog management, audit logging, and server configuration, along with UI enhancements and expanded support for model providers.
✨ Big Updates
- Amazon Bedrock Model Provider Enhancements: We've implemented a new model provider for AWS Bedrock and deprecated the previous one. The new provider is more performant and takes advantage of the latest features in the AWS Bedrock API.
- Admin View for Tasks: The admin UI now includes “Tasks” and “Task Runs” for improved visibility and management.
- File Configuration for MCP Servers: Servers can now be configured to write configuration to a file—essential for some open source MCP servers that require file-based configuration.
🛠 Other Notable Improvements
- Audit logs are now batched for better performance and scalability, with new configuration options for batching behavior.
- Provider configuration parameter descriptions are now displayed more clearly.
- The UI now shows when an upgrade is required in chat and MCP server info.
📜 Full changelog
- Mcp file mounting by @thedadams in #3987
- fix: refresh auth groups for requests with mcp auth tokens by @njhale in #4017
- MCP audit log batching by @thedadams in #4068
- chore: add tool previews last generated field to catalog entries by @g-linville in #4074
- enhance: updates for new Amazon Bedrock model provider by @thedadams in #4092
- chore: refactor AccessControlRules to live in the default catalog by @g-linville in #4067
- chore: update MCP audit log batching defaults to be less conservative by @thedadams in #4096
- chore: filter out or show deprecated tag & tooltip for anthropic aws bedrock model provider by @ivyjeong13 in #4098
- fix: show provider configuration parameter descriptions by @thedadams in #4112
- enhance: add "Tasks" & "Task Runs" to user-ui admin by @ivyjeong13 in #4046
- fix: minor UI updates & skip acr step if everything rule in place by @ivyjeong13 in #4114
- fix: add file checkbox for multi-user configuration by @thedadams in #4115
- enhance: show upgrade required in chat & mcp server info by @ivyjeong13 in #4091
- enhance: temp instance tool previews by @ivyjeong13 in #4047
- fix: migrate access control rules before controller start by @thedadams in #4122
- fix: retain tool previews when updating catalog entries by @g-linville in #4126
- feat: allow re-utilization of existing categories by @ryu-man in #4005
Full Changelog: v0.9.0...v0.10.0
🚀 Getting Started
- Try the live demo: chat.obot.ai
- Install on Docker:
docker run -d --name obot -p 8080:8080 -v /var/run/docker.sock:/var/run/docker.sock \ ghcr.io/obot-platform/obot:latest
- For more, see our Documentation
v0.9.1-rc1
What's Changed
- Mcp file mounting by @thedadams in #3987
- fix: refresh auth groups for requests with mcp auth tokens by @njhale in #4017
- MCP audit log batching by @thedadams in #4068
- chore: add tool previews last generated field to catalog entries by @g-linville in #4074
- enhance: updates for new Amazon Bedrock model provider by @thedadams in #4092
- chore: refactor AccessControlRules to live in the default catalog by @g-linville in #4067
- chore: update MCP audit log batching defaults to be less conservative by @thedadams in #4096
- chore: filter out or show deprecated tag & tooltip for anthropic aws bedrock model provider by @ivyjeong13 in #4098
- fix: show provider configuration parameter descriptions by @thedadams in #4112
- enhance: add "Tasks" & "Task Runs" to user-ui admin by @ivyjeong13 in #4046
- fix: minor UI updates & skip acr step if everything rule in place by @ivyjeong13 in #4114
- fix: add file checkbox for multi-user configuration by @thedadams in #4115
- enhance: show upgrade required in chat & mcp server info by @ivyjeong13 in #4091
- enhance: temp instance tool previews by @ivyjeong13 in #4047
Full Changelog: v0.9.0...v0.9.1-rc1
v0.9.0
We’re excited to announce the second public beta release of the Obot MCP Gateway (v0.9.0)!
This release focuses on improving reliability, strengthening server management, and making the chat and admin experiences more powerful and seamless.
✨ Big Updates
-
Docker-based Deployment: Now you can run Obot with Docker (no more Kubernetes required):
docker run -d --name obot -p 8080:8080 -v /var/run/docker.sock:/var/run/docker.sock \ ghcr.io/obot-platform/obot:latest
-
GitHub Team and Org-based Access Control Rules: Access control rules can now target GitHub orgs and teams. Similar group- and team-based support will be added for other auth providers in future releases.
-
Anthropic API Key Environment Variable Support: Easily enable the Anthropic model provider by setting the
ANTHROPIC_API_KEY
environment variable.
🛠 Other Notable Improvements
- Improved stability for MCP-related chat threads, connectors, and sessions
- Admins can now join and interact in any chat thread
- Filters drawer added to chat threads for easier navigation
- Audit log filters expanded with call identifiers, server IDs, and catalog entry names
- Date quick actions and improved midnight formatting in audit timelines
- Deleted users and servers now correctly represented in usage graphs and logs
- Users can be sorted in the admin interface
- Soft-delete ensures accurate audit logs when users are removed
- Catalog entries now include a
lastUpdated
field - Friendlier error handling when listing tools fails
- Safer rendering of tool descriptions with markdown sanitization
- Numerous UI refinements, including tooltips, chevrons, buttons, and copy actions
- More consistent behavior across chat, usage, and audit log filters
📜 Full changelog
- chore: auto-update environments at 8PM EDT by @thedadams in #3877
- fix: resize action on touch devices, styling consistency for providers by @ivyjeong13 in #3880
- fix: unify color button in both light and dark mode by @ryu-man in #3878
- fix: do not render empty content during loading by @ryu-man in #3879
- enhance: add configure info banner for auth/model providers by @ivyjeong13 in #3882
- fix: default models aliases showing after first configure by @ivyjeong13 in #3891
- enhance: add server name input & display info about duplicate server config by @ivyjeong13 in #3897
- fix: improve tooltip position by @ryu-man in #3881
- Fix: fix file not being able to download when created by @StrongMonkey in #3895
- fix: exclude start/end time from pills filters by @ryu-man in #3900
- fix: diff accuracy on movement of lines & consistency clear all of usage filters by @ivyjeong13 in #3904
- fix: stop sending URL if URL is not set by @thedadams in #3909
- fix: unauthenticated and mcp chat related fixes by @ivyjeong13 in #3905
- fix: provide the correct error message when trying to run containerized outside of k8s by @g-linville in #3908
- fix: chat related bugfixes by @ivyjeong13 in #3910
- chore: add groq logo to ui by @njhale in #3890
- enhance: add deployment status information to MCP servers by @thedadams in #3921
- fix: soft delete users so that we can show the right information in audit logs by @g-linville in #3927
- enhance: add filtering by call identifier by @thedadams in #3892
- enhance: send MCP responses through webhook filters by @thedadams in #3873
- fix: usage filters by @njhale in #3928
- fix: render markdown in MCP server tool descriptions by @StrongMonkey in #3920
- fix: use correct call_identifier filter in audit log query by @thedadams in #3933
- fix: always show the select chevron in the left by @ryu-man in #3902
- fix: go to audit logs tab from server details tab by @ryu-man in #3916
- fix: sort audit filter options lexicographically by @njhale in #3935
- enhance: add date filter quick actions to usage page by @njhale in #3932
- fix: set copy button color to white by @ryu-man in #3936
- fix: match editing behavior of chat thread filters and audit logs filters by @ryu-man in #3923
- fix: show filter by server id/ catalog entry name in mcp audit logs by @ryu-man in #3931
- Fix: filtered deleted mcp server instance by @StrongMonkey in #3940
- fix: show deleted user info in usage graphs by @g-linville in #3955
- fix: add name column and display the appropriate value by @ryu-man in #3947
- fix: use
mcp
alias instead from name by @ryu-man in #3950 - enhance: add filter options for the filter options API by @thedadams in #3960
- chore: bump nanobot to pickup SSE intiailize race fix by @thedadams in #3958
- feat: enhance MCP server management by @thedadams in #3946
- feat: launch temp instance to generate tool previews for catalog entry by @g-linville in #3951
- fix: remove tooltip from auth provider item by @ryu-man in #3948
- fix: add call identifier to audit logs filters by @ryu-man in #3934
- refactor usage filter to match audit logs filters by @ryu-man in #3956
- fix: add browser check so markdown parser goes through dompurify by @ivyjeong13 in #3969
- fix: default to name if alias not provided by @ivyjeong13 in #3972
- enhance: allow setting ANTHROPIC_API_KEY for model setup by @thedadams in #3966
- make users sortable by @ryu-man in #3963
- fix: stop redirect loop on fresh installs with auth enabled by @thedadams in #3977
- fix: use filters drawer in chat thread by @ryu-man in #3974
- fix: allow admins to chat in any thread by @thedadams in #3978
- fix: continuing mcp / chat related bugfixes by @ivyjeong13 in #3949
- Fix: bump gptscript by @StrongMonkey in #3983
- feat: add support for provider auth groups by @njhale in #3417
- fix: better detect MCP server misconfiguration by @thedadams in #3973
- fix: remove user_id parameter from audit logs navigation by @ryu-man in #3988
- fix: server name and chat auth fixes by @ivyjeong13 in #3997
- Fix: fix thread model not being respect when first selecting models by @StrongMonkey in #3994
- fix: admin users table fixes and session expired fix by @ivyjeong13 in #4002
- fix: fetch only options related to the selected server by @ryu-man in #3980
- fix usage filters and make them compatible with audit logs option api & UI enhancements by @ryu-man in #3985
- fix: update audit logs navigation to include mcp_id parameter by @ryu-man in #3999
- fix: enhance date formatting for midnight hours in audit logs timeline by @ryu-man in #4000
- fix: return project id instead of project name by @ryu-man in #4001
- Enhance: Start putting memory requests of MCP server deployment by @StrongMonkey in #4011
- fix: return list of mcp id in audit logs page by @ryu-man in #4006
- fix: add edit project button bottom left of chat sidebar by @ivyjeong13 in #4023
- fix: connectors and thread fixes by @ivyjeong13 in #4009
- chore: bump nanobot to pickup session closing changes by @thedadams in #4021
- fix: use correct port when shutting down sessions in docker mode by @thedadams in #4020
- enhance: add route to list catalog entry categories by @g-linville in #4028
- fix: condition for group info update by @njhale in https://github.co...
v0.9.0-rc1
What's Changed
- chore: auto-update environments at 8PM EDT by @thedadams in #3877
- fix: resize action on touch devices, styling consistency for providers by @ivyjeong13 in #3880
- fix: unify color button in both light and dark mode by @ryu-man in #3878
- fix: do not render empty content during loading by @ryu-man in #3879
- enhance: add configure info banner for auth/model providers by @ivyjeong13 in #3882
- fix: default models aliases showing after first configure by @ivyjeong13 in #3891
- enhance: add server name input & display info about duplicate server config by @ivyjeong13 in #3897
- fix: improve tooltip position by @ryu-man in #3881
- Fix: fix file not being able to download when created by @StrongMonkey in #3895
- fix: exclude start/end time from pills filters by @ryu-man in #3900
- fix: diff accuracy on movement of lines & consistency clear all of usage filters by @ivyjeong13 in #3904
- fix: stop sending URL if URL is not set by @thedadams in #3909
- fix: unauthenticated and mcp chat related fixes by @ivyjeong13 in #3905
- fix: provide the correct error message when trying to run containerized outside of k8s by @g-linville in #3908
- fix: chat related bugfixes by @ivyjeong13 in #3910
- chore: add groq logo to ui by @njhale in #3890
- enhance: add deployment status information to MCP servers by @thedadams in #3921
- fix: soft delete users so that we can show the right information in audit logs by @g-linville in #3927
- enhance: add filtering by call identifier by @thedadams in #3892
- enhance: send MCP responses through webhook filters by @thedadams in #3873
- fix: usage filters by @njhale in #3928
- fix: render markdown in MCP server tool descriptions by @StrongMonkey in #3920
- fix: use correct call_identifier filter in audit log query by @thedadams in #3933
- fix: always show the select chevron in the left by @ryu-man in #3902
- fix: go to audit logs tab from server details tab by @ryu-man in #3916
- fix: sort audit filter options lexicographically by @njhale in #3935
- enhance: add date filter quick actions to usage page by @njhale in #3932
- fix: set copy button color to white by @ryu-man in #3936
- fix: match editing behavior of chat thread filters and audit logs filters by @ryu-man in #3923
- fix: show filter by server id/ catalog entry name in mcp audit logs by @ryu-man in #3931
- Fix: filtered deleted mcp server instance by @StrongMonkey in #3940
- fix: show deleted user info in usage graphs by @g-linville in #3955
- fix: add name column and display the appropriate value by @ryu-man in #3947
- fix: use
mcp
alias instead from name by @ryu-man in #3950 - enhance: add filter options for the filter options API by @thedadams in #3960
- chore: bump nanobot to pickup SSE intiailize race fix by @thedadams in #3958
- feat: enhance MCP server management by @thedadams in #3946
- feat: launch temp instance to generate tool previews for catalog entry by @g-linville in #3951
- fix: remove tooltip from auth provider item by @ryu-man in #3948
- fix: add call identifier to audit logs filters by @ryu-man in #3934
- refactor usage filter to match audit logs filters by @ryu-man in #3956
- fix: add browser check so markdown parser goes through dompurify by @ivyjeong13 in #3969
- fix: default to name if alias not provided by @ivyjeong13 in #3972
- enhance: allow setting ANTHROPIC_API_KEY for model setup by @thedadams in #3966
- make users sortable by @ryu-man in #3963
- fix: stop redirect loop on fresh installs with auth enabled by @thedadams in #3977
- fix: use filters drawer in chat thread by @ryu-man in #3974
- fix: allow admins to chat in any thread by @thedadams in #3978
- fix: continuing mcp / chat related bugfixes by @ivyjeong13 in #3949
- Fix: bump gptscript by @StrongMonkey in #3983
- feat: add support for provider auth groups by @njhale in #3417
- fix: better detect MCP server misconfiguration by @thedadams in #3973
- fix: remove user_id parameter from audit logs navigation by @ryu-man in #3988
- fix: server name and chat auth fixes by @ivyjeong13 in #3997
Full Changelog: v0.8.0...v0.9.0-rc1
🚀 Obot MCP Gateway - First Beta
We’re thrilled to announce the first public beta release of the Obot MCP Gateway! This release is a major overhaul, delivering a robust, open-source platform that helps IT teams manage the rapid growth of MCP servers and AI applications within their organization. With Obot, employees can securely connect AI tools to the apps and data they need without IT teams sacrificing control or security.
🌟 What’s New
Platform Architecture
Obot now consists of three key components:
- MCP Gateway: Discover, connect, and manage MCP servers with broad client support and secure OAuth 2.1 authentication.
- Chat Interface: Natural, conversational AI chat with project-based customization, knowledge integration, and task automation.
- Admin Interface: Powerful tools for catalog management, access control, audit logging, user management, and more.
Key Features
🔌 MCP Gateway
- Server Discovery: Browse a catalog of MCP servers tailored to your role and permissions.
- Configuration Management: Centralized management of all your MCP server settings and credentials.
- Upgrade Management: Get notified about available server upgrades and apply them with ease.
- Broad Client Support: Connect with local clients (Claude Desktop, VS Code) or use our hosted Obot Chat.
- OAuth 2.1 Authentication: Securely authenticate with external services.
🗣️ Chat Interface
- Chat Threads: Organize discussions and maintain context over time.
- MCP Server Integration: Connect to SaaS platforms, APIs, and tools via MCP servers.
- Knowledge Integration: Built-in RAG to enrich conversations with relevant knowledge.
- Memory Management: Chat learns and remembers important things over time.
- Tasks: Create and schedule repeatable, automated tasks.
- Project-Based Customization: Tailor AI behavior, instructions, and integrations at the project level.
⚙️ Admin Interface
- Catalog Management: Create and update MCP server entries via GitOps or the admin portal.
- Server Deployment & Hosting: Let Obot deploy and host MCP servers for you.
- Access Control Rules: Define granular user and group access to MCP servers.
- Audit Logging: Track all server and client interactions.
- Request Filtering: Inspect and filter MCP requests for security and compliance.
- User & Model Provider Management: Manage users, groups, and LLM providers.
- Centralized Authentication: Integrate with your existing auth provider.
- Monitoring: View system health and usage analytics.
Core Principles
- Self-Hosted and Open-source: Deploy on your own infrastructure for maximum control.
- MCP Standard: Built on the open Model Context Protocol for interoperability.
- Enterprise Security: Built with a security-first mindset across the entire stack.
- Extensible: Integrate with your own tools and services.
🛠️ Getting Started
- Try the live demo: chat.obot.ai
- Install on Kubernetes:
helm repo add obot https://charts.obot.ai helm install obot obot/obot --set config.OPENAI_API_KEY="<API KEY>"
- For more, see our Documentation.
We can’t wait to see what you build with Obot. Please share your feedback, issues, and ideas!
Full Changelog (It's a doozy): v0.7.1...v0.8.0
v0.8.0-rc3
What's Changed
- Chore: Update landing page docs by @cjellick in #3847
- Chore: Update the docs' introduction by @cjellick in #3854
- chore: default to having auth off by @drpebcak in #3855
- Fix: skip repo size check if it is obot-platform by @StrongMonkey in #3858
- fix: stop checking for missing paramters for project MCP servers by @thedadams in #3859
- fix: filter server to client requests by @thedadams in #3849
Full Changelog: v0.8.0-rc2...v0.8.0-rc3