Skip to content

Commit dc3e5cf

Browse files
Merge branch 'main' into main
2 parents 61dd99b + 46bacda commit dc3e5cf

File tree

126 files changed

+1734
-11257
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

126 files changed

+1734
-11257
lines changed

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
blank_issues_enabled: false
22
contact_links:
33
- name: Questions and Community Support
4-
url: https://stackoverflow.com/questions/tagged/spring-ai-mcp
5-
about: Please ask and answer questions on StackOverflow with the spring-ai tag
4+
url: https://stackoverflow.com/questions/tagged/mcp-java-sdk
5+
about: Please ask and answer questions on StackOverflow with the mcp-java-sdk tag

.github/dependabot.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: 'github-actions'
4+
directory: '/'
5+
schedule:
6+
interval: monthly
7+
- package-ecosystem: 'maven'
8+
directory: '/'
9+
schedule:
10+
interval: monthly
11+
open-pull-requests-limit: 10
12+
ignore:
13+
# Freeze production dependencies of mcp-core
14+
- dependency-name: 'org.slf4j:slf4j-api'
15+
- dependency-name: 'com.fasterxml.jackson.core:jackson-annotations'
16+
- dependency-name: 'tools.jackson.core:jackson-databind'
17+
- dependency-name: 'io.projectreactor:reactor-bom'
18+
- dependency-name: 'io.projectreactor:reactor-core'
19+
- dependency-name: 'jakarta.servlet:jakarta.servlet-api'
20+
# mcp-json-jackson2 and mcp-json-jackson3 dependencies
21+
- dependency-name: 'com.fasterxml.jackson.core:jackson-databind'
22+
- dependency-name: 'com.networknt:json-schema-validator'

.github/workflows/conformance.yml

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,48 @@ jobs:
5757
uses: modelcontextprotocol/conformance@v0.1.11
5858
with:
5959
mode: client
60-
command: 'java -jar conformance-tests/client-jdk-http-client/target/client-jdk-http-client-1.0.0-SNAPSHOT.jar'
60+
command: 'java -jar conformance-tests/client-jdk-http-client/target/client-jdk-http-client-*-SNAPSHOT.jar'
6161
scenario: ${{ matrix.scenario }}
6262
expected-failures: ./conformance-tests/conformance-baseline.yml
63+
64+
auth:
65+
name: Auth Conformance
66+
runs-on: ubuntu-latest
67+
strategy:
68+
matrix:
69+
scenario:
70+
- auth/metadata-default
71+
- auth/metadata-var1
72+
- auth/metadata-var2
73+
- auth/metadata-var3
74+
- auth/basic-cimd
75+
- auth/scope-from-www-authenticate
76+
- auth/scope-from-scopes-supported
77+
- auth/scope-omitted-when-undefined
78+
- auth/scope-step-up
79+
- auth/scope-retry-limit
80+
- auth/token-endpoint-auth-basic
81+
- auth/token-endpoint-auth-post
82+
- auth/token-endpoint-auth-none
83+
- auth/pre-registration
84+
steps:
85+
- uses: actions/checkout@v4
86+
87+
- name: Set up JDK 17
88+
uses: actions/setup-java@v4
89+
with:
90+
java-version: '17'
91+
distribution: 'temurin'
92+
cache: 'maven'
93+
94+
- name: Build client
95+
run: mvn clean install -DskipTests
96+
97+
- name: Run conformance test
98+
uses: modelcontextprotocol/conformance@v0.1.15
99+
with:
100+
node-version: '22' # see https://github.com/modelcontextprotocol/conformance/pull/162
101+
mode: client
102+
command: 'java -jar conformance-tests/client-spring-http-client/target/client-spring-http-client-*-SNAPSHOT.jar'
103+
scenario: ${{ matrix.scenario }}
104+
expected-failures: ./conformance-tests/conformance-baseline.yml

DEPENDENCY_POLICY.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Dependency Policy
2+
3+
As a library consumed by downstream projects, the MCP Java SDK takes a conservative approach to dependency updates. Dependencies are kept stable unless there is a specific reason to update, such as a security vulnerability, a bug fix, or a need for new functionality.
4+
5+
## Update Triggers
6+
7+
Dependencies are updated when:
8+
9+
- A **security vulnerability** is disclosed (via GitHub security alerts).
10+
- A bug in a dependency directly affects the SDK.
11+
- A new dependency feature is needed for SDK development.
12+
- A dependency drops support for a Java version the SDK still targets.
13+
14+
Routine version bumps without a clear motivation are avoided to minimize churn for downstream consumers.
15+
16+
## What We Don't Do
17+
18+
The SDK does not run scheduled version bumps for production Maven dependencies. Updating a dependency can force downstream consumers to adopt that update transitively, which can be disruptive for projects with strict dependency policies.
19+
20+
Dependencies are only updated when there is a concrete reason, not simply because a newer version is available.
21+
22+
## Automated Tooling
23+
24+
- **GitHub security updates** are enabled at the repository level and automatically open pull requests for Maven packages with known vulnerabilities. This is a GitHub repo setting, separate from the `dependabot.yml` configuration.
25+
- **GitHub Actions versions** are kept up to date via Dependabot on a monthly schedule (see `.github/dependabot.yml`).
26+
- **Maven dependencies** are monitored via Dependabot on a monthly schedule for non-production updates only (see `.github/dependabot.yml`).

0 commit comments

Comments
 (0)