THE DEV BENCH
🧾 JSONmedium

2. Declare server capabilities

In the server's initialize RESPONSE, declare its `capabilities`: • tools: with listChanged = true • resources: with subscribe = true Only features you declare here can be used in the session.

How to approach this

Capability negotiation is how MCP stays extensible: a server advertises what it supports so the client only calls declared features. A server that offers tools declares `tools`, and sets `listChanged: true` if it will emit `notifications/tools/list_changed`. A server offering resources declares `resources`, with `subscribe: true` if clients may subscribe to updates. These sub-flags are booleans. (Undeclared → the client must not use it.)

config.json