Skip to content

fix: harden protocol and transport handling - #8

Merged
abcsnowwolf merged 1 commit into
mainfrom
codex/fix-review-findings
Jul 28, 2026
Merged

fix: harden protocol and transport handling#8
abcsnowwolf merged 1 commit into
mainfrom
codex/fix-review-findings

Conversation

@abcsnowwolf

Copy link
Copy Markdown
Contributor
  • require explicit HttpMCPServer::begin() so tool registration cannot race in-flight requests; construction no longer starts the listener (breaking change over released 0.3.0)
  • validate the JSON-RPC envelope (jsonrpc version, id type, params shape) and require mandatory initialize/tools params per the MCP spec
  • enforce an aggregate byte budget on the BLE RX queue (-DMCP_BLE_RX_QUEUE_MAX_BYTES, default 16 KB) and migrate McpBle/BLEMCPServer shared state to std::atomic
  • drop the redundant NimBLE service start (2.x starts services when advertising begins)
  • reject non-JSON Content-Type on POSTs that carry a body; omit empty schema type from tools/list output
  • fix the transport send retry loop that never terminated when max_retries == 255
  • bump version to 0.4.0 and point examples at ESP-MCP ^0.4.0

* require explicit HttpMCPServer::begin() so tool registration cannot race in-flight requests; construction no longer starts the listener (breaking change over released 0.3.0)
* validate the JSON-RPC envelope (jsonrpc version, id type, params shape) and require mandatory initialize/tools params per the MCP spec
* enforce an aggregate byte budget on the BLE RX queue (-DMCP_BLE_RX_QUEUE_MAX_BYTES, default 16 KB) and migrate McpBle/BLEMCPServer shared state to std::atomic
* drop the redundant NimBLE service start (2.x starts services when advertising begins)
* reject non-JSON Content-Type on POSTs that carry a body; omit empty schema type from tools/list output
* fix the transport send retry loop that never terminated when max_retries == 255
* bump version to 0.4.0 and point examples at ESP-MCP ^0.4.0
@abcsnowwolf
abcsnowwolf merged commit a6b3429 into main Jul 28, 2026
10 checks passed
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.

1 participant