Skip to content

feat!: relax tool result structuredContent type (SEP-2106) - #933

Merged
DaleSeo merged 1 commit into
mainfrom
revert-932-revert-919-fix/tool-result-content-structured-value
Jul 8, 2026
Merged

feat!: relax tool result structuredContent type (SEP-2106)#933
DaleSeo merged 1 commit into
mainfrom
revert-932-revert-919-fix/tool-result-content-structured-value

Conversation

@DaleSeo

@DaleSeoDaleSeo commented Jun 26, 2026

Copy link
Copy Markdown
Member

Reverts #932

Motivation and Context

This was discovered while reviewing PR #895. Besides CallToolResult, ToolResultContent should also be typed with its structured content as Option<Value> to accommodate any JSON value.

2025-11-252026-07-28
2026-06-23 at 15 42 592026-06-23 at 15 41 47

How Has This Been Tested?

Added tests

Breaking Changes

Yes. The public field ToolResultContent.structured_content changes type from Option<JsonObject> to Option<Value>.

The green SemVer Check is a false negative due to known upstream gap: obi1kenobi/cargo-semver-checks#148

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

@github-actionsgithub-actionsBot added T-test Testing related changes T-config Configuration file changes T-core Core library changes T-model Model/data structure changes labels Jun 26, 2026
@DaleSeoDaleSeo changed the title Revert "Revert "feat!: relax tool result structuredContent type (SEP-2106)""feat!: relax tool result structuredContent type (SEP-2106)Jun 26, 2026
@DaleSeoDaleSeo self-assigned this Jun 26, 2026
@DaleSeoDaleSeo linked an issue Jun 26, 2026 that may be closed by this pull request
4 tasks
@DaleSeo
DaleSeoforce-pushed the revert-932-revert-919-fix/tool-result-content-structured-value branch from 9f18f9e to 5104d3dCompareJune 26, 2026 20:51
Re-applies #919 (reverted by #932): ToolResultContent.structured_content
becomes Option<Value> so non-object structured content is accepted,
matching CallToolResult and SEP-2106.
BREAKING CHANGE: ToolResultContent.structured_content changes from
Option<JsonObject> to Option<Value>.
@DaleSeo
DaleSeoforce-pushed the revert-932-revert-919-fix/tool-result-content-structured-value branch from 5104d3d to 6755d12CompareJune 26, 2026 21:02
@DaleSeo
DaleSeo marked this pull request as ready for review July 2, 2026 23:38
@DaleSeo
DaleSeo requested a review from a team as a code ownerJuly 2, 2026 23:38
@DaleSeo
DaleSeo merged commit ba00b15 into mainJul 8, 2026
19 checks passed
@DaleSeo
DaleSeo deleted the revert-932-revert-919-fix/tool-result-content-structured-value branch July 8, 2026 18:14
@github-actionsgithub-actionsBot mentioned this pull request Jul 8, 2026
@DaleSeoDaleSeo modified the milestone: 2026-07-28 specJul 13, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2026-07-28T-configConfiguration file changesT-coreCore library changesT-modelModel/data structure changesT-testTesting related changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement SEP-2106: Tool schemas conform to JSON Schema 2020-12

2 participants

@DaleSeo@alexhancock