Skip to content

fix(mcp): stop advertising tool list changes - #466

Open
legendteddy wants to merge 3 commits into
docs-plus:mainfrom
legendteddy:main
Open

legendteddy wants to merge 3 commits into
docs-plus:mainfrom
legendteddy:main

Conversation

@legendteddy

@legendteddy legendteddy commented Oct 7, 2026 •

Copy link
Copy Markdown

Summary

Stops the docs.plus MCP connector from advertising tools.listChanged when its tool set is fixed.

@modelcontextprotocol/[email protected] defaults tools.listChanged to true. Because docs.plus registers its document and chat tools once per request and never changes them afterward, newer MCP clients may otherwise open a subscriptions/listen stream that can never carry a tool-list notification.

This change explicitly sets capabilities: { tools: { listChanged: false } } when constructing the McpServer, with a comment explaining why.

Related issue

Closes #460

Type of change

  • Bug fix
  • New feature
  • Refactor
  • Documentation update
  • CI/CD or tooling change

How to test

Per #460:

  1. From apps/hocuspocus.server, run bun run typecheck && bun test.
  2. Build a server through createServerFactory with stub dependencies and inspect server.server.getCapabilities().tools.
  3. Expected result: { listChanged: false }.

Checklist

Local Bun execution was not available in the environment used to prepare this contribution, so the executable package checks are intentionally left unchecked rather than overstated.

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Stop advertising tools.listChanged on the MCP connector

1 participant