Skip to content

Commit e6afd98

Browse files
committed
Merge origin/main into feat/dynamic-tool-management
2 parents ff96947 + 46bacda commit e6afd98

File tree

229 files changed

+8999
-14735
lines changed

Some content is hidden

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

229 files changed

+8999
-14735
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: Bug report
33
about: Create a bug report to help us improve the project
44
title: ''
5-
labels: 'type: bug, status: waiting-for-triage'
5+
labels: status/waiting for triage
66
assignees: ''
77

88
---

.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/ISSUE_TEMPLATE/feature_request.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: Feature request
33
about: Suggest an idea for this project
44
title: ''
5-
labels: 'status: waiting-for-triage, type: feature'
5+
labels: status/waiting for triage
66
assignees: ''
77

88
---

.github/ISSUE_TEMPLATE/miscellaneous.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: Miscellaneous
33
about: Suggest an improvement for this project
44
title: ''
5-
labels: 'status: waiting-for-triage'
5+
labels: status/waiting for triage
66
assignees: ''
77

88
---

.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/ci.yml

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on:
55

66
jobs:
77
build:
8-
name: Build branch
8+
name: Build and Test
99
runs-on: ubuntu-latest
1010
steps:
1111
- name: Checkout source code
@@ -20,3 +20,20 @@ jobs:
2020

2121
- name: Build
2222
run: mvn verify
23+
24+
jackson2-tests:
25+
name: Jackson 2 Integration Tests
26+
runs-on: ubuntu-latest
27+
steps:
28+
- name: Checkout source code
29+
uses: actions/checkout@v4
30+
31+
- name: Set up JDK 17
32+
uses: actions/setup-java@v4
33+
with:
34+
java-version: '17'
35+
distribution: 'temurin'
36+
cache: 'maven'
37+
38+
- name: Jackson 2 Integration Tests
39+
run: mvn -pl mcp-test -am -Pjackson2 test

.github/workflows/conformance.yml

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
name: Conformance Tests
2+
3+
on:
4+
pull_request: {}
5+
push:
6+
branches: [main]
7+
workflow_dispatch:
8+
9+
jobs:
10+
server:
11+
name: Server Conformance
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v4
15+
16+
- name: Set up JDK 17
17+
uses: actions/setup-java@v4
18+
with:
19+
java-version: '17'
20+
distribution: 'temurin'
21+
cache: 'maven'
22+
23+
- name: Build and start server
24+
run: |
25+
mvn clean install -DskipTests
26+
mvn exec:java -pl conformance-tests/server-servlet -Dexec.mainClass="io.modelcontextprotocol.conformance.server.ConformanceServlet" &
27+
timeout 30 bash -c 'until curl -s http://localhost:8080/mcp > /dev/null 2>&1; do sleep 0.5; done'
28+
29+
- name: Run conformance tests
30+
uses: modelcontextprotocol/conformance@v0.1.11
31+
with:
32+
mode: server
33+
url: http://localhost:8080/mcp
34+
suite: active
35+
expected-failures: ./conformance-tests/conformance-baseline.yml
36+
37+
client:
38+
name: Client Conformance
39+
runs-on: ubuntu-latest
40+
strategy:
41+
matrix:
42+
scenario: [initialize, tools_call, elicitation-sep1034-client-defaults, sse-retry]
43+
steps:
44+
- uses: actions/checkout@v4
45+
46+
- name: Set up JDK 17
47+
uses: actions/setup-java@v4
48+
with:
49+
java-version: '17'
50+
distribution: 'temurin'
51+
cache: 'maven'
52+
53+
- name: Build client
54+
run: mvn clean install -DskipTests
55+
56+
- name: Run conformance test
57+
uses: modelcontextprotocol/conformance@v0.1.11
58+
with:
59+
mode: client
60+
command: 'java -jar conformance-tests/client-jdk-http-client/target/client-jdk-http-client-*-SNAPSHOT.jar'
61+
scenario: ${{ matrix.scenario }}
62+
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

.github/workflows/docs.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Deploy Documentation
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- 'docs/**'
9+
- 'mkdocs.yml'
10+
release:
11+
types:
12+
- published
13+
workflow_dispatch:
14+
15+
permissions:
16+
contents: write
17+
18+
jobs:
19+
deploy:
20+
runs-on: ubuntu-latest
21+
steps:
22+
- uses: actions/checkout@v4
23+
with:
24+
fetch-depth: 0
25+
26+
- uses: actions/setup-python@v5
27+
with:
28+
python-version: 3.x
29+
30+
- run: pip install mkdocs-material mike
31+
32+
- name: Configure git user
33+
run: |
34+
git config user.name "github-actions[bot]"
35+
git config user.email "github-actions[bot]@users.noreply.github.com"
36+
37+
- name: Deploy docs (push to main)
38+
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
39+
run: |
40+
PROJECT_VERSION=$(mvn help:evaluate -Dexpression=project.version --quiet -DforceStdout)
41+
if [[ "${PROJECT_VERSION}" == *-SNAPSHOT ]]; then
42+
ALIAS="latest-snapshot"
43+
else
44+
ALIAS="latest"
45+
fi
46+
mike deploy --push --update-aliases "${PROJECT_VERSION}" "${ALIAS}"
47+
mike set-default latest --push
48+
49+
- name: Deploy versioned docs (release)
50+
if: github.event_name == 'release'
51+
run: |
52+
VERSION=${GITHUB_REF_NAME}
53+
mike deploy --push --update-aliases "${VERSION}" latest
54+
mike set-default latest --push

.github/workflows/maven-central-release.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,10 @@ jobs:
2525
uses: actions/setup-node@v4
2626
with:
2727
node-version: '20'
28-
28+
29+
- name: Jackson 2 Integration Tests
30+
run: mvn -pl mcp-test -am -Pjackson2 test
31+
2932
- name: Build and Test
3033
run: mvn clean verify
3134

.github/workflows/publish-snapshot.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ jobs:
3232
- name: Generate Java docs
3333
run: mvn -Pjavadoc -B javadoc:aggregate
3434

35+
- name: Jackson 2 Integration Tests
36+
run: mvn -pl mcp-test -am -Pjackson2 test
37+
3538
- name: Build with Maven and deploy to Sonatype snapshot repository
3639
env:
3740
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}

0 commit comments

Comments
 (0)