github obot-platform/obot v0.16.0

latest releases: v0.23.3, v0.23.2, v0.23.2-rc1...
5 months ago

We’re excited to announce the v0.16.0 release of the Obot MCP Platform. This is a significant update focused on improving enterprise readiness and operational control. It introduces API key authentication for programmatic access, model access policies for governing model usage, and a Kubernetes capacity dashboard in the admin UI to provide better visibility into cluster resources, along with numerous bug fixes and improvements across the platform.

Big Updates

API Key Authentication

Users can now create API keys that can be used to access MCP servers programmatically. API keys are tied to a user account, can be scoped to specific MCP servers, and may include an optional expiration.

Model Access Policies

Model access policies allow administrators to control which language models users and groups can access in chat. This makes it possible to limit access to higher-cost or more powerful models while maintaining a default experience for most users.

Azure OpenAI Model Provider Authentication

The Azure OpenAI model provider now supports both Microsoft Entra authentication and API key authentication. This allows deployments to be configured using Entra-based identity or static API keys, depending on organizational requirements and Azure setup.

Kubernetes Capacity Dashboard

The admin UI now includes a Kubernetes capacity view that aggregates requested CPU and memory across MCP servers. This provides clearer visibility into cluster utilization and helps prevent resource overcommitment by blocking deployments that would exceed available capacity.

Notes

Legacy commands have been removed from the obot CLI. The remaining supported commands are: completion, help, server, token, and version

Getting Started

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 details, see the documentation:

https://docs.obot.ai/

What's Changed

  • fix: delete button showing incorrectly & incorrect delete call by @ivyjeong13 in #5356
  • fix: remove reference of old admin_ui_pid in killing servers by @ivyjeong13 in #5262
  • enhance: allow regenerating tool overrides by @njhale in #5358
  • chore: adjust nanobot configuration for new auth settings by @thedadams in #5357
  • Fix: Don't tag any pre-releases as latest by @cjellick in #5368
  • fix: composite mcp servers by @njhale in #5317
  • chore: change release workflow to run on depot by @drpebcak in #5369
  • fix: show user name instead of user id by @ryu-man in #5344
  • fix: adjust when to call update-url endpoint and hide 400 authorization errors when connecting to a server in chat view by @ryu-man in #5341
  • fix: ui: providers: support sensitive optional params by @g-linville in #5365
  • enhance: better detect host IP by @thedadams in #5366
  • docs: add Azure OpenAI docs by @g-linville in #5376
  • feat: implement group role assignment by @ryu-man in #5061
  • fix: stop erroring when client requests incorrect scopes by @thedadams in #5382
  • enhance: add pass-through LLM proxy for responses and anthropic by @thedadams in #5370
  • Chore: Allow UI to hit remote API for dev by @cjellick in #5380
  • doc: add entra group login restriction instructions by @njhale in #5379
  • fix: ensure audit log token hash is correct by @thedadams in #5387
  • docs: add okta group login restriction docs by @njhale in #5392
  • fix: update access control rules after deletion using invalidate function by @ryu-man in #5391
  • fix: use remote shim image for composite runtimes in kubernetes by @thedadams in #5404
  • fix: stop running model provider when updating the credential by @thedadams in #5406
  • chore: update copyright year to 2026 by @cjellick in #5417
  • fix: ui: use the group ID instead of name in group role assignments by @g-linville in #5415
  • feat: add API keys by @g-linville in #5389
  • feat: introduce model access policies by @njhale in #5393
  • fix: improve group assign dialog UI by @ryu-man in #5421
  • feat: add UI for API keys by @g-linville in #5407
  • fix: format YAML output for resource requests and limits by @ryu-man in #5397
  • enhance: dont give admins implicit access to models by @njhale in #5427
  • fix: prevent assign group role dialog beign cut off in small screens by @ryu-man in #5440
  • fix: restrict export options to admin and owner groups by @ryu-man in #5444
  • fix: prevent showing account link on profile page by @ryu-man in #5442
  • fix: handle the case when user selects many values by @ryu-man in #5441
  • chore: add github workflow to announce releases to discord by @njhale in #5452
  • docs: add API keys docs by @g-linville in #5425
  • fix: model access policy auditor view and form behavior by @njhale in #5448
  • docs: add model access policy docs by @njhale in #5446
  • fix: update nanobot hooks definition by @thedadams in #5459
  • fix: PUP w/ auditor role not able to create servers by @ivyjeong13 in #5437
  • fix: enable restart, details, and logs for remote MCP servers by @njhale in #5470
  • docs: model providers: add note about Entra and Microsoft Foundry by @g-linville in #5455
  • fix: exclude static assets from rate limiting by @cjellick in #5471
  • docs: improve docker deployment auth and port conf by @cjellick in #5474
  • fix: dont allow admins to connect to mcp servers they dont have access to by @njhale in #5439
  • fix: replace "Connector" words with "MCP Server" for consistency by @ryu-man in #5462
  • chore: ui: add key prefix column to API keys table by @g-linville in #5472
  • fix: show model name and ID in permission error message by @njhale in #5473
  • docs: fix canonical URL issues with trailing slash by @cjellick in #5475
  • fix: api keys: access should always be allowed for * by @g-linville in #5479
  • fix: default chat model selection by @njhale in #5487
  • fix: audit logs: omit empty API key prefixes by @g-linville in #5476
  • feat: introduce pair params to enhance Azure Open AI configuration handling by @ryu-man in #5451
  • feat: add k8s resource reporting for MCP servers by @cloudnautique in #5485
  • fix: use exposed port for connecting to component MCP servers in docker by @thedadams in #5495
  • fix: diff showing incorrectly removed/added on new/old versions by @ivyjeong13 in #5492
  • fix: add redirects for broken referral links by @cjellick in #5500
  • docs: fix one more broken referral link by @cjellick in #5501
  • chore: rename title of resource dashboard by @cloudnautique in #5503
  • feat: add k8s settings update notification in deployment status by @ryu-man in #5396
  • fix: ui: show user's effective role by @g-linville in #5502
  • fix: stop passing audit log credentials to composite MCP servers by @thedadams in #5510
  • fix: prevent infinite loading when clicking current project in selector by @cloudnautique in #5506
  • fix: grant auditors read-only access to API keys by @njhale in #5511
  • chore: add Ollama configuration docs by @cloudnautique in #5512
  • fix: restrict composite MCP server creation to admins only by @njhale in #5504
  • fix: give auditors read-only access to group role assignments by @g-linville in #5513
  • fix: stop refresh icon spinning after canceling tool override configuration by @njhale in #5505
  • fix: give auditors access to view capacity by @njhale in #5516
  • fix: tables no horizontal scroll & filter display columns option by @ivyjeong13 in #5443
  • fix: allow getting details and logs for remote MCP servers by @thedadams in #5530
  • enhance: ui: show more details about API keys by @g-linville in #5518
  • fix: path CVEs by updating Svelte and related dependencies by @ryu-man in #5533
  • fix: report correct deployment status for Docker installs by @thedadams in #5534
  • fix: remove in handler access checks for mcp-capacity by @njhale in #5540
  • enhance: tweak ui for empty API keys page by @ivyjeong13 in #5550
  • chore: remove legacy commands by @cjellick in #5554
  • fix: redirect for model access policy cancel by @njhale in #5558
  • fix: ui: fix delete button for API keys in the details view by @g-linville in #5565
  • fix: use backend configuration to determine if redeploy is allowed by @thedadams in #5564
  • fix: allow API call for servers that don't need new k8s settings by @thedadams in #5562
  • fix: use all query parameter when checking models after provider configuration by @njhale in #5566
  • fix: update user hidden fields properly for table columns collapsing by @ivyjeong13 in #5572
  • fix: show health and updates in separate columns by @ryu-man in #5567
  • fix: standardize initial sorting for tables across multiple pages by @ryu-man in #5549
  • fix make dialog content scrollable by @ryu-man in #5514
  • fix: filter bulk K8s upgrades to only include servers needing updates by @njhale in #5575
  • fix: build Azure OpenAI model provider configuration dynamically based on authentication type by @ryu-man in #5536
  • fix: stop waiting for new pods to be available for MCP servers by @thedadams in #5578
  • fix: display correct k8s update count in dialog by @njhale in #5579
  • fix: user correct endpoint for redeploying multi-user MCP servers by @njhale in #5574
  • fix: remove error style from optional fields by @ryu-man in #5586
  • fix: add 'created' column to user table for improved data visibility by @ryu-man in #5584
  • fix: improve k8s backend rollout status by @njhale in #5587
  • fix: improve azure open ai model provider by @ryu-man in #5595
  • docs: generate docs for v0.16.0 by @njhale in #5557

Full Changelog: v0.15.1...v0.16.0

Don't miss a new obot release

NewReleases is sending notifications on new releases.