Commit graph

596 commits

Author SHA1 Message Date
Dariusz Jędrzejczyk
7f68ea5bc0
Support resource subscriptions (#839)
Clients can now subscribe to specific resources and receive targeted
notifications when those resources change. Previously, calling
`notifyResourceUpdated` on the server would broadcast the notification
to every connected client regardless of interest — now only sessions
that have explicitly subscribed to a given resource URI receive the
update, making resource change propagation both correct and efficient.
The subscription lifecycle is fully handled: clients can subscribe and
unsubscribe at any time, and the server cleans up subscription state
when a session closes.

Supersedes #838.
Resolves #837, #776.

---------

Signed-off-by: Dariusz Jędrzejczyk <dariusz.jedrzejczyk@broadcom.com>
2026-03-02 15:26:03 +01:00
Daniel Garnier-Moiroux
ce2c747c92 Bump spring-javaformat 0.0.43 -> 0.0.47
Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-03-02 12:00:08 +01:00
Daniel Garnier-Moiroux
d4c4a2517f Fix instructions for running conformance tests
- The server-servlet app depends on mcp, which must be either installed
  or included in the compile artifact for `mvn exec:java` to pick it up.
- Change the build instructions to build from root, use a `-pl` flag to
  target the servlet app.
- Disable the exec plugin from the root pom.

Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-03-02 11:56:39 +01:00
Daniel Garnier-Moiroux
81a18ed02e Client Auth Conformance Tests - change parent POM (#827)
- Small javaformat fixes
- Closes gh-827

Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-03-02 11:33:09 +01:00
Dariusz Jędrzejczyk
46bacda3c3
Add migration notes for 0.18.1 to 1.0.0 update (#828)
Signed-off-by: Dariusz Jędrzejczyk <dariusz.jedrzejczyk@broadcom.com>
2026-02-23 14:21:04 +01:00
Dariusz Jędrzejczyk
863e748e5f
Use dynamic jar discovery for conformance tests (#832)
Signed-off-by: Dariusz Jędrzejczyk <dariusz.jedrzejczyk@broadcom.com>
2026-02-23 11:52:14 +01:00
Christian Tzolov
d689cddd8b Next development version
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-23 10:32:26 +01:00
Christian Tzolov
27c859cfc7 Update the quickstart bom versionto 1.0.0
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-22 17:12:40 +01:00
Christian Tzolov
29dc2509ce Excplude the conformance projects from maven deploy
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-20 22:31:01 +01:00
Christian Tzolov
7e08a8e63f Next development version
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-20 22:04:21 +01:00
Christian Tzolov
479e52e6d5 Release version 1.0.0-RC3
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-20 22:03:40 +01:00
Dariusz Jędrzejczyk
bdb373c4e3
Change StackOverflow link and tag for support (#824)
Updated contact link for community support to reflect new tag.

Resolves #553
2026-02-20 22:01:10 +01:00
Christian Tzolov
acb7e4d2a0 Next development version
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-20 21:41:35 +01:00
Christian Tzolov
11b597cd77 Release version 1.0.0-RC2
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-20 21:37:56 +01:00
Christian Tzolov
6b2b31c48f chore: exclude internal modules from Maven Central publishing
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-20 21:35:44 +01:00
Dariusz Jędrzejczyk
72f9da91a2
Add governance documentation for SEP-1730 (#808)
Add governance documentation required for SEP-1730 tier compliance:

- DEPENDENCY_POLICY.md: Conservative update policy for Maven dependencies
- VERSIONING.md: SemVer policy with breaking/non-breaking definitions
- ROADMAP.md: 2025-11-25 spec implementation focus and v1.x development
- .github/dependabot.yml: Monthly updates with frozen production dependencies

This mirrors the TypeScript SDK PR structure while being adapted for the Java context.

Signed-off-by: Dariusz Jędrzejczyk <dariusz.jedrzejczyk@broadcom.com>
2026-02-20 18:11:26 +01:00
Daniel Garnier-Moiroux
5b99cd600e
Conformance testing: add app to test auth suite (#806)
Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-02-20 17:53:57 +01:00
Dariusz Jędrzejczyk
4c1c3d8d5c
Remove deprecated APIs and modules for 1.0.0 release (#807)
- Remove mcp-json-jackson module (JacksonMcpJsonMapper, DefaultJsonSchemaValidator)
- Remove deprecated session interfaces (McpServerSession, McpClientSession methods)
- Remove deprecated server methods (loggingNotification, McpAsyncServerExchange constructor)
- Remove deprecated schema definitions and constructors (McpSchema, McpError, tool/content classes)
- Replace generic McpError with appropriate exception types (IllegalStateException, IllegalArgumentException)
- Update all tests to use current APIs

---------

Signed-off-by: Dariusz Jędrzejczyk <dariusz.jedrzejczyk@broadcom.com>
2026-02-20 17:32:40 +01:00
Christian Tzolov
77bc64abb8
Move mcp-spring-webflux and mcp-spring-webmvc to Spring AI 2.0 (#805)
The Spring-specific transport modules (mcp-spring-webflux,
mcp-spring-webmvc) have been moved out of the MCP Java SDK into the
Spring AI project (org.springframework.ai group), effective with
MCP Java SDK 1.0 and Spring AI 2.0. This is a breaking change.

- Delete mcp-spring-webflux and mcp-spring-webmvc source modules
- Remove both artifacts from mcp-bom and root pom.xml module list
- Update docs and README
- Add blog post explaining the breaking change with before/after
  migration examples

Resolves: #127

Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-20 15:39:36 +01:00
Christian Tzolov
86cde46e6d Fix code formatting
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-20 13:25:31 +01:00
Den Delimarsky
28596693e3 Update SECURITY.md to use GitHub Security Advisories 2026-02-20 11:27:32 +01:00
Christian Tzolov
90ad2be8f4 Make AbstractMcpAsyncClientResiliencyTests#host access public
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-20 08:42:58 +01:00
Scott Lewis
159eb964cc Fix and simplification for osgi manifest.mf
contents generation.
2026-02-18 17:18:11 +01:00
Daniel Garnier-Moiroux
77f59ad89b Stdio integration tests: increase initialize timeout to 25s
The initialize timeout was too short to be able to download the server
with NPX. As stated in the javadoc of `StdioMcpSyncClientTests`:

> These tests use npx to download and run the MCP "everything" server
> locally. The first test execution will download the everything server
> scripts and cache them locally, which can take more than 15 seconds.
> Subsequent test runs will use the cached version and execute faster.

Since the download happens on calling "connect", it is triggered during
the initialization of the client.

Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-02-18 16:39:19 +01:00
Christian Tzolov
4adc81d11e Improve reference docs version alias handling
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-18 12:51:58 +01:00
Christian Tzolov
3ab829285d Bump version from 0.18.0-SNAPSHOT to 1.0.0-SNAPSHOT
Update project version across all POM files, documentation, and CI
workflow to prepare for the 1.0.x release

Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-18 12:45:20 +01:00
Dariusz Jędrzejczyk
7dd609c9b6
Update issue templates 2026-02-17 10:04:07 +01:00
Christian Tzolov
a1199b1c4d docs: hide alias name from drop down
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-16 14:22:24 +01:00
Christian Tzolov
5ebe61617b Another round of improving mkdocs docs
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-16 14:20:13 +01:00
Christian Tzolov
42887a8189 docs version management improvements
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-16 13:48:09 +01:00
Christian Tzolov
af25e2507e Fix README doc links
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-16 13:37:23 +01:00
Christian Tzolov
3a3936609f docs set default versions
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-16 13:31:22 +01:00
Christian Tzolov
a5d3cfbe8a Add docs version support
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-16 12:50:28 +01:00
Christian Tzolov
d7590f06d9 change theme
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-16 10:26:49 +01:00
Christian Tzolov
c62972cc5c Add blog section to the docs
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-15 21:48:38 +01:00
Christian Tzolov
adc492f079 Fix broken doc links
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-15 19:22:41 +01:00
Christian Tzolov
d26d4030ff Update README links
Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-15 19:18:58 +01:00
Christian Tzolov
a1048b9342
Add embedded MkDocs documentation site (#795)
Copy and convert existing MCP documentation into an embedded docs site
using MkDocs with Material theme. Includes client and server guides,
quickstart, development/contributing docs, architecture diagrams, and a
GitHub Actions workflow for publishing to GitHub Pages.

---------

Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
2026-02-15 19:00:21 +01:00
Sébastien Deleuze
e60a0743a5
Refine McpJsonDefaults method names (#789)
As a follow-up of #779, this commit refines McpJsonDefaults
method names by shortening them to not repeat the qualifiers
already expressed at type level.
2026-02-13 16:54:01 +01:00
Daniel Garnier-Moiroux
8549e36dfc Conformance testing: host validation
Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-02-12 11:00:42 +01:00
Daniel Garnier-Moiroux
f6c3fde7f4 DNS rebinding protection: check host header
Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-02-12 11:00:42 +01:00
Daniel Garnier-Moiroux
b57b1269d0 Polish gh-771
Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-02-12 10:46:09 +01:00
Daniel Garnier-Moiroux
82102a18f5 Remove unused abstract test classes in mcp-core
Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-02-12 10:44:03 +01:00
Daniel Garnier-Moiroux
5e186a92f6 README: update module structure & key decisions with mcp-json removal
Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-02-12 09:13:38 +01:00
Daniel Garnier-Moiroux
38c0f3bef5 Run integration tests with Jackson 2 in CI
Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-02-12 09:13:38 +01:00
Daniel Garnier-Moiroux
6f3906480d Move mcp-core integration tests to mcp-test package
- The integration tests pass with both Jackson 2 and Jackson 3.
- Modified McpSchemaTests.testContentDeserializationWrongType to work
  with both Jackson 2 and Jackson 3.

Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-02-12 09:13:38 +01:00
Scott Lewis
c3b9ab09ea Move mcp-json into mcp-core, add OSGi support
Co-authored-by: Luca Chang <131398524+LucaButBoring@users.noreply.github.com>
Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-02-12 09:13:38 +01:00
Daniel Garnier-Moiroux
be5ec12e1b Polish gh-764
Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-02-10 11:29:26 +01:00
ashakirin
09a853f555
Add tool name validation SEP-986 (#764)
* feat: added tools name format validation accordingly #SEP-986

Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
2026-02-10 10:52:58 +01:00
Luca Chang
ef8399c1cb
feat: broadcast 2025-11-25 as latest supported client version (#758)
* feat: broadcast 2025-11-25 as latest supported client version
* fix: ignore empty SSE events
2026-02-06 10:55:37 +01:00