Skip to content

OLS-2568: Mcp tool metadata and UI#1467

Draft
onmete wants to merge 3 commits intoopenshift:mainfrom
onmete:mcp-tool-metadata-and-ui
Draft

OLS-2568: Mcp tool metadata and UI#1467
onmete wants to merge 3 commits intoopenshift:mainfrom
onmete:mcp-tool-metadata-and-ui

Conversation

@onmete
Copy link
Contributor

@onmete onmete commented Feb 12, 2026

Commit 1: Types and streaming

Add MCP app metadata to the data model and wire it through the streaming parser into Redux. No UI changes.

Files:

  • [src/types.ts](src/types.ts) -- add 'truncated' to Tool.status; add optional uiResourceUri, serverName, structuredContent
  • [src/components/Prompt.tsx](src/components/Prompt.tsx) -- extract ui_resource_uri, server_name, structured_content from tool_result events, dispatch to Redux

Commit 2: Color-coded tool labels

Use the new fields to color-code tool labels by status and type.

Files:

  • [src/components/ResponseTools.tsx](src/components/ResponseTools.tsx) -- ToolLabel changes only: compute color and icon based on status and uiResourceUri. Do NOT include MCPAppTool or MCPAppFrame.

Label color mapping:

  • error -> red, InfoCircleIcon
  • truncated -> yellow, InfoCircleIcon
  • has uiResourceUri -> blue, ExternalLinkAltIcon
  • default -> grey, CodeIcon

Commit 3: Enhanced tool detail modal

Show all MCP tool metadata and structured content in the modal.

Files:

  • [src/components/ResponseToolModal.tsx](src/components/ResponseToolModal.tsx) -- metadata section (status label, server name, UI resource URI via DescriptionList), section titles for Content / Structured content with copy support
  • [src/components/general-page.css](src/components/general-page.css) -- .ols-plugin__tool-metadata and .ols-plugin__tool-section-title styles
  • [locales/en/plugin__lightspeed-console-plugin.json](locales/en/plugin__lightspeed-console-plugin.json) -- strings: Content, MCP server, Status, Structured content, UI resource

onmete and others added 3 commits February 12, 2026 10:10
Extend the Tool type with a 'truncated' status and optional MCP app
metadata fields (uiResourceUri, serverName, structuredContent). Wire
the streaming parser in Prompt.tsx to extract these fields from
tool_result events and dispatch them into the Redux store.

Co-authored-by: Cursor <cursoragent@cursor.com>
Tool labels in the chat are now color-coded: red for errors,
yellow for truncated output, blue for tools with an MCP App UI,
and grey (default) for standard tools.

Co-authored-by: Cursor <cursoragent@cursor.com>
Show all MCP tool fields in the tool detail modal: a metadata section
with color-coded status label, MCP server name, and UI resource URI,
plus a dedicated structured content section with formatted, copyable
JSON.

Co-authored-by: Cursor <cursoragent@cursor.com>
@openshift-ci-robot
Copy link

openshift-ci-robot commented Feb 12, 2026

@onmete: This pull request references OLS-2568 which is a valid jira issue.

Details

In response to this:

Commit 1: Types and streaming

Add MCP app metadata to the data model and wire it through the streaming parser into Redux. No UI changes.

Files:

  • [src/types.ts](src/types.ts) -- add 'truncated' to Tool.status; add optional uiResourceUri, serverName, structuredContent
  • [src/components/Prompt.tsx](src/components/Prompt.tsx) -- extract ui_resource_uri, server_name, structured_content from tool_result events, dispatch to Redux

Commit 2: Color-coded tool labels

Use the new fields to color-code tool labels by status and type.

Files:

  • [src/components/ResponseTools.tsx](src/components/ResponseTools.tsx) -- ToolLabel changes only: compute color and icon based on status and uiResourceUri. Do NOT include MCPAppTool or MCPAppFrame.

Label color mapping:

  • error -> red, InfoCircleIcon
  • truncated -> yellow, InfoCircleIcon
  • has uiResourceUri -> blue, ExternalLinkAltIcon
  • default -> grey, CodeIcon

Commit 3: Enhanced tool detail modal

Show all MCP tool metadata and structured content in the modal.

Files:

  • [src/components/ResponseToolModal.tsx](src/components/ResponseToolModal.tsx) -- metadata section (status label, server name, UI resource URI via DescriptionList), section titles for Content / Structured content with copy support
  • [src/components/general-page.css](src/components/general-page.css) -- .ols-plugin__tool-metadata and .ols-plugin__tool-section-title styles
  • [locales/en/plugin__lightspeed-console-plugin.json](locales/en/plugin__lightspeed-console-plugin.json) -- strings: Content, MCP server, Status, Structured content, UI resource

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Feb 12, 2026
@openshift-ci
Copy link

openshift-ci bot commented Feb 12, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign kyoto for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci
Copy link

openshift-ci bot commented Feb 12, 2026

@onmete: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@onmete onmete marked this pull request as draft February 12, 2026 10:00
@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Feb 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants