Skip to content

Server card omits submit_feedback: advertised tool list is missing a tool the endpoint serves (50/51 sites checked) #7313

Description

@he110

The docs for server card endpoints say:

Each server card includes the standard discovery fields and a tools array that describes the MCP tools the server advertises. Use this to pre-populate tool metadata in MCP clients without making an initialize call to the server.

A client that does that gets an incomplete tool list. On your own docs site:

curl -s https://www.mintlify.com/docs/.well-known/mcp/server-card.json | jq -c '[.tools[].name]'
# ["search_mintlify","query_docs_filesystem_mintlify"]

curl -s -X POST https://www.mintlify.com/docs/mcp \
  -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' \
| sed -n 's/^data: //p' | jq -c '[.result.tools[].name]'
# ["search_mintlify","query_docs_filesystem_mintlify","submit_feedback"]

submit_feedback is served but not advertised. /ai/model-context-protocol#mcp-tools documents it as one of the three tools, so the docs and the endpoint agree with each other — the card is the odd one out.

Not just your site. I run a registry that reads tools/list from public keyless MCP endpoints on a schedule; 51 of the 79 it tracks are hosted Mintlify sites. I checked the card against the live tool list on all 51 today (2026-09-09):

  • 50/51 serve /.well-known/mcp/server-card.json (one 404s)
  • 49 of those 50 advertise exactly 2 tools; one advertises 0
  • 0 of 50 advertise submit_feedback
  • 51/51 live endpoints serve it

I seeded that server list myself, so 51 is my sample, not a census of your customers.

The changelog looks like it explains the ordering — server cards shipped May 29, 2026, and the submit_feedback tool shipped July 2, 2026, so the card generator may simply predate the third tool.

Two things that might need fixing, and I can't tell from outside which:

  1. The card generator, if it should be emitting all three tools.
  2. The sentence recommending the card as a substitute for initialize, if the card is intentionally a subset — right now it reads as authoritative.

Reproduce fleet-wide:

curl -s https://he110.github.io/mcp-drift-registry/api/registry.json \
| jq -c '[.servers[] | select([.tools[].name]|any(startswith("query_docs_filesystem_")))
      | [.tools[].name]|any(.=="submit_feedback")]
      | {tenants:length, serving_submit_feedback:(map(select(.))|length)}'
# {"tenants":51,"serving_submit_feedback":51}

Built with an AI coding agent; the measurement is deterministic — fetch, canonicalise, diff — no model in the pipeline.

Activity

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions