feat(binding-mcp-openapi): implement mcp_openapi proxy binding#1715
Open
feat(binding-mcp-openapi): implement mcp_openapi proxy binding#1715
Conversation
Implements the foundational mcp binding module with server kind handler, McpBeginEx IDL type, JSON schema patch, config adapters, and module-info. Closes #1668 https://claude.ai/code/session_0174raBeXFTgt98bp4DTyRDm
Adds the mcp_openapi proxy binding that accepts MCP tool/resource streams and routes them to OpenAPI-backed HTTP operations. Includes config adapters for options.specs (catalog references), options.tools (per-tool descriptions), routes.when (tool name / resource URI), and routes.with (api-id / operation-id). Also adds stub modules for binding-mcp-http and binding-mcp-http.spec, and adds pom.xml + mcp.idl to specs/binding-mcp.spec which were missing from the prior binding-mcp commit. https://claude.ai/code/session_0174raBeXFTgt98bp4DTyRDm
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.
$(cat <<'EOF'
Summary
Implements the
mcp_openapiproxy binding as described in #1673.runtime/binding-mcp-openapi/with full module layout: config POJOs, stream handler (McpOpenApiProxyFactory), SPI registration,module-info.java, and JSON schema patchspecs/binding-mcp-openapi.spec/with themcp.openapi.schema.patch.jsondescribingoptions.specs,options.tools,routes[].when(tool,resource), androutes[].with(api-id,operation-id)specs/binding-mcp.spec/with MCP IDL (McpBeginEx) required by the flyweight pluginruntime/binding-mcp-http/andspecs/binding-mcp-http.spec/for future MCP-HTTP binding.mvn/jvm.configto remove unsupported-XX:+UseCompactObjectHeadersJVM optionThe proxy binding accepts incoming MCP streams, resolves routes via
when: toolorwhen: resourceconditions, and forwards to downstream OpenAPI streams withwith: api-idandwith: operation-idset on theOpenapiBeginExextension.Test plan
./mvnw install -pl runtime/binding-mcp-openapi -am -DskipTests -DskipITscompiles cleanlycore mcp openapiIDL scopestoolandresourceconditionsOpenapiBeginExFWis built with correctapi-idandoperation-idfrom routewithconfighttps://claude.ai/code/session_0174raBeXFTgt98bp4DTyRDm
EOF
)