Skip to content

[AI Assistant] Add opt-in internal Monium MCP integration #4150

Description

@astandrik

Parent: #4146

Follow-up: #4261

Outcome

Completed the opt-in internal Monium MCP MVP for the YDB Embedded UI AI Assistant. The integration is intentionally narrow, disabled by default for users, confirmation-gated, and protected by an exact server-side tool allowlist.

Enabled and verified tools

  • get_current_time
  • get_dashboard
  • get_widget
  • read_widget
  • read_metrics
  • read_logs

Only these six upstream names are published to the model and execution routing. Other discovered tools are not available to the assistant. Mutation and administrative tools remain unavailable.

Delivered behavior

  • Keep the existing YDB Meta MCP unchanged and add Monium only for the internal server-backed installation.
  • Keep a server-side kill switch and a user experiment that is off by default.
  • Use request-scoped personal authorization in the deployed internal environment and an explicit environment-specific authentication mode for preview testing; credentials are never sent to the browser.
  • Require user confirmation for every Monium call.
  • Resolve the current database, metrics cluster, and logs cluster from page context without using them as an authorization source.
  • Make the current page scope override stale database or cluster values from prior chat history.
  • Support the live read_widget dashboard-parameter schema and declared defaults, failing closed when required parameters are ambiguous.
  • Provide an exact bounded KQP p99 metrics workflow and a bounded log workflow with a maximum 15-minute window and at most five records.
  • Keep Monium unavailable in cloud installations.

Verification

  • Feature-disabled behavior leaves the existing assistant and YDB Meta MCP unchanged.
  • The enabled internal integration publishes only the six tools listed above under the monium.* namespace.
  • Dashboard, widget, metric, log, lifecycle, scope-stability, confirmation, and mutation-negative scenarios passed on an attributed internal preview.
  • A post-merge test-environment smoke passed with personal authorization for get_current_time and one database-scoped 15-minute read_metrics request.
  • The test-environment smoke had no 401/403, transport, lifecycle, automatic-retry, loader, or browser-console failure.
  • Focused tests, the complete unit suite, lint, typecheck, CI, and preview builds passed.
  • No credentials or raw observability payloads were retained as test evidence.

Out of scope

Metadata

Metadata

Assignees

Labels

size/l🧪 area/researchSome research or experiment to get more insight on something

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions