Skip to content

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

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.

2 participants