Skip to content

Conversation

@onbuyuka
Copy link
Contributor

@onbuyuka onbuyuka commented Dec 16, 2025

Summary

This PR enhances the MCP (Model Context Protocol) configuration management with validation capabilities, system tools display, and improved user experience in the configuration card.

Changes

Configuration Validation Framework

  • Added ValidateConfiguration procedure to detect configuration issues before activation
  • Introduced extensible warning system using interface pattern:
    • Interface: MCP Config Warning - defines WarningMessage, RecommendedAction, and ApplyRecommendedAction procedures
    • Enum: MCP Config Warning Type - implements the interface with warning types
    • Implementations: MCP Config Missing Object and MCP Config Missing Parent codeunits
  • New MCP Config Warning temporary table to store validation warnings
  • New MCP Config Warning List page to display and act on warnings
  • Validation automatically runs when activating a configuration with option to review warnings

System Tools Display

  • Added MCP System Tool temporary table to represent built-in MCP tools
  • Added MCP System Tool List page part to display system tools (bc_action_describe, bc_action_invoke, bc_action_search)
  • System tools are now visible in Dynamic Tool Mode on the configuration card

Configuration Card UX Improvements

  • Added Tool Mode description field explaining Static vs Dynamic tool modes
  • Added Validate action to manually validate configuration
  • Improved field editability:
    • Name and Description are now read-only when configuration is active
    • Tool list is read-only when configuration is active
    • Add Tools by API Group and Add All Standard APIs actions disabled when configuration is active
  • Removed sandbox-specific logic for create/update/delete permissions (now controlled by AllowProdChanges setting)

Work Item(s)

Fixes AB#615692
Fixes AB#618185

@onbuyuka onbuyuka changed the title [WIP][MCP] Configuration validation and UX improvements [MCP] Configuration validation and UX improvements Jan 12, 2026
@onbuyuka onbuyuka marked this pull request as ready for review January 12, 2026 16:15
@onbuyuka onbuyuka requested review from a team as code owners January 12, 2026 16:15
@onbuyuka onbuyuka closed this Jan 13, 2026
@onbuyuka onbuyuka reopened this Jan 13, 2026
@onbuyuka onbuyuka enabled auto-merge (squash) January 13, 2026 13:07
darjoo
darjoo previously approved these changes Jan 15, 2026
@onbuyuka onbuyuka requested a review from a team as a code owner January 16, 2026 10:13
@onbuyuka onbuyuka closed this Jan 20, 2026
auto-merge was automatically disabled January 20, 2026 08:07

Pull request was closed

@onbuyuka onbuyuka reopened this Jan 20, 2026
@onbuyuka onbuyuka enabled auto-merge (squash) January 20, 2026 08:09
darjoo
darjoo previously approved these changes Jan 20, 2026
JesperSchulz
JesperSchulz previously approved these changes Jan 21, 2026
@onbuyuka onbuyuka closed this Jan 22, 2026
auto-merge was automatically disabled January 22, 2026 20:06

Pull request was closed

@onbuyuka onbuyuka reopened this Jan 22, 2026
@onbuyuka onbuyuka enabled auto-merge (squash) January 22, 2026 20:07
@onbuyuka onbuyuka dismissed stale reviews from JesperSchulz and darjoo via 0e9d729 January 22, 2026 22:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants