Skip to content

Remote server lists the app-only ui_get tool to clients without MCP Apps support #3683

Open

Description

@niksa90

Hi! While testing the remote server, I noticed that ui_get is listed to every client, including ones that don't support MCP Apps.

The tool is marked for the app only:

{
  "name": "ui_get",
  "_meta": { "ui": { "visibility": ["app"] } },
  "description": "Fetch UI data for MCP Apps (labels, assignees, milestones, issue types, branches, issue fields, reviewers)."
}

An MCP Apps host reads that and keeps the tool away from the model, which is what you want. But a client without MCP Apps support doesn't look at _meta.ui at all, so it hands ui_get to the model as a regular tool. The model then sees a helper meant for a UI widget, and every conversation pays tokens for its schema.

The MCP Apps spec suggests checking client capabilities before registering UI tools. A client that supports Apps declares extensions["io.modelcontextprotocol/ui"] in its capabilities, so ui_get could be left out when that's missing.

To reproduce: list tools with a PAT twice, once with empty client capabilities and once with {"extensions": {"io.modelcontextprotocol/ui": {"mimeTypes": ["text/html;profile=mcp-app"]}}}. On both /mcp (49 tools) and /mcp/readonly (29 tools), ui_get shows up both times.

It's minor, since the tool is read-only. Tools like get_me that are visible to the model and the app are fine to list to everyone; this is only about the app-only one.

For context, I found it with toolmenu, a linter for MCP tool lists, on 2026-11-05. The server identified itself as github-mcp-server/remote-cffc9f76.

Activity

  1. vshalpnjabi commented on Nov 5, 2026

    @vshalpnjabi

    Hi, I'd like to work on this. I'll keep the fix small and add a test. Let me know if there's anything I should know before starting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions