Skip to content

Add SDK-native MCP extension on Restlet transports - #1627

Merged
jlouvel merged 2 commits into
3.0from
feat/rpc-r2-mcp
Nov 2, 2026
Merged

jlouvel merged 2 commits into
3.0from
feat/rpc-r2-mcp

Bound MCP body reads, STDIO limits and SSE budgets

71ac98c
Select commit
Loading
Failed to load commit list.
SonarQubeCloud / SonarCloud Code Analysis succeeded Nov 2, 2026 in 1m 15s

Annotations

Check failure on line 204 in org.restlet.ext.mcp/src/main/java/org/restlet/ext/mcp/internal/StdioMcpClientTransport.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this method to reduce its Cognitive Complexity from 19 to the 15 allowed.

See more on https://sonarcloud.io/project/issues?id=restlet_restlet-framework-java&issues=AaGaJnC3S_nD4WvEG65a&open=AaGaJnC3S_nD4WvEG65a&pullRequest=1627

Check warning on line 347 in org.restlet.ext.mcp/src/test/java/org/restlet/ext/mcp/McpHttpTestCase.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor the code of the lambda to have only one invocation possibly throwing a runtime exception.

See more on https://sonarcloud.io/project/issues?id=restlet_restlet-framework-java&issues=AaGaJnCzS_nD4WvEG65U&open=AaGaJnCzS_nD4WvEG65U&pullRequest=1627

Check warning on line 259 in org.restlet.ext.mcp/src/test/java/org/restlet/ext/mcp/McpStdioTestCase.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor the code of the lambda to have only one invocation possibly throwing a runtime exception.

See more on https://sonarcloud.io/project/issues?id=restlet_restlet-framework-java&issues=AaGb6ln0m3kMdmfaOFd_&open=AaGb6ln0m3kMdmfaOFd_&pullRequest=1627

Check failure on line 132 in org.restlet.ext.mcp/src/main/java/org/restlet/ext/mcp/RestletMcpClientTransport.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this method to reduce its Cognitive Complexity from 16 to the 15 allowed.

See more on https://sonarcloud.io/project/issues?id=restlet_restlet-framework-java&issues=AaGaJnDAS_nD4WvEG65q&open=AaGaJnDAS_nD4WvEG65q&pullRequest=1627

Check warning on line 265 in org.restlet.ext.mcp/src/test/java/org/restlet/ext/mcp/McpHttpTestCase.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor the code of the lambda to have only one invocation possibly throwing a runtime exception.

See more on https://sonarcloud.io/project/issues?id=restlet_restlet-framework-java&issues=AaGaJnCzS_nD4WvEG65T&open=AaGaJnCzS_nD4WvEG65T&pullRequest=1627

Check failure on line 348 in org.restlet.ext.mcp/src/main/java/org/restlet/ext/mcp/McpServerAdapter.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this method to reduce its Cognitive Complexity from 19 to the 15 allowed.

See more on https://sonarcloud.io/project/issues?id=restlet_restlet-framework-java&issues=AaGaJnC9S_nD4WvEG65o&open=AaGaJnC9S_nD4WvEG65o&pullRequest=1627

Check warning on line 267 in org.restlet.ext.mcp/src/test/java/org/restlet/ext/mcp/McpStdioTestCase.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove this use of "TimeUnit.sleep()".

See more on https://sonarcloud.io/project/issues?id=restlet_restlet-framework-java&issues=AaGb6ln0m3kMdmfaOFeA&open=AaGb6ln0m3kMdmfaOFeA&pullRequest=1627

Check warning on line 84 in org.restlet.ext.mcp/src/main/java/org/restlet/ext/mcp/internal/StdioMcpClientTransport.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this code to use the more specialised Functional Interface 'UnaryOperator<Mono>'

See more on https://sonarcloud.io/project/issues?id=restlet_restlet-framework-java&issues=AaGaJnC3S_nD4WvEG65Y&open=AaGaJnC3S_nD4WvEG65Y&pullRequest=1627

Check warning on line 202 in org.restlet.ext.mcp/src/main/java/org/restlet/ext/mcp/McpClientAdapter.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this code to use the more specialised Functional Interface 'UnaryOperator<Mono>'

See more on https://sonarcloud.io/project/issues?id=restlet_restlet-framework-java&issues=AaGaJnC6S_nD4WvEG65g&open=AaGaJnC6S_nD4WvEG65g&pullRequest=1627

Check warning on line 95 in org.restlet.ext.mcp/src/main/java/org/restlet/ext/mcp/RestletMcpClientTransport.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this code to use the more specialised Functional Interface 'UnaryOperator<Mono>'

See more on https://sonarcloud.io/project/issues?id=restlet_restlet-framework-java&issues=AaGaJnDAS_nD4WvEG65p&open=AaGaJnDAS_nD4WvEG65p&pullRequest=1627

Check failure on line 41 in org.restlet.ext.mcp/src/main/java/org/restlet/ext/mcp/internal/McpWorkers.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this method to reduce its Cognitive Complexity from 20 to the 15 allowed.

See more on https://sonarcloud.io/project/issues?id=restlet_restlet-framework-java&issues=AaGaJnC4S_nD4WvEG65c&open=AaGaJnC4S_nD4WvEG65c&pullRequest=1627

Check failure on line 61 in org.restlet.ext.mcp/src/main/java/org/restlet/ext/mcp/internal/McpMessages.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal "params" 3 times.

See more on https://sonarcloud.io/project/issues?id=restlet_restlet-framework-java&issues=AaGaJnC1S_nD4WvEG65V&open=AaGaJnC1S_nD4WvEG65V&pullRequest=1627

Check warning on line 480 in org.restlet.ext.mcp/src/test/java/org/restlet/ext/mcp/McpServerAdapterTestCase.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor the code of the lambda to have only one invocation possibly throwing a runtime exception.

See more on https://sonarcloud.io/project/issues?id=restlet_restlet-framework-java&issues=AaGaJnCxS_nD4WvEG65R&open=AaGaJnCxS_nD4WvEG65R&pullRequest=1627

Check warning on line 309 in org.restlet.ext.mcp/src/test/java/org/restlet/ext/mcp/McpStdioTestCase.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove this unused method parameter "args".

See more on https://sonarcloud.io/project/issues?id=restlet_restlet-framework-java&issues=AaGaJm8ZS_nD4WvEG65O&open=AaGaJm8ZS_nD4WvEG65O&pullRequest=1627

Check warning on line 38 in org.restlet.ext.mcp/src/main/java/org/restlet/ext/mcp/internal/McpWorkers.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace generic exceptions with specific library exceptions or a custom exception.

See more on https://sonarcloud.io/project/issues?id=restlet_restlet-framework-java&issues=AaGaJnC4S_nD4WvEG65b&open=AaGaJnC4S_nD4WvEG65b&pullRequest=1627

Check warning on line 123 in org.restlet.ext.mcp/src/main/java/org/restlet/ext/mcp/internal/McpMessages.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Return an empty array instead of null.

See more on https://sonarcloud.io/project/issues?id=restlet_restlet-framework-java&issues=AaGaJnC1S_nD4WvEG65W&open=AaGaJnC1S_nD4WvEG65W&pullRequest=1627

Check warning on line 421 in org.restlet.ext.mcp/src/test/java/org/restlet/ext/mcp/McpServerAdapterTestCase.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace "e" with an unnamed pattern.

See more on https://sonarcloud.io/project/issues?id=restlet_restlet-framework-java&issues=AaGb6luqm3kMdmfaOFeC&open=AaGb6luqm3kMdmfaOFeC&pullRequest=1627

Check warning on line 341 in org.restlet.ext.mcp/src/test/java/org/restlet/ext/mcp/McpStdioTestCase.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove this use of "Thread.sleep()".

See more on https://sonarcloud.io/project/issues?id=restlet_restlet-framework-java&issues=AaGaJm8ZS_nD4WvEG65P&open=AaGaJm8ZS_nD4WvEG65P&pullRequest=1627

Check warning on line 386 in org.restlet.ext.mcp/src/test/java/org/restlet/ext/mcp/McpServerAdapterTestCase.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace "e" with an unnamed pattern.

See more on https://sonarcloud.io/project/issues?id=restlet_restlet-framework-java&issues=AaGaJnCxS_nD4WvEG65Q&open=AaGaJnCxS_nD4WvEG65Q&pullRequest=1627

Check warning on line 238 in org.restlet.ext.mcp/src/test/java/org/restlet/ext/mcp/McpStdioTestCase.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor the code of the lambda to have only one invocation possibly throwing a runtime exception.

See more on https://sonarcloud.io/project/issues?id=restlet_restlet-framework-java&issues=AaGb6ln0m3kMdmfaOFd-&open=AaGb6ln0m3kMdmfaOFd-&pullRequest=1627

Check warning on line 138 in org.restlet.ext.mcp/src/test/java/org/restlet/ext/mcp/McpStdioTestCase.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove the declaration of thrown exception 'java.lang.Exception', as it cannot be thrown from method's body.

See more on https://sonarcloud.io/project/issues?id=restlet_restlet-framework-java&issues=AaGaJm8ZS_nD4WvEG65M&open=AaGaJm8ZS_nD4WvEG65M&pullRequest=1627

Check warning on line 238 in org.restlet.ext.mcp/src/test/java/org/restlet/ext/mcp/McpHttpTestCase.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor the code of the lambda to have only one invocation possibly throwing a runtime exception.

See more on https://sonarcloud.io/project/issues?id=restlet_restlet-framework-java&issues=AaGaJnCzS_nD4WvEG65S&open=AaGaJnCzS_nD4WvEG65S&pullRequest=1627

Check warning on line 273 in org.restlet.ext.mcp/src/test/java/org/restlet/ext/mcp/McpStdioTestCase.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace this String concatenation with Text block.

See more on https://sonarcloud.io/project/issues?id=restlet_restlet-framework-java&issues=AaGb6ln0m3kMdmfaOFeB&open=AaGb6ln0m3kMdmfaOFeB&pullRequest=1627

Check warning on line 289 in org.restlet.ext.mcp/src/test/java/org/restlet/ext/mcp/McpStdioTestCase.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor the code of the lambda to have only one invocation possibly throwing a runtime exception.

See more on https://sonarcloud.io/project/issues?id=restlet_restlet-framework-java&issues=AaGaJm8ZS_nD4WvEG65N&open=AaGaJm8ZS_nD4WvEG65N&pullRequest=1627

Check warning on line 230 in org.restlet.ext.mcp/src/test/java/org/restlet/ext/mcp/McpStdioTestCase.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor the code of the lambda to have only one invocation possibly throwing a runtime exception.

See more on https://sonarcloud.io/project/issues?id=restlet_restlet-framework-java&issues=AaGb6ln0m3kMdmfaOFd9&open=AaGb6ln0m3kMdmfaOFd9&pullRequest=1627