This is an automated email from the ASF dual-hosted git repository.
jamesbognar pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git
from fa50bb32de chore: remove unused imports in MCP 2025-06-18
adapter/tests; ignore /.superpowers/
new dc908df550 build: exclude juneau-microservice-examples from the BOM
completeness guard
new d672627bd3 feat: add MCP 2026-07-28 revision server (new bean +
adapter modules)
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../apache/juneau/bean/jsonrpc/JsonRpcRequest.java | 24 ++
.../juneau/bean/jsonrpc/JsonRpcResponse.java | 24 ++
.../juneau/bean/jsonrpc/JsonRpcBeans_Test.java | 32 +++
juneau-bean/juneau-bean-mcp-2026-07-28/pom.xml | 131 +++++++++
.../bean/mcp/v20260728/BlobResourceContents.java | 93 ++++++
.../juneau/bean/mcp/v20260728/CallToolRequest.java | 88 ++++++
.../juneau/bean/mcp/v20260728/CallToolResult.java | 135 +++++++++
.../bean/mcp/v20260728/ClientCapabilities.java | 123 ++++++++
.../apache/juneau/bean/mcp/v20260728/Content.java | 31 ++
.../mcp/v20260728/EmbeddedResourceContent.java | 52 ++++
.../bean/mcp/v20260728/GetPromptRequest.java | 88 ++++++
.../juneau/bean/mcp/v20260728/GetPromptResult.java | 111 ++++++++
.../juneau/bean/mcp/v20260728/ImageContent.java | 69 +++++
.../juneau/bean/mcp/v20260728/Implementation.java | 69 +++++
.../bean/mcp/v20260728/ListPromptsResult.java} | 85 +++---
.../bean/mcp/v20260728/ListResourcesResult.java | 111 ++++++++
.../bean/mcp/v20260728/ListToolsResult.java} | 85 +++---
.../bean/mcp/v20260728/LoggingCapability.java | 48 ++++
.../juneau/bean/mcp/v20260728/McpMethods.java | 52 ++++
.../juneau/bean/mcp/v20260728/McpProtocol.java | 39 +++
.../apache/juneau/bean/mcp/v20260728/Prompt.java | 132 +++++++++
.../juneau/bean/mcp/v20260728/PromptArgument.java | 90 ++++++
.../bean/mcp/v20260728/PromptCapability.java | 48 ++++
.../juneau/bean/mcp/v20260728/PromptMessage.java | 69 +++++
.../bean/mcp/v20260728/ReadResourceRequest.java | 48 ++++
.../bean/mcp/v20260728/ReadResourceResult.java | 90 ++++++
.../juneau/bean/mcp/v20260728/RequestMeta.java | 93 ++++++
.../apache/juneau/bean/mcp/v20260728/Resource.java | 153 ++++++++++
.../bean/mcp/v20260728/ResourceCapability.java | 69 +++++
.../bean/mcp/v20260728/ResourceContents.java | 33 +++
.../org/apache/juneau/bean/mcp/v20260728/Role.java | 55 ++++
.../juneau/bean/mcp/v20260728/RootsCapability.java | 48 ++++
.../bean/mcp/v20260728/ServerCapabilities.java | 151 ++++++++++
.../bean/mcp/v20260728/ServerDiscoverResult.java | 72 +++++
.../juneau/bean/mcp/v20260728/TextContent.java | 48 ++++
.../bean/mcp/v20260728/TextResourceContents.java | 94 ++++++
.../apache/juneau/bean/mcp/v20260728/Tool.java} | 74 ++---
.../juneau/bean/mcp/v20260728/ToolCapability.java | 48 ++++
.../juneau/bean/mcp/v20260728}/package-info.java | 16 +-
.../src/test/java/org/apache/juneau/TestUtils.java | 0
.../bean/mcp/v20260728/JsonSchemaSafety_Test.java | 102 +++++++
.../juneau/bean/mcp/v20260728/McpV2Beans_Test.java | 158 +++++++++++
juneau-bean/pom.xml | 1 +
juneau-bom/pom.xml | 2 +
juneau-distrib/pom.xml | 62 ++++
juneau-integration-tests/pom.xml | 10 +
...20250618_Test.java => McpRestServlet_Test.java} | 10 +-
...618Revision_Test.java => McpRevision_Test.java} | 40 +--
.../mcp/v20250618/McpTypedHandlers_Test.java | 6 +-
.../mcp/v20260728}/Characterization_Test.java | 157 ++++++----
.../mcp/v20260728/McpV2BeanIntegration_Test.java | 104 +++++++
.../EMPTY-initialize-is-unknown.headers.properties | 17 ++
.../EMPTY-initialize-is-unknown.request.json | 1 +
.../EMPTY-initialize-is-unknown.response.json | 1 +
.../EMPTY-notification-ping.headers.properties | 17 ++
.../EMPTY-notification-ping.request.json | 1 +
.../EMPTY-notification-ping.response.json | 0
.../characterization/EMPTY-ping.headers.properties | 17 ++
.../characterization/EMPTY-ping.request.json | 1 +
.../characterization/EMPTY-ping.response.json | 0
.../EMPTY-server-discover.headers.properties | 17 ++
.../EMPTY-server-discover.request.json | 1 +
.../EMPTY-server-discover.response.json | 1 +
.../ERROR-handler-failure.headers.properties | 17 ++
.../ERROR-handler-failure.request.json | 1 +
.../ERROR-handler-failure.response.json | 1 +
.../ERROR-invalid-params.headers.properties | 17 ++
.../ERROR-invalid-params.request.json | 1 +
.../ERROR-invalid-params.response.json | 0
.../ERROR-missing-prompt.headers.properties | 17 ++
.../ERROR-missing-prompt.request.json | 1 +
.../ERROR-missing-prompt.response.json | 1 +
.../ERROR-missing-resource.headers.properties | 17 ++
.../ERROR-missing-resource.request.json | 1 +
.../ERROR-missing-resource.response.json | 1 +
.../ERROR-missing-tool.headers.properties | 17 ++
.../ERROR-missing-tool.request.json | 1 +
.../ERROR-missing-tool.response.json | 1 +
.../ERROR-unknown-method.headers.properties | 17 ++
.../ERROR-unknown-method.request.json | 1 +
.../ERROR-unknown-method.response.json | 0
.../FULL-prompts-get.headers.properties | 17 ++
.../characterization/FULL-prompts-get.request.json | 1 +
.../FULL-prompts-get.response.json | 0
.../FULL-prompts-list.headers.properties | 17 ++
.../FULL-prompts-list.request.json | 1 +
.../FULL-prompts-list.response.json | 0
.../FULL-resources-list.headers.properties | 17 ++
.../FULL-resources-list.request.json | 1 +
.../FULL-resources-list.response.json | 0
.../FULL-resources-read.headers.properties | 17 ++
.../FULL-resources-read.request.json | 1 +
.../FULL-resources-read.response.json | 0
.../FULL-tools-call.headers.properties | 17 ++
.../characterization/FULL-tools-call.request.json | 1 +
.../characterization/FULL-tools-call.response.json | 0
.../FULL-tools-list.headers.properties | 17 ++
.../characterization/FULL-tools-list.request.json | 1 +
.../characterization/FULL-tools-list.response.json | 1 +
.../HEADER-method-mismatch.headers.properties | 17 ++
.../HEADER-method-mismatch.request.json | 1 +
.../HEADER-method-mismatch.response.json | 1 +
.../HEADER-missing-method.headers.properties | 16 ++
.../HEADER-missing-method.request.json | 1 +
.../HEADER-missing-method.response.json | 1 +
.../HEADER-missing-name.headers.properties | 16 ++
.../HEADER-missing-name.request.json | 1 +
.../HEADER-missing-name.response.json | 1 +
.../HEADER-name-mismatch.headers.properties | 17 ++
.../HEADER-name-mismatch.request.json | 1 +
.../HEADER-name-mismatch.response.json | 1 +
.../HEADER-valid-named.headers.properties | 17 ++
.../HEADER-valid-named.request.json | 1 +
.../HEADER-valid-named.response.json | 1 +
.../HEADER-valid-nameless.headers.properties | 17 ++
.../HEADER-valid-nameless.request.json | 1 +
.../HEADER-valid-nameless.response.json | 0
.../characterization/META-array.headers.properties | 17 ++
.../characterization/META-array.request.json | 1 +
.../characterization/META-array.response.json | 1 +
.../META-capabilities-scalar.headers.properties | 17 ++
.../META-capabilities-scalar.request.json | 1 +
.../META-capabilities-scalar.response.json | 1 +
.../META-missing-capabilities.headers.properties | 17 ++
.../META-missing-capabilities.request.json | 1 +
.../META-missing-capabilities.response.json | 1 +
.../META-missing-client-info.headers.properties | 17 ++
.../META-missing-client-info.request.json | 1 +
.../META-missing-client-info.response.json | 1 +
.../META-missing-protocol.headers.properties | 17 ++
.../META-missing-protocol.request.json | 1 +
.../META-missing-protocol.response.json | 1 +
.../META-missing.headers.properties | 17 ++
.../characterization/META-missing.request.json | 1 +
.../characterization/META-missing.response.json | 1 +
.../META-unsupported-protocol.headers.properties | 17 ++
.../META-unsupported-protocol.request.json | 1 +
.../META-unsupported-protocol.response.json | 1 +
.../SCHEMA-draft-2020-12.headers.properties | 17 ++
.../SCHEMA-draft-2020-12.request.json | 1 +
.../SCHEMA-draft-2020-12.response.json | 1 +
.../STATELESS-repeat.headers.properties | 17 ++
.../characterization/STATELESS-repeat.request.json | 1 +
.../STATELESS-repeat.response.json | 1 +
.../STRUCTURED-array.headers.properties | 17 ++
.../characterization/STRUCTURED-array.request.json | 1 +
.../STRUCTURED-array.response.json | 1 +
.../STRUCTURED-boolean.headers.properties | 17 ++
.../STRUCTURED-boolean.request.json | 1 +
.../STRUCTURED-boolean.response.json | 1 +
.../STRUCTURED-null.headers.properties | 17 ++
.../characterization/STRUCTURED-null.request.json | 1 +
.../characterization/STRUCTURED-null.response.json | 1 +
.../STRUCTURED-object.headers.properties | 17 ++
.../STRUCTURED-object.request.json | 1 +
.../STRUCTURED-object.response.json | 1 +
.../STRUCTURED-string.headers.properties | 17 ++
.../STRUCTURED-string.request.json | 1 +
.../STRUCTURED-string.response.json | 1 +
.../{McpEndpoint20250618.java => McpEndpoint.java} | 11 +-
...estServlet20250618.java => McpRestServlet.java} | 9 +-
.../{Mcp20250618Revision.java => McpRevision.java} | 32 ++-
.../server/mcp/v20250618/McpTypedHandlers.java | 14 +-
.../{Mcp20250618Wire.java => McpWire.java} | 38 ++-
.../rest/server/mcp/v20250618/package-info.java | 4 +-
.../mcp/v20250618/Characterization_Test.java | 10 +-
.../mcp/v20250618/McpCapabilityHook_Test.java | 8 +-
...20250618_Test.java => McpRestServlet_Test.java} | 10 +-
...618Revision_Test.java => McpRevision_Test.java} | 40 +--
.../server/mcp/v20250618/McpSchemaCheck_Test.java | 16 +-
.../mcp/v20250618/McpTypedHandlers_Test.java | 6 +-
.../juneau-rest-server-mcp-2026-07-28/pom.xml | 131 +++++++++
.../rest/server/mcp/v20260728/McpEndpoint.java} | 29 +-
.../McpNotificationResponseProcessor.java | 59 ++++
.../rest/server/mcp/v20260728/McpRestServlet.java | 87 ++++++
.../rest/server/mcp/v20260728/McpRevision.java} | 236 +++++++--------
.../rest/server/mcp/v20260728/McpSchemaSafety.java | 151 ++++++++++
.../juneau/rest/server/mcp/v20260728/McpWire.java | 212 ++++++++++++++
.../rest/server/mcp/v20260728}/package-info.java | 12 +-
.../mcp/v20260728}/Characterization_Test.java | 155 ++++++----
.../server/mcp/v20260728/McpBindings_Test.java | 165 +++++++++++
.../mcp/v20260728/McpPromptResource_Test.java | 206 ++++++++++++++
.../mcp/v20260728/McpRevisionValidation_Test.java | 315 +++++++++++++++++++++
.../server/mcp/v20260728/McpSchemaSafety_Test.java | 200 +++++++++++++
.../rest/server/mcp/v20260728/McpTools_Test.java | 214 ++++++++++++++
.../rest/server/mcp/v20260728/McpWire_Test.java | 202 +++++++++++++
.../EMPTY-initialize-is-unknown.headers.properties | 17 ++
.../EMPTY-initialize-is-unknown.request.json | 1 +
.../EMPTY-initialize-is-unknown.response.json | 1 +
.../EMPTY-notification-ping.headers.properties | 17 ++
.../EMPTY-notification-ping.request.json | 1 +
.../EMPTY-notification-ping.response.json | 0
.../characterization/EMPTY-ping.headers.properties | 17 ++
.../characterization/EMPTY-ping.request.json | 1 +
.../characterization/EMPTY-ping.response.json | 0
.../EMPTY-server-discover.headers.properties | 17 ++
.../EMPTY-server-discover.request.json | 1 +
.../EMPTY-server-discover.response.json | 1 +
.../ERROR-handler-failure.headers.properties | 17 ++
.../ERROR-handler-failure.request.json | 1 +
.../ERROR-handler-failure.response.json | 1 +
.../ERROR-invalid-params.headers.properties | 17 ++
.../ERROR-invalid-params.request.json | 1 +
.../ERROR-invalid-params.response.json} | 0
.../ERROR-missing-prompt.headers.properties | 17 ++
.../ERROR-missing-prompt.request.json | 1 +
.../ERROR-missing-prompt.response.json | 1 +
.../ERROR-missing-resource.headers.properties | 17 ++
.../ERROR-missing-resource.request.json | 1 +
.../ERROR-missing-resource.response.json | 1 +
.../ERROR-missing-tool.headers.properties | 17 ++
.../ERROR-missing-tool.request.json | 1 +
.../ERROR-missing-tool.response.json | 1 +
.../ERROR-unknown-method.headers.properties | 17 ++
.../ERROR-unknown-method.request.json | 1 +
.../ERROR-unknown-method.response.json} | 0
.../FULL-prompts-get.headers.properties | 17 ++
.../characterization/FULL-prompts-get.request.json | 1 +
.../FULL-prompts-get.response.json | 0
.../FULL-prompts-list.headers.properties | 17 ++
.../FULL-prompts-list.request.json | 1 +
.../FULL-prompts-list.response.json | 0
.../FULL-resources-list.headers.properties | 17 ++
.../FULL-resources-list.request.json | 1 +
.../FULL-resources-list.response.json | 0
.../FULL-resources-read.headers.properties | 17 ++
.../FULL-resources-read.request.json | 1 +
.../FULL-resources-read.response.json | 0
.../FULL-tools-call.headers.properties | 17 ++
.../characterization/FULL-tools-call.request.json | 1 +
.../FULL-tools-call.response.json} | 0
.../FULL-tools-list.headers.properties | 17 ++
.../characterization/FULL-tools-list.request.json | 1 +
.../characterization/FULL-tools-list.response.json | 1 +
.../HEADER-method-mismatch.headers.properties | 17 ++
.../HEADER-method-mismatch.request.json | 1 +
.../HEADER-method-mismatch.response.json | 1 +
.../HEADER-missing-method.headers.properties | 16 ++
.../HEADER-missing-method.request.json | 1 +
.../HEADER-missing-method.response.json | 1 +
.../HEADER-missing-name.headers.properties | 16 ++
.../HEADER-missing-name.request.json | 1 +
.../HEADER-missing-name.response.json | 1 +
.../HEADER-name-mismatch.headers.properties | 17 ++
.../HEADER-name-mismatch.request.json | 1 +
.../HEADER-name-mismatch.response.json | 1 +
.../HEADER-valid-named.headers.properties | 17 ++
.../HEADER-valid-named.request.json | 1 +
.../HEADER-valid-named.response.json | 1 +
.../HEADER-valid-nameless.headers.properties | 17 ++
.../HEADER-valid-nameless.request.json | 1 +
.../HEADER-valid-nameless.response.json} | 0
.../characterization/META-array.headers.properties | 17 ++
.../characterization/META-array.request.json | 1 +
.../characterization/META-array.response.json | 1 +
.../META-capabilities-scalar.headers.properties | 17 ++
.../META-capabilities-scalar.request.json | 1 +
.../META-capabilities-scalar.response.json | 1 +
.../META-missing-capabilities.headers.properties | 17 ++
.../META-missing-capabilities.request.json | 1 +
.../META-missing-capabilities.response.json | 1 +
.../META-missing-client-info.headers.properties | 17 ++
.../META-missing-client-info.request.json | 1 +
.../META-missing-client-info.response.json | 1 +
.../META-missing-protocol.headers.properties | 17 ++
.../META-missing-protocol.request.json | 1 +
.../META-missing-protocol.response.json | 1 +
.../META-missing.headers.properties | 17 ++
.../characterization/META-missing.request.json | 1 +
.../characterization/META-missing.response.json | 1 +
.../META-unsupported-protocol.headers.properties | 17 ++
.../META-unsupported-protocol.request.json | 1 +
.../META-unsupported-protocol.response.json | 1 +
.../SCHEMA-draft-2020-12.headers.properties | 17 ++
.../SCHEMA-draft-2020-12.request.json | 1 +
.../SCHEMA-draft-2020-12.response.json | 1 +
.../STATELESS-repeat.headers.properties | 17 ++
.../characterization/STATELESS-repeat.request.json | 1 +
.../STATELESS-repeat.response.json | 1 +
.../STRUCTURED-array.headers.properties | 17 ++
.../characterization/STRUCTURED-array.request.json | 1 +
.../STRUCTURED-array.response.json | 1 +
.../STRUCTURED-boolean.headers.properties | 17 ++
.../STRUCTURED-boolean.request.json | 1 +
.../STRUCTURED-boolean.response.json | 1 +
.../STRUCTURED-null.headers.properties | 17 ++
.../characterization/STRUCTURED-null.request.json | 1 +
.../characterization/STRUCTURED-null.response.json | 1 +
.../STRUCTURED-object.headers.properties | 17 ++
.../STRUCTURED-object.request.json | 1 +
.../STRUCTURED-object.response.json | 1 +
.../STRUCTURED-string.headers.properties | 17 ++
.../STRUCTURED-string.request.json | 1 +
.../STRUCTURED-string.response.json | 1 +
.../apache/juneau/rest/server/mcp/McpEndpoint.java | 4 +-
.../juneau/rest/server/mcp/McpRestServlet.java | 4 +-
.../rest/server/mcp/FakeMcpRevision_Test.java | 2 +-
juneau-rest/pom.xml | 1 +
juneau-shaded/juneau-shaded-all/pom.xml | 10 +
perf-baseline.txt | 2 +
scripts/check-bom-completeness.py | 2 +
301 files changed, 7007 insertions(+), 507 deletions(-)
create mode 100644 juneau-bean/juneau-bean-mcp-2026-07-28/pom.xml
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/BlobResourceContents.java
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/CallToolRequest.java
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/CallToolResult.java
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/ClientCapabilities.java
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/Content.java
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/EmbeddedResourceContent.java
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/GetPromptRequest.java
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/GetPromptResult.java
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/ImageContent.java
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/Implementation.java
copy
juneau-bean/{juneau-bean-jsonrpc/src/main/java/org/apache/juneau/bean/jsonrpc/JsonRpcRequest.java
=>
juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/ListPromptsResult.java}
(50%)
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/ListResourcesResult.java
copy
juneau-bean/{juneau-bean-jsonrpc/src/main/java/org/apache/juneau/bean/jsonrpc/JsonRpcRequest.java
=>
juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/ListToolsResult.java}
(50%)
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/LoggingCapability.java
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/McpMethods.java
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/McpProtocol.java
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/Prompt.java
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/PromptArgument.java
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/PromptCapability.java
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/PromptMessage.java
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/ReadResourceRequest.java
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/ReadResourceResult.java
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/RequestMeta.java
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/Resource.java
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/ResourceCapability.java
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/ResourceContents.java
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/Role.java
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/RootsCapability.java
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/ServerCapabilities.java
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/ServerDiscoverResult.java
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/TextContent.java
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/TextResourceContents.java
copy
juneau-bean/{juneau-bean-jsonrpc/src/main/java/org/apache/juneau/bean/jsonrpc/JsonRpcRequest.java
=>
juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/Tool.java}
(53%)
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728/ToolCapability.java
copy
{juneau-rest/juneau-rest-server-mcp-2025-06-18/src/main/java/org/apache/juneau/rest/server/mcp/v20250618
=>
juneau-bean/juneau-bean-mcp-2026-07-28/src/main/java/org/apache/juneau/bean/mcp/v20260728}/package-info.java
(54%)
copy juneau-bean/{juneau-bean-jsonrpc =>
juneau-bean-mcp-2026-07-28}/src/test/java/org/apache/juneau/TestUtils.java
(100%)
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/test/java/org/apache/juneau/bean/mcp/v20260728/JsonSchemaSafety_Test.java
create mode 100644
juneau-bean/juneau-bean-mcp-2026-07-28/src/test/java/org/apache/juneau/bean/mcp/v20260728/McpV2Beans_Test.java
rename
juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/mcp/v20250618/{McpRestServlet20250618_Test.java
=> McpRestServlet_Test.java} (95%)
rename
juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/mcp/v20250618/{Mcp20250618Revision_Test.java
=> McpRevision_Test.java} (88%)
copy
{juneau-rest/juneau-rest-server-mcp-2025-06-18/src/test/java/org/apache/juneau/rest/server/mcp/v20250618
=>
juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/mcp/v20260728}/Characterization_Test.java
(52%)
create mode 100644
juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/mcp/v20260728/McpV2BeanIntegration_Test.java
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/EMPTY-initialize-is-unknown.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/EMPTY-initialize-is-unknown.request.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/EMPTY-initialize-is-unknown.response.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/EMPTY-notification-ping.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/EMPTY-notification-ping.request.json
copy juneau-core/juneau-marshall-rdf/src/main/resources/empty.txt =>
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/EMPTY-notification-ping.response.json
(100%)
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/EMPTY-ping.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/EMPTY-ping.request.json
copy {juneau-rest/juneau-rest-server-mcp-2025-06-18/src/test/resources =>
juneau-integration-tests/src/test/resources/mcp/v20260728}/characterization/EMPTY-ping.response.json
(100%)
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/EMPTY-server-discover.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/EMPTY-server-discover.request.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/EMPTY-server-discover.response.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/ERROR-handler-failure.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/ERROR-handler-failure.request.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/ERROR-handler-failure.response.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/ERROR-invalid-params.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/ERROR-invalid-params.request.json
copy
juneau-rest/juneau-rest-server-mcp-2025-06-18/src/test/resources/characterization/FULL-tools-call-params-not-map.response.json
=>
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/ERROR-invalid-params.response.json
(100%)
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/ERROR-missing-prompt.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/ERROR-missing-prompt.request.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/ERROR-missing-prompt.response.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/ERROR-missing-resource.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/ERROR-missing-resource.request.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/ERROR-missing-resource.response.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/ERROR-missing-tool.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/ERROR-missing-tool.request.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/ERROR-missing-tool.response.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/ERROR-unknown-method.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/ERROR-unknown-method.request.json
copy
juneau-rest/juneau-rest-server-mcp-2025-06-18/src/test/resources/characterization/EMPTY-unknown-method.response.json
=>
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/ERROR-unknown-method.response.json
(100%)
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/FULL-prompts-get.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/FULL-prompts-get.request.json
copy {juneau-rest/juneau-rest-server-mcp-2025-06-18/src/test/resources =>
juneau-integration-tests/src/test/resources/mcp/v20260728}/characterization/FULL-prompts-get.response.json
(100%)
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/FULL-prompts-list.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/FULL-prompts-list.request.json
copy {juneau-rest/juneau-rest-server-mcp-2025-06-18/src/test/resources =>
juneau-integration-tests/src/test/resources/mcp/v20260728}/characterization/FULL-prompts-list.response.json
(100%)
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/FULL-resources-list.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/FULL-resources-list.request.json
copy {juneau-rest/juneau-rest-server-mcp-2025-06-18/src/test/resources =>
juneau-integration-tests/src/test/resources/mcp/v20260728}/characterization/FULL-resources-list.response.json
(100%)
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/FULL-resources-read.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/FULL-resources-read.request.json
copy {juneau-rest/juneau-rest-server-mcp-2025-06-18/src/test/resources =>
juneau-integration-tests/src/test/resources/mcp/v20260728}/characterization/FULL-resources-read.response.json
(100%)
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/FULL-tools-call.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/FULL-tools-call.request.json
copy
juneau-rest/juneau-rest-server-mcp-2025-06-18/src/test/resources/characterization/FULL-tools-call-text.response.json
=>
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/FULL-tools-call.response.json
(100%)
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/FULL-tools-list.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/FULL-tools-list.request.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/FULL-tools-list.response.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/HEADER-method-mismatch.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/HEADER-method-mismatch.request.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/HEADER-method-mismatch.response.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/HEADER-missing-method.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/HEADER-missing-method.request.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/HEADER-missing-method.response.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/HEADER-missing-name.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/HEADER-missing-name.request.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/HEADER-missing-name.response.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/HEADER-name-mismatch.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/HEADER-name-mismatch.request.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/HEADER-name-mismatch.response.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/HEADER-valid-named.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/HEADER-valid-named.request.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/HEADER-valid-named.response.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/HEADER-valid-nameless.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/HEADER-valid-nameless.request.json
copy
juneau-rest/juneau-rest-server-mcp-2025-06-18/src/test/resources/characterization/EMPTY-ping.response.json
=>
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/HEADER-valid-nameless.response.json
(100%)
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/META-array.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/META-array.request.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/META-array.response.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/META-capabilities-scalar.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/META-capabilities-scalar.request.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/META-capabilities-scalar.response.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/META-missing-capabilities.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/META-missing-capabilities.request.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/META-missing-capabilities.response.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/META-missing-client-info.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/META-missing-client-info.request.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/META-missing-client-info.response.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/META-missing-protocol.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/META-missing-protocol.request.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/META-missing-protocol.response.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/META-missing.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/META-missing.request.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/META-missing.response.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/META-unsupported-protocol.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/META-unsupported-protocol.request.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/META-unsupported-protocol.response.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/SCHEMA-draft-2020-12.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/SCHEMA-draft-2020-12.request.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/SCHEMA-draft-2020-12.response.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/STATELESS-repeat.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/STATELESS-repeat.request.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/STATELESS-repeat.response.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/STRUCTURED-array.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/STRUCTURED-array.request.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/STRUCTURED-array.response.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/STRUCTURED-boolean.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/STRUCTURED-boolean.request.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/STRUCTURED-boolean.response.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/STRUCTURED-null.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/STRUCTURED-null.request.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/STRUCTURED-null.response.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/STRUCTURED-object.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/STRUCTURED-object.request.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/STRUCTURED-object.response.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/STRUCTURED-string.headers.properties
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/STRUCTURED-string.request.json
create mode 100644
juneau-integration-tests/src/test/resources/mcp/v20260728/characterization/STRUCTURED-string.response.json
copy
juneau-rest/juneau-rest-server-mcp-2025-06-18/src/main/java/org/apache/juneau/rest/server/mcp/v20250618/{McpEndpoint20250618.java
=> McpEndpoint.java} (84%)
rename
juneau-rest/juneau-rest-server-mcp-2025-06-18/src/main/java/org/apache/juneau/rest/server/mcp/v20250618/{McpRestServlet20250618.java
=> McpRestServlet.java} (89%)
copy
juneau-rest/juneau-rest-server-mcp-2025-06-18/src/main/java/org/apache/juneau/rest/server/mcp/v20250618/{Mcp20250618Revision.java
=> McpRevision.java} (90%)
rename
juneau-rest/juneau-rest-server-mcp-2025-06-18/src/main/java/org/apache/juneau/rest/server/mcp/v20250618/{Mcp20250618Wire.java
=> McpWire.java} (79%)
rename
juneau-rest/juneau-rest-server-mcp-2025-06-18/src/test/java/org/apache/juneau/rest/server/mcp/v20250618/{McpRestServlet20250618_Test.java
=> McpRestServlet_Test.java} (95%)
rename
juneau-rest/juneau-rest-server-mcp-2025-06-18/src/test/java/org/apache/juneau/rest/server/mcp/v20250618/{Mcp20250618Revision_Test.java
=> McpRevision_Test.java} (88%)
create mode 100644 juneau-rest/juneau-rest-server-mcp-2026-07-28/pom.xml
rename
juneau-rest/{juneau-rest-server-mcp-2025-06-18/src/main/java/org/apache/juneau/rest/server/mcp/v20250618/McpEndpoint20250618.java
=>
juneau-rest-server-mcp-2026-07-28/src/main/java/org/apache/juneau/rest/server/mcp/v20260728/McpEndpoint.java}
(61%)
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/main/java/org/apache/juneau/rest/server/mcp/v20260728/McpNotificationResponseProcessor.java
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/main/java/org/apache/juneau/rest/server/mcp/v20260728/McpRestServlet.java
rename
juneau-rest/{juneau-rest-server-mcp-2025-06-18/src/main/java/org/apache/juneau/rest/server/mcp/v20250618/Mcp20250618Revision.java
=>
juneau-rest-server-mcp-2026-07-28/src/main/java/org/apache/juneau/rest/server/mcp/v20260728/McpRevision.java}
(50%)
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/main/java/org/apache/juneau/rest/server/mcp/v20260728/McpSchemaSafety.java
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/main/java/org/apache/juneau/rest/server/mcp/v20260728/McpWire.java
copy
juneau-rest/{juneau-rest-server-mcp-2025-06-18/src/main/java/org/apache/juneau/rest/server/mcp/v20250618
=>
juneau-rest-server-mcp-2026-07-28/src/main/java/org/apache/juneau/rest/server/mcp/v20260728}/package-info.java
(74%)
copy
juneau-rest/{juneau-rest-server-mcp-2025-06-18/src/test/java/org/apache/juneau/rest/server/mcp/v20250618
=>
juneau-rest-server-mcp-2026-07-28/src/test/java/org/apache/juneau/rest/server/mcp/v20260728}/Characterization_Test.java
(53%)
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/java/org/apache/juneau/rest/server/mcp/v20260728/McpBindings_Test.java
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/java/org/apache/juneau/rest/server/mcp/v20260728/McpPromptResource_Test.java
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/java/org/apache/juneau/rest/server/mcp/v20260728/McpRevisionValidation_Test.java
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/java/org/apache/juneau/rest/server/mcp/v20260728/McpSchemaSafety_Test.java
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/java/org/apache/juneau/rest/server/mcp/v20260728/McpTools_Test.java
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/java/org/apache/juneau/rest/server/mcp/v20260728/McpWire_Test.java
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/EMPTY-initialize-is-unknown.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/EMPTY-initialize-is-unknown.request.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/EMPTY-initialize-is-unknown.response.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/EMPTY-notification-ping.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/EMPTY-notification-ping.request.json
copy juneau-core/juneau-marshall-rdf/src/main/resources/empty.txt =>
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/EMPTY-notification-ping.response.json
(100%)
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/EMPTY-ping.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/EMPTY-ping.request.json
copy juneau-rest/{juneau-rest-server-mcp-2025-06-18 =>
juneau-rest-server-mcp-2026-07-28}/src/test/resources/characterization/EMPTY-ping.response.json
(100%)
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/EMPTY-server-discover.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/EMPTY-server-discover.request.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/EMPTY-server-discover.response.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/ERROR-handler-failure.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/ERROR-handler-failure.request.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/ERROR-handler-failure.response.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/ERROR-invalid-params.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/ERROR-invalid-params.request.json
copy
juneau-rest/{juneau-rest-server-mcp-2025-06-18/src/test/resources/characterization/FULL-tools-call-params-not-map.response.json
=>
juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/ERROR-invalid-params.response.json}
(100%)
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/ERROR-missing-prompt.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/ERROR-missing-prompt.request.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/ERROR-missing-prompt.response.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/ERROR-missing-resource.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/ERROR-missing-resource.request.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/ERROR-missing-resource.response.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/ERROR-missing-tool.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/ERROR-missing-tool.request.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/ERROR-missing-tool.response.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/ERROR-unknown-method.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/ERROR-unknown-method.request.json
copy
juneau-rest/{juneau-rest-server-mcp-2025-06-18/src/test/resources/characterization/EMPTY-unknown-method.response.json
=>
juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/ERROR-unknown-method.response.json}
(100%)
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/FULL-prompts-get.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/FULL-prompts-get.request.json
copy juneau-rest/{juneau-rest-server-mcp-2025-06-18 =>
juneau-rest-server-mcp-2026-07-28}/src/test/resources/characterization/FULL-prompts-get.response.json
(100%)
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/FULL-prompts-list.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/FULL-prompts-list.request.json
copy juneau-rest/{juneau-rest-server-mcp-2025-06-18 =>
juneau-rest-server-mcp-2026-07-28}/src/test/resources/characterization/FULL-prompts-list.response.json
(100%)
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/FULL-resources-list.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/FULL-resources-list.request.json
copy juneau-rest/{juneau-rest-server-mcp-2025-06-18 =>
juneau-rest-server-mcp-2026-07-28}/src/test/resources/characterization/FULL-resources-list.response.json
(100%)
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/FULL-resources-read.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/FULL-resources-read.request.json
copy juneau-rest/{juneau-rest-server-mcp-2025-06-18 =>
juneau-rest-server-mcp-2026-07-28}/src/test/resources/characterization/FULL-resources-read.response.json
(100%)
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/FULL-tools-call.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/FULL-tools-call.request.json
copy
juneau-rest/{juneau-rest-server-mcp-2025-06-18/src/test/resources/characterization/FULL-tools-call-text.response.json
=>
juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/FULL-tools-call.response.json}
(100%)
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/FULL-tools-list.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/FULL-tools-list.request.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/FULL-tools-list.response.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/HEADER-method-mismatch.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/HEADER-method-mismatch.request.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/HEADER-method-mismatch.response.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/HEADER-missing-method.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/HEADER-missing-method.request.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/HEADER-missing-method.response.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/HEADER-missing-name.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/HEADER-missing-name.request.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/HEADER-missing-name.response.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/HEADER-name-mismatch.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/HEADER-name-mismatch.request.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/HEADER-name-mismatch.response.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/HEADER-valid-named.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/HEADER-valid-named.request.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/HEADER-valid-named.response.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/HEADER-valid-nameless.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/HEADER-valid-nameless.request.json
copy
juneau-rest/{juneau-rest-server-mcp-2025-06-18/src/test/resources/characterization/EMPTY-ping.response.json
=>
juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/HEADER-valid-nameless.response.json}
(100%)
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/META-array.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/META-array.request.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/META-array.response.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/META-capabilities-scalar.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/META-capabilities-scalar.request.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/META-capabilities-scalar.response.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/META-missing-capabilities.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/META-missing-capabilities.request.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/META-missing-capabilities.response.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/META-missing-client-info.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/META-missing-client-info.request.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/META-missing-client-info.response.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/META-missing-protocol.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/META-missing-protocol.request.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/META-missing-protocol.response.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/META-missing.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/META-missing.request.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/META-missing.response.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/META-unsupported-protocol.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/META-unsupported-protocol.request.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/META-unsupported-protocol.response.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/SCHEMA-draft-2020-12.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/SCHEMA-draft-2020-12.request.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/SCHEMA-draft-2020-12.response.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/STATELESS-repeat.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/STATELESS-repeat.request.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/STATELESS-repeat.response.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/STRUCTURED-array.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/STRUCTURED-array.request.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/STRUCTURED-array.response.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/STRUCTURED-boolean.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/STRUCTURED-boolean.request.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/STRUCTURED-boolean.response.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/STRUCTURED-null.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/STRUCTURED-null.request.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/STRUCTURED-null.response.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/STRUCTURED-object.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/STRUCTURED-object.request.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/STRUCTURED-object.response.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/STRUCTURED-string.headers.properties
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/STRUCTURED-string.request.json
create mode 100644
juneau-rest/juneau-rest-server-mcp-2026-07-28/src/test/resources/characterization/STRUCTURED-string.response.json