Skip to content

Commit 845e92d

Browse files
authored
Merge branch 'main' into patch-1
2 parents 8ed31f6 + 1cfdf1e commit 845e92d

File tree

3 files changed

+14
-2
lines changed

3 files changed

+14
-2
lines changed

docs/docs/concepts/tools.mdx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,18 @@ When implementing tools:
213213
9. Consider rate limiting for resource-intensive operations
214214
10. Log tool usage for debugging and monitoring
215215

216+
### Tool name conflicts
217+
218+
MCP client applications and MCP server proxies may encounter tool name conflicts when building their own tool lists. For example, two connected MCP servers `web1` and `web2` may both expose a tool named `search_web`.
219+
220+
Applications may disambiguiate tools with one of the following strategies (among others; not an exhaustive list):
221+
222+
- Concatenating a unique, user-defined server name with the tool name, e.g. `web1___search_web` and `web2___search_web`. This strategy may be preferable when unique server names are already provided by the user in a configuration file.
223+
- Generating a random prefix for the tool name, e.g. `jrwxs___search_web` and `6cq52___search_web`. This strategy may be preferable in server proxies where user-defined unique names are not available.
224+
- Using the server URI as a prefix for the tool name, e.g. `web1.example.com:search_web` and `web2.example.com:search_web`. This strategy may be suitable when working with remote MCP servers.
225+
226+
Note that the server-provided name from the initialization flow is not guaranteed to be unique and is not generally suitable for disambiguation purposes.
227+
216228
## Security considerations
217229

218230
When exposing tools:

docs/specification/2025-06-18/basic/transports.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ initialization](/specification/2025-06-18/basic/lifecycle#version-negotiation).
253253
For backwards compatibility, if the server does _not_ receive an `MCP-Protocol-Version`
254254
header, and has no other way to identify the version - for example, by relying on the
255255
protocol version negotiated during initialization - the server **SHOULD** assume protocol
256-
version `2025-06-18`.
256+
version `2025-03-26`.
257257

258258
If the server receives a request with an invalid or unsupported
259259
`MCP-Protocol-Version`, it **MUST** respond with `400 Bad Request`.

docs/specification/draft/basic/transports.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ initialization](/specification/draft/basic/lifecycle#version-negotiation).
253253
For backwards compatibility, if the server does _not_ receive an `MCP-Protocol-Version`
254254
header, and has no other way to identify the version - for example, by relying on the
255255
protocol version negotiated during initialization - the server **SHOULD** assume protocol
256-
version `2025-06-18`.
256+
version `2025-03-26`.
257257

258258
If the server receives a request with an invalid or unsupported
259259
`MCP-Protocol-Version`, it **MUST** respond with `400 Bad Request`.

0 commit comments

Comments
 (0)