Commit graph inspector/.github/workflows/main.yml
Author SHA1 Message Date
Cliff Hall
af79614c81
Merge branch 'v1/main' into fix/dns-rebinding-toctou-safeproxyfetch 2026-08-20 10:43:53 -04:00
cliffhall
c7dc8f707a ci(v1): pin workflow branch filters to v1/main
The push filter still listed `main`, and `pull_request` carried no branch
filter at all — both leftovers from when the v1 line was itself `main`.
Neither describes the topology now: `v1/main` publishes straight to the
`v1-latest` dist-tag and never merges into `main`, which carries v2 and
publishes `latest`.

No behavior change on any path that runs today. For `push`, GitHub runs the
workflow file from the pushed commit, so this file was only ever consulted
for `v1/main`; `main` could not match unless a commit on that branch carried
a v1-shaped tree. The same resolution rule made the unfiltered
`pull_request` harmless, since a PR's workflow comes from its merge ref.
The `release` trigger is untouched, so publishing is unaffected — it is
gated on the event type and the release's target commit, never on these
filters.

The value is that the file now states its intent, and the stale `main`
entry can no longer become live if anything is ever restored onto that
branch.

Closes #2065

Signed-off-by: cliffhall <cliff@futurescale.com>
2026-08-20 09:58:05 -04:00
Cliff Hall
fb4a753cd0
Merge branch 'v1/main' into fix/dns-rebinding-toctou-safeproxyfetch 2026-08-20 09:45:40 -04:00
cliffhall
0e1bc1d402 fix(server): make the pinned lookup honor Node's all:true callback shape
Addresses the round-1 Copilot review.

- createPinnedAgent: Node's net.connect runs with autoSelectFamily on
  (Node >= 20), so it calls the lookup hook with `{ all: true }` and
  requires an ARRAY of `{ address, family }`. The scalar-only callback
  failed every hostname request with ERR_INVALID_IP_ADDRESS, so /fetch
  could only reach literal-IP targets. Both callback shapes are now
  supported. Reproduced against Node 22/26 before and after.
- Tests: cover the `{ all: true }` shape for IPv4 and IPv6, and add an
  end-to-end request through the agent over the production path
  (node-fetch -> http.Agent -> net.connect) using an unresolvable
  hostname, so the request can only succeed via the pinned IP. Verified
  these three fail without the fix. Replaced the `Function`-typed casts
  with a typed pinnedLookup() helper.
- CI: run the new server suite (.github/workflows/main.yml) and add a
  root `test-server` script, so this regression coverage is enforced.
- package-lock.json: sync the server workspace manifest mirror with the
  added @types/node and vitest devDependencies.
- index.ts: drop the `agent as any` cast and its eslint-disable — the
  node-fetch RequestInit already types `agent`, and tsc is clean without
  the suppression.
- Formatting: prettier-check now passes (it failed on the two new files).

Signed-off-by: cliffhall <cliff@futurescale.com>
2026-08-19 16:59:06 -04:00
Cliff Hall
47f92841bc
fix: v1 dist-tag must be v1-latest — npm rejects v1 (#1829)
#1828 pinned v1 publishes to `--tag v1`, following the runbook (#1804 §1). That
tag name is not legal: npm rejects any dist-tag that parses as a SemVer range,
and `v1` parses as `1.x`.

    npm error Tag name must not be a valid SemVer range: v1

Found while running the companion `npm dist-tag add` step, which failed the
same way. So the merged flag would not have "published to the wrong tag" — the
next v1 security release would have failed to publish at all, and only at
release time.

`v1-latest` is accepted (verified against semver.validRange, along with
`legacy`, which was the other candidate). The workflow comment now records both
failure modes so neither the flag nor the specific tag name gets "cleaned up"
later.


Claude-Session: https://claude.ai/code/session_01Txmv2qqv3yeKgRzoqXytzD

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-27 21:52:57 -04:00
Cliff Hall
4f3e7fa167
chore: pin v1 publishes to the v1 dist-tag (#1828)
`publish-all` had no `--tag`, so npm assigned `latest` to whatever it
published. That was correct for 1.0.1 — the deprecation release had to take
`latest` to reach npx users — but it becomes a trap the moment 2.0.0 ships: a
1.0.2 security fix published from `v1/main` would move `latest` back to v1, and
every `npx @modelcontextprotocol/inspector` in the world would silently get the
deprecated line.

`--tag v1` on both halves covers all four package names — `--workspaces` fans
out to inspector-client/-server/-cli, and the second invocation is the root.

Nothing enforces this flag, and the cost of dropping it surfaces months later
in a way that looks like an npm bug rather than a missing argument, so the
workflow carries a comment at the point of use.

Phase 3 of the v2 go-live runbook (#1804 §1).


Claude-Session: https://claude.ai/code/session_01Txmv2qqv3yeKgRzoqXytzD

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-27 21:47:46 -04:00
cliffhall
3188ee3a20 add v1/main to branches in main.yml 2026-07-27 20:32:01 -04:00
Cliff Hall
fd2def684f
chore: pin prettier to 3.9.5 and run format check after install (#1716)
The "Check formatting" step in main.yml ran `npx prettier --check .`
before `npm install`, so npx fetched the LATEST prettier rather than the
version pinned in package-lock.json. This made the format check
non-deterministic and red on open PRs whenever the latest published
prettier differed from the pinned one.

- Pin prettier to exact 3.9.5 in devDependencies and update the lockfile
- Reformat the repo with the pinned prettier (expected source churn)
- Move the format check after `npm install --no-package-lock` and run it
  via `npm run prettier-check` so CI uses the locally-installed pinned
  prettier


Claude-Session: https://claude.ai/code/session_01HiccCEh9mwCfVzE8qYcop1

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 16:23:23 -04:00
Paul Carleton
68d45fcac6
ci: switch npm publish to OIDC trusted publishing
- Upgrade npm to ^11.5.1 in the publish job (Node 22 bundles npm 10.x,
  which lacks OIDC trusted publishing support)
- Drop NODE_AUTH_TOKEN / NPM_TOKEN secret in favor of OIDC
- Enable provenance attestation via NPM_CONFIG_PROVENANCE

The publish job already had id-token: write and registry-url configured.
2026-04-14 11:41:12 +01:00
Cliff Hall
a809c2ad5a
Merge pull request #1138 from modelcontextprotocol/dependabot/github_actions/docker/metadata-action-6
chore(deps): bump docker/metadata-action from 5 to 6
2026-04-11 17:52:44 -04:00
Cliff Hall
c180baba0c
Merge pull request #1137 from modelcontextprotocol/dependabot/github_actions/docker/login-action-4
chore(deps): bump docker/login-action from 3 to 4
2026-04-11 17:52:13 -04:00
Cliff Hall
b99c8b8ec9
Merge pull request #1136 from modelcontextprotocol/dependabot/github_actions/docker/setup-buildx-action-4
chore(deps): bump docker/setup-buildx-action from 3 to 4
2026-04-11 17:51:44 -04:00
dependabot[bot]
1380fc0d5b
chore(deps): bump docker/metadata-action from 5 to 6
Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 5 to 6.
- [Release notes](https://github.com/docker/metadata-action/releases)
- [Commits](https://github.com/docker/metadata-action/compare/v5...v6)

---
updated-dependencies:
- dependency-name: docker/metadata-action
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-09 21:33:18 +00:00
dependabot[bot]
de17d7a6a7
chore(deps): bump docker/login-action from 3 to 4
Bumps [docker/login-action](https://github.com/docker/login-action) from 3 to 4.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-09 21:33:15 +00:00
dependabot[bot]
9cce38f004
chore(deps): bump docker/setup-buildx-action from 3 to 4
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3 to 4.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-09 21:33:11 +00:00
dependabot[bot]
6b90a83598
chore(deps): bump actions/attest-build-provenance from 3 to 4
Bumps [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance) from 3 to 4.
- [Release notes](https://github.com/actions/attest-build-provenance/releases)
- [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md)
- [Commits](https://github.com/actions/attest-build-provenance/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/attest-build-provenance
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 22:15:27 +00:00
dependabot[bot]
1f9d922475
Bump actions/checkout from 4 to 6
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-09 23:27:21 +00:00
David Soria Parra
1f424f2525
Revert "Remove environment constraint from release workflow jobs"
This reverts commit 39c2c9f8ce.
2026-02-09 18:30:00 +00:00
David Soria Parra
39c2c9f8ce
Remove environment constraint from release workflow jobs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 18:27:16 +00:00
Koichi ITO
084e107810
Merge pull request #1059 from modelcontextprotocol/dependabot/github_actions/actions/attest-build-provenance-3
Bump actions/attest-build-provenance from 2 to 3
2026-02-08 03:10:31 +09:00
dependabot[bot]
742f27dc7a
Bump actions/attest-build-provenance from 2 to 3
Bumps [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance) from 2 to 3.
- [Release notes](https://github.com/actions/attest-build-provenance/releases)
- [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md)
- [Commits](https://github.com/actions/attest-build-provenance/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/attest-build-provenance
  dependency-version: '3'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-04 13:27:04 +00:00
dependabot[bot]
613c650c40
Bump actions/setup-node from 4 to 6
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4 to 6.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4...v6)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-04 13:26:54 +00:00
Baruch Odem
80082e1272 chore: update Node.js version requirement and adjust workflows to use package.json for node version 2025-06-29 07:46:25 +03:00
Baruch Odem (Rothkoff)
297a6b3a88
Merge branch 'main' into baruchiro/node-version 2025-06-29 07:35:01 +03:00
Cliff Hall
dc77327c65
Merge branch 'main' into jerome/feature/version-update-and-check-scripts 2025-06-17 15:58:39 -04:00
Jerome
b70cf563a8
feat: add version management scripts and CI check
- Added update-version.js script to automate version bumps across all packages
- Added check-version-consistency.js script to verify version consistency
- Integrated version check into CI workflow
- Scripts check package.json versions AND package-lock.json sync
- Added npm scripts: `npm run update-version` and `npm run check-version`
- Added documentation in scripts/README.md

This ensures version consistency across the monorepo and prevents
accidental version mismatches or outdated lock files.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-14 19:52:36 +01:00
Aaron Powell
37bd103cdb Support for multi-platform builds 2025-06-05 10:30:09 +10:00
Aaron Powell
ef6d84933a
Apply suggestions from code review
Co-authored-by: John McBride <jpmmcbride@gmail.com>
2025-06-02 13:49:38 +10:00
Baruch Odem
d7cc0fae2a chore: Add .node-version file and update workflows to use it 2025-05-30 15:08:40 +03:00
Cliff Hall
652027dd7a
Merge branch 'main' into dockerfile 2025-05-08 17:49:54 -04:00
cliffhall
b3fc199d25 Bump release to 0.11.0
* In main.yml
  - reversed a change from last release that did an explicit build, because the prepare script was no longer in package.json
* In package.json
  - replaced prepare script, which will cause automatic build after npm install
  - set version to 0.11.0
  - set versions of inspector-cli, inspector-client, and inspector-server to  ^0.11.0
* In package.lock.json
  - updated versions of inspector, inspector-cli, inspector-client, and inspector-server to  ^0.11.0
* In cli/package.json
  - set version to 0.11.0
  - set versions of sdk to 1.10.2
* In client/package.json
  - set version to 0.11.0
  - set versions of sdk to 1.10.2
* In server/package.json
  - set version to 0.11.0
  - set versions of sdk to 1.10.2
2025-04-25 11:49:39 -04:00
Aaron Powell
243fd1494e Fixing permissions 2025-04-24 15:46:22 +10:00
Aaron Powell
ad8d0579c4 Fixing prettier error 2025-04-24 15:12:19 +10:00
Aaron Powell
d9e63d918b Merge branch 'main' into dockerfile 2025-04-24 14:51:27 +10:00
Nathan Arseneau
29b465fe45 Merge branch 'main' into sampling-form 2025-04-22 22:07:37 -04:00
David Soria Parra
8ed2651ffd
run build in ci 2025-04-17 23:55:50 +01:00
Nathan Arseneau
5696c19df9 Merge branch 'main' into sampling-form 2025-04-15 21:54:04 -04:00
Aaron Powell
6d561a0e0d Updating workflow to publish to GitHub Container Registry
Using guide from https://docs.github.com/en/actions/use-cases-and-examples/publishing-packages/publishing-docker-images
2025-04-08 11:45:39 +10:00
Ola Hungerford
7c4ed6abca Use working-directory instead of cd to client 2025-03-16 15:24:48 -07:00
Ola Hungerford
abd4877dae Revert to only run on main 2025-02-27 07:37:47 -07:00
Ola Hungerford
8ac7ef0985 Fix path to client 2025-02-27 07:23:40 -07:00
Ola Hungerford
238c22830b Fix formatting 2025-02-27 07:21:04 -07:00
Ola Hungerford
90ce628040 Test workflow in my branch 2025-02-27 06:54:36 -07:00
Ola Hungerford
d4a64fb5d8 Add client tests to workflow 2025-02-27 06:52:19 -07:00
Ashwin Bhat
d973f58bef
run prettier check in CI 2025-01-09 11:01:28 -08:00
Justin Spahr-Summers
2e4eedc6ef
Add publish workflow 2024-11-21 10:41:25 +00:00
Justin Spahr-Summers
b9d6695fbf
Revert "Try restoring npm ci"
This reverts commit 3789ef984a.
2024-11-11 16:31:24 +00:00
Justin Spahr-Summers
3789ef984a
Try restoring npm ci 2024-11-11 16:29:09 +00:00
Justin Spahr-Summers
e1aa419332
Pull SDK from npm 2024-11-11 16:28:51 +00:00
Justin Spahr-Summers
69a4a7461d
Work around npm CLI issue 2024-10-28 10:55:15 +00:00