Skip to content

MCP client should query prompts/list when server advertises prompts capability #9456

@david-engelmann

Description

@david-engelmann

Pre-submit Checks

Describe the solution you'd like?

When an MCP server advertises the prompts capability during initialization, Warp's MCP client should query prompts/list and store the returned prompts on the server's info struct, mirroring the existing handling for tools and resources.

Currently, the post-init block in app/src/ai/mcp/templatable_manager/native.rs (the same block #9436 just touched) queries tools/list and resources/list but never prompts/list. As a result, MCP servers whose primary surface is prompt templates are invisible to Warp.

Per the MCP 2025-03-26 spec — capability negotiation, a client should invoke a list method when (and only when) the corresponding capability has been advertised by the server.

Proposed scope (v1, data-only):

  • Add a should_query_prompts() predicate next to the resources/tools predicates introduced in fix(mcp): query tools/resources independently per advertised capability (#6798) #9436.
  • Query prompts/list per advertised capability, fail-soft on errors (log + empty vec), matching the existing branches.
  • Store the result on TemplatableMCPServerInfo (new prompts: Vec<rmcp::model::Prompt> field).
  • Extend the each_capability_is_queried_independently regression test with the prompts dimension.

The UI surface for prompts (slash-command dispatch like /<server>:<prompt>, argument prompts UI) is a separate, larger lift and warrants its own issue — plausibly the ready-to-spec flow.

I'd be happy to pick this up with a PR once the issue is labeled.

Is your feature request related to a problem? Please describe.

MCP servers that primarily expose prompt templates — e.g., prompt galleries, prompt-collection servers — are unusable in Warp today because the client never asks the server for them. The user has no signal that the server has anything to offer; from their perspective the server appears empty even though its main surface is fully populated.

Additional context

Operating system (OS)

macOS

How important is this feature to you?

3

Warp Internal (ignore) - linear-label:39cc6478-1249-4ee7-950b-c428edfeecd1

None

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:mcpMCP server integrations, tool connections, and resource providers.enhancementNew feature or request.repro:highThe report includes enough evidence that the issue appears highly reproducible.triagedIssue has received an initial automated triage pass.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions