Skip to content

Commit f47aced

Browse files
authored
Merge branch 'main' into add-url-elicitation
2 parents abf1f13 + 10f4297 commit f47aced

32 files changed

Lines changed: 2038 additions & 989 deletions

.github/workflows/claude.yml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,18 @@ jobs:
1414
claude:
1515
if: |
1616
(
17-
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
18-
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
19-
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
20-
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
17+
(github.event_name == 'issue_comment' &&
18+
contains(github.event.comment.body, '@claude') &&
19+
contains(fromJSON('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association)) ||
20+
(github.event_name == 'pull_request_review_comment' &&
21+
contains(github.event.comment.body, '@claude') &&
22+
contains(fromJSON('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association)) ||
23+
(github.event_name == 'pull_request_review' &&
24+
contains(github.event.review.body, '@claude') &&
25+
contains(fromJSON('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.review.author_association)) ||
26+
(github.event_name == 'issues' &&
27+
(contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')) &&
28+
contains(fromJSON('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.issue.author_association))
2129
)
2230
runs-on: ubuntu-latest
2331
permissions:

.github/workflows/e2e_tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ jobs:
5151
run: npm run test:e2e
5252

5353
- name: Upload Playwright Report and Screenshots
54-
uses: actions/upload-artifact@v6
54+
uses: actions/upload-artifact@v7
5555
if: steps.playwright-tests.conclusion != 'skipped'
5656
with:
5757
name: playwright-report

.github/workflows/main.yml

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,13 @@ jobs:
6161
# - run: npm ci
6262
- run: npm install --no-package-lock
6363

64-
# TODO: Add --provenance once the repo is public
64+
# OIDC trusted publishing requires npm >=11.5.1; Node 22's bundled npm is 10.x.
65+
- name: Ensure npm CLI supports OIDC trusted publishing
66+
run: npm install -g npm@^11.5.1
67+
6568
- run: npm run publish-all
6669
env:
67-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
70+
NPM_CONFIG_PROVENANCE: "true"
6871

6972
publish-github-container-registry:
7073
runs-on: ubuntu-latest
@@ -80,23 +83,23 @@ jobs:
8083
- uses: actions/checkout@v6
8184

8285
- name: Log in to the Container registry
83-
uses: docker/login-action@v3
86+
uses: docker/login-action@v4
8487
with:
8588
registry: ghcr.io
8689
username: ${{ github.actor }}
8790
password: ${{ secrets.GITHUB_TOKEN }}
8891

8992
- name: Extract metadata (tags, labels) for Docker
9093
id: meta
91-
uses: docker/metadata-action@v5
94+
uses: docker/metadata-action@v6
9295
with:
9396
images: ghcr.io/${{ github.repository }}
9497

9598
- name: Set up QEMU
9699
uses: docker/setup-qemu-action@v3
97100

98101
- name: Set up Docker Buildx
99-
uses: docker/setup-buildx-action@v3
102+
uses: docker/setup-buildx-action@v4
100103

101104
- name: Build and push Docker image
102105
id: push
@@ -109,7 +112,7 @@ jobs:
109112
labels: ${{ steps.meta.outputs.labels }}
110113

111114
- name: Generate artifact attestation
112-
uses: actions/attest-build-provenance@v3
115+
uses: actions/attest-build-provenance@v4
113116
with:
114117
subject-name: ghcr.io/${{ github.repository }}
115118
subject-digest: ${{ steps.push.outputs.digest }}

cli/package.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
{
22
"name": "@modelcontextprotocol/inspector-cli",
3-
"version": "0.20.0",
3+
"version": "0.21.2",
44
"description": "CLI for the Model Context Protocol inspector",
55
"license": "SEE LICENSE IN LICENSE",
66
"author": "Model Context Protocol a Series of LF Projects, LLC.",
77
"homepage": "https://modelcontextprotocol.io",
88
"bugs": "https://github.com/modelcontextprotocol/inspector/issues",
9+
"repository": {
10+
"type": "git",
11+
"url": "https://github.com/modelcontextprotocol/inspector",
12+
"directory": "cli"
13+
},
914
"main": "build/cli.js",
1015
"type": "module",
1116
"bin": {

client/package.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
{
22
"name": "@modelcontextprotocol/inspector-client",
3-
"version": "0.20.0",
3+
"version": "0.21.2",
44
"description": "Client-side application for the Model Context Protocol inspector",
55
"license": "SEE LICENSE IN LICENSE",
66
"author": "Model Context Protocol a Series of LF Projects, LLC.",
77
"homepage": "https://modelcontextprotocol.io",
88
"bugs": "https://github.com/modelcontextprotocol/inspector/issues",
9+
"repository": {
10+
"type": "git",
11+
"url": "https://github.com/modelcontextprotocol/inspector",
12+
"directory": "client"
13+
},
914
"type": "module",
1015
"bin": {
1116
"mcp-inspector-client": "./bin/start.js"

client/src/App.tsx

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ import {
3333
import { getToolUiResourceUri } from "@modelcontextprotocol/ext-apps/app-bridge";
3434
import { AuthDebuggerState, EMPTY_DEBUGGER_STATE } from "./lib/auth-types";
3535
import { OAuthStateMachine } from "./lib/oauth-state-machine";
36+
import { createProxyFetch } from "./lib/proxyFetch";
3637
import { cacheToolOutputSchemas } from "./utils/schemaUtils";
3738
import { cleanParams } from "./utils/paramUtils";
3839
import type { JsonSchemaType } from "./utils/jsonUtils";
@@ -634,9 +635,17 @@ const App = () => {
634635
};
635636

636637
try {
637-
const stateMachine = new OAuthStateMachine(sseUrl, (updates) => {
638-
currentState = { ...currentState, ...updates };
639-
});
638+
const fetchFn =
639+
connectionType === "proxy" && config
640+
? createProxyFetch(config)
641+
: undefined;
642+
const stateMachine = new OAuthStateMachine(
643+
sseUrl,
644+
(updates) => {
645+
currentState = { ...currentState, ...updates };
646+
},
647+
fetchFn,
648+
);
640649

641650
while (
642651
currentState.oauthStep !== "complete" &&
@@ -674,7 +683,7 @@ const App = () => {
674683
});
675684
}
676685
},
677-
[sseUrl],
686+
[sseUrl, connectionType, config],
678687
);
679688

680689
useEffect(() => {
@@ -1276,6 +1285,8 @@ const App = () => {
12761285
onBack={() => setIsAuthDebuggerVisible(false)}
12771286
authState={authState}
12781287
updateAuthState={updateAuthState}
1288+
config={config}
1289+
connectionType={connectionType}
12791290
/>
12801291
</TabsContent>
12811292
);
@@ -1538,6 +1549,9 @@ const App = () => {
15381549
error={errors.prompts}
15391550
/>
15401551
<ToolsTab
1552+
serverSupportsTaskRequests={
1553+
!!serverCapabilities?.tasks?.requests?.tools?.call
1554+
}
15411555
tools={tools}
15421556
listTools={() => {
15431557
clearError("tools");

0 commit comments

Comments
 (0)