feat: ecosystem architecture enhancements (Graph, Loop, Context, Harness)#6
Merged
Conversation
The serverStartErr channel was written by the background goroutine but never read, silently dropping Start() failures. Add StartErr() accessor so callers can monitor the background server's startup result.
Adds TestStartErr verifying that StartErr returns nil before ServeHTTPWithShutdown is called, a non-nil channel afterward, and that the channel receives Start's return value (http.ErrServerClosed) once the server shuts down. The test polls the endpoint until reachable before Shutdown to respect mcp-go's documented "poll UntilReady before Shutdown" contract and avoid a startup race where Shutdown would no-op before Start sets its internal http.Server.
…s + docs - Apply MaxMCPRequestBodySize to the bearer-only and no-auth HTTP paths via a new capBodyHandler, so every MCP HTTP surface in the ecosystem has the same resource-exhaustion protection (previously only the WithHTTPToken path was capped). - Add TestBuildHTTPServer_MutualExclusivity: verifies setting both RequireBearerToken and WithHTTPToken errors out. - Add TestConstantTimeCompareStrings: table-driven coverage of the security-critical primitive. - Add TestHTTPTokenHandler_WrongToken: verifies a wrong token is rejected with 401. - Add TestMaxMCPRequestBodySize_Value and TestServeStdio_Untestable. - Delete redundant TestStrArg_WithRequest and TestServer_MCPCapabilities. - Rename misleading TestServeHTTP_BearerToken_*_WithAuthConfigured. - Fix constantTimeCompareStrings doc comment. - Document WithHTTPToken, StartErr, MaxMCPRequestBodySize in README; expand Security section to cover both auth modes and mutual exclusivity. - Fix New signature in README to include variadic opts. - Add 0.1.5 CHANGELOG entry; bump VERSION.
- Add graph.go with graph implementation - Add graph_test.go with test coverage - Update README
- Add MCPGraph for managing tool and resource relationships - Support graph serialization and portable GraphSpec conversion
Patel230
force-pushed
the
feat/mcpkit-body-cap
branch
from
July 25, 2026 11:02
f5cc8ad to
16e907f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR introduces cross-ecosystem architectural enhancements encompassing Graph Engineering, Loop Engineering, Context Management, and Prompt Frameworks.
What's Included
StateGraphimplementations, A2A protocol support, and Cypher-like DSLs.All changes include appropriate edge-case handling for timeouts, cancellations, and state immutability.