Skip to content

feat: add support for protocol negotiation fallback with custom arrays#402

Open
anubhav756 wants to merge 5 commits into
anubhav-mcp-latestfrom
anubhav-custom-protocols
Open

feat: add support for protocol negotiation fallback with custom arrays#402
anubhav756 wants to merge 5 commits into
anubhav-mcp-latestfrom
anubhav-custom-protocols

Conversation

@anubhav756

@anubhav756 anubhav756 commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Description

This PR adds support for specifying a custom array of supported MCP protocol versions during ToolboxClient initialization. This allows the client to gracefully handle protocol negotiation and fallbacks when interacting with different versions of the Toolbox server.

Changes

  • Updated the client initialization to accept a custom array of protocols instead of a single string.
  • Added intuitive Protocol.MCP_LATEST and Protocol.MCP_DRAFT aliases to the Protocol enum.
  • Refactored the E2E test suites to use semantic TOOLBOX_SERVER_URL_STABLE and TOOLBOX_SERVER_URL_DRAFT constants.
  • Added explicit E2E tests validating connections using Protocol.MCP_LATEST and testing the array fallback negotiation logic with [Protocol.MCP_LATEST, Protocol.MCP_DRAFT].
  • Updated the README.md to document the new protocol negotiation capabilities with proper code examples.

@anubhav756 anubhav756 changed the title feat: custom protocols array feat(core): add support for protocol negotiation fallback with custom arrays Jul 2, 2026
@anubhav756
anubhav756 changed the base branch from anubhav-mcp-latest to anubhav-draft-negotiation July 2, 2026 07:06
@anubhav756
anubhav756 marked this pull request as ready for review July 2, 2026 07:06
@anubhav756
anubhav756 requested a review from a team as a code owner July 2, 2026 07:06
@anubhav756 anubhav756 changed the title feat(core): add support for protocol negotiation fallback with custom arrays feat: add support for protocol negotiation fallback with custom arrays Jul 2, 2026
@anubhav756
anubhav756 force-pushed the anubhav-draft-negotiation branch from d92afc5 to b213139 Compare July 3, 2026 08:20
@anubhav756
anubhav756 force-pushed the anubhav-custom-protocols branch from 9226eb8 to 0d70304 Compare July 3, 2026 08:27
@anubhav756
anubhav756 force-pushed the anubhav-draft-negotiation branch from b213139 to 01fd05c Compare July 3, 2026 12:23
@anubhav756
anubhav756 force-pushed the anubhav-custom-protocols branch from 0d70304 to 9f3a6f9 Compare July 3, 2026 12:23
@anubhav756
anubhav756 force-pushed the anubhav-draft-negotiation branch from 01fd05c to a0c429f Compare July 3, 2026 22:39
@anubhav756
anubhav756 force-pushed the anubhav-custom-protocols branch 2 times, most recently from 9a5928f to c648adc Compare July 3, 2026 22:46
@twishabansal twishabansal added the priority: p2 Moderately-important priority. Fix may not be included in next release. label Jul 7, 2026
@twishabansal

Copy link
Copy Markdown
Contributor

Waiting on design approval

@anubhav756
anubhav756 force-pushed the anubhav-draft-negotiation branch from a0c429f to bf46850 Compare July 17, 2026 05:51
@anubhav756
anubhav756 force-pushed the anubhav-custom-protocols branch from 76a9afb to 8b7fa0e Compare July 17, 2026 05:51
@anubhav756
anubhav756 changed the base branch from anubhav-draft-negotiation to anubhav-mcp-latest July 17, 2026 06:01
@anubhav756
anubhav756 force-pushed the anubhav-custom-protocols branch from 8b7fa0e to f059d65 Compare July 17, 2026 07:46
@anubhav756
anubhav756 force-pushed the anubhav-mcp-latest branch from 702058c to 866ed6f Compare July 17, 2026 07:46
@anubhav756
anubhav756 force-pushed the anubhav-custom-protocols branch from f059d65 to 208831d Compare July 17, 2026 08:15
@anubhav756
anubhav756 force-pushed the anubhav-custom-protocols branch 2 times, most recently from cc19821 to 7b0b25b Compare July 17, 2026 12:26
@anubhav756
anubhav756 force-pushed the anubhav-mcp-latest branch from 72d5e80 to 0b2434f Compare July 17, 2026 12:31
@anubhav756
anubhav756 force-pushed the anubhav-custom-protocols branch from 7b0b25b to 96d231f Compare July 17, 2026 12:33
@anubhav756
anubhav756 force-pushed the anubhav-mcp-latest branch from 0b2434f to 11225e2 Compare July 17, 2026 12:47
@anubhav756
anubhav756 force-pushed the anubhav-custom-protocols branch from 96d231f to 3066a37 Compare July 17, 2026 12:48
@anubhav756
anubhav756 force-pushed the anubhav-mcp-latest branch from 11225e2 to 2e70835 Compare July 17, 2026 12:57
@anubhav756
anubhav756 force-pushed the anubhav-custom-protocols branch from 3066a37 to 19f6b5f Compare July 17, 2026 12:58
@anubhav756
anubhav756 force-pushed the anubhav-mcp-latest branch from 2e70835 to 98dead3 Compare July 17, 2026 14:03
@anubhav756
anubhav756 force-pushed the anubhav-custom-protocols branch from 19f6b5f to ea2bae2 Compare July 17, 2026 14:04
@anubhav756
anubhav756 force-pushed the anubhav-mcp-latest branch from 98dead3 to 4812076 Compare July 17, 2026 14:06
@anubhav756
anubhav756 force-pushed the anubhav-custom-protocols branch from ea2bae2 to 3e25000 Compare July 17, 2026 14:06
@anubhav756
anubhav756 force-pushed the anubhav-mcp-latest branch from 4812076 to 14cb551 Compare July 17, 2026 14:09
@anubhav756
anubhav756 force-pushed the anubhav-custom-protocols branch 2 times, most recently from 47cad86 to e8f5afb Compare July 17, 2026 15:10
@anubhav756
anubhav756 force-pushed the anubhav-mcp-latest branch 2 times, most recently from 0beedf6 to 5735f04 Compare July 17, 2026 15:54
@anubhav756
anubhav756 force-pushed the anubhav-custom-protocols branch from e8f5afb to 361edd9 Compare July 17, 2026 15:55
@anubhav756
anubhav756 force-pushed the anubhav-mcp-latest branch from 5735f04 to f021a1d Compare July 17, 2026 16:14
@anubhav756
anubhav756 force-pushed the anubhav-custom-protocols branch from 361edd9 to ccc2d98 Compare July 17, 2026 16:17
@anubhav756
anubhav756 force-pushed the anubhav-mcp-latest branch 2 times, most recently from 40bc0b8 to a5c507b Compare July 18, 2026 00:50
@anubhav756
anubhav756 force-pushed the anubhav-custom-protocols branch from ccc2d98 to 4c0f812 Compare July 18, 2026 00:58
@anubhav756 anubhav756 added priority: p1 Important issue which blocks shipping the next release. Will be fixed prior to next release. and removed priority: p2 Moderately-important priority. Fix may not be included in next release. labels Jul 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

priority: p1 Important issue which blocks shipping the next release. Will be fixed prior to next release.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants