Skip to content

[MCP] Add API Version Support to MCP Configuration Tools#6285

Open
onbuyuka wants to merge 4 commits intomainfrom
features/619475-MCPAPIToolVersion
Open

[MCP] Add API Version Support to MCP Configuration Tools#6285
onbuyuka wants to merge 4 commits intomainfrom
features/619475-MCPAPIToolVersion

Conversation

@onbuyuka
Copy link
Contributor

@onbuyuka onbuyuka commented Jan 26, 2026

Add API Version Support to MCP Configuration Tools

Summary

This PR adds API version management capabilities to MCP (Model Context Protocol) configuration tools, allowing users to select and validate specific API versions for their configured tools.

Changes

New Features:

  • Added API Version field to MCP Configuration Tools, displayed in the tool list page with lookup and validation
  • Automatically determines and assigns the highest available API version when creating a new API tool
  • Added API version lookup page allowing users to select from available versions for a given API page
  • Added validation to ensure selected API versions are valid for the corresponding tool

New Objects:

  • MCPAPIVersion.Table.al - Temporary table for API version selection
  • MCPAPIVersionLookup.Page.al - Lookup page for selecting API versions
  • MCPUpgrade.Codeunit.al - Upgrade codeunit to populate API versions for existing tools

Implementation Details:

  • GetHighestAPIVersion procedure parses comma-separated API versions (e.g., "v1.0,v2.0,beta") and returns the highest semantic version
  • Beta versions are treated with lowest priority
  • Version parsing supports standard format: vMajor.Minor (e.g., v1.0, v2.0)
  • ValidateAPITool now returns the PageMetadata record for use in version assignment
  • Missing parent object warnings now use the tool's configured API version instead of the page metadata

Bug Fixes:

  • Fixed MCPConfigMissingParent to use the tool's API Version field instead of PageMetadata.APIVersion
  • Removed redundant DataClassification = ToBeClassified from MCPAPIPublisherGroup table fields
  • Added Locked = true to VSCodeAppDescriptionLbl label

Permissions:

  • Added MCP API Version table to the MCP - Objects permission set

Tests:

  • Added TestCreateAPIToolSetsAPIVersion - Verifies API version is set when creating tools
  • Added TestGetHighestAPIVersionSingleVersion - Tests single version parsing
  • Added TestGetHighestAPIVersionMultipleVersions - Tests highest version selection from multiple versions
  • Added GetHighestAPIVersion to test library for testability

Fixes AB#619475

@onbuyuka onbuyuka closed this Feb 3, 2026
@onbuyuka onbuyuka reopened this Feb 3, 2026
@onbuyuka onbuyuka marked this pull request as ready for review February 3, 2026 13:09
@onbuyuka onbuyuka requested review from a team as code owners February 3, 2026 13:09
@onbuyuka onbuyuka closed this Feb 3, 2026
@onbuyuka onbuyuka reopened this Feb 3, 2026
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.

1 participant