Skip to content

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

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

legendteddy wants to merge 6 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/server@2.0.0 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.

@legendteddy legendteddy closed this by deleting the head repository Oct 16, 2026
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