Skip to content

Commit 1a4ecb7

Browse files
cliffhallclaude
andcommitted
ci(release): switch npm publishing to OIDC trusted publishing
The NPM_TOKEN used by publish-npm is dead (npm classic-token sunset) — both June release attempts failed publishing with a disguised auth error (E404 on the publish PUT) after PyPI legs succeeded. Each @modelcontextprotocol/* package's npm trusted publisher is being bound to this workflow (release.yml) + the release environment, so publish-npm now authenticates via OIDC instead of a token: - add id-token: write permission to publish-npm (required to mint the OIDC token; contents: read added explicitly since setting permissions drops the defaults) - upgrade the npm CLI in the publish job (trusted publishing requires npm >= 11.5.1; Node 22 bundles an older npm) - drop NODE_AUTH_TOKEN from the publish step Also touch each TypeScript server's README (add everything's missing License section; link each package's npm page) so scripts/release.py includes all four packages in the next npm publish matrix — they've been stranded on npm at 2026.1.26 while PyPI advanced to 2026.6.16. See #4463 for the rollout plan. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AViME1R9ES2UXT1uQDx1TG
1 parent b2a94a2 commit 1a4ecb7

5 files changed

Lines changed: 19 additions & 2 deletions

File tree

.github/workflows/release.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,9 @@ jobs:
156156
package: ${{ fromJson(needs.create-metadata.outputs.npm_packages) }}
157157
name: Build ${{ matrix.package }}
158158
environment: release
159+
permissions:
160+
contents: read
161+
id-token: write # Required for npm trusted publishing (OIDC)
159162
runs-on: ubuntu-latest
160163
steps:
161164
- uses: actions/checkout@v6
@@ -168,6 +171,10 @@ jobs:
168171
cache: npm
169172
registry-url: 'https://registry.npmjs.org'
170173

174+
# Trusted publishing requires npm >= 11.5.1; Node 22 bundles an older npm
175+
- name: Update npm for trusted publishing
176+
run: npm install -g npm@latest
177+
171178
- name: Install dependencies
172179
working-directory: src/${{ matrix.package }}
173180
run: npm ci
@@ -186,12 +193,12 @@ jobs:
186193
working-directory: src/${{ matrix.package }}
187194
run: npm run build
188195

196+
# Authenticates via OIDC trusted publishing (no token) — each package's
197+
# npm trusted publisher is bound to this workflow + the release environment
189198
- name: Publish package
190199
working-directory: src/${{ matrix.package }}
191200
run: |
192201
npm publish --access public
193-
env:
194-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
195202
196203
create-release:
197204
needs: [update-packages, create-metadata, publish-pypi, publish-npm]

src/everything/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,3 +134,7 @@ npx @modelcontextprotocol/server-everything sse
134134
```shell
135135
npx @modelcontextprotocol/server-everything streamableHttp
136136
```
137+
138+
## License
139+
140+
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.

src/filesystem/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
Node.js server implementing Model Context Protocol (MCP) for filesystem operations.
44

5+
Published on npm as [`@modelcontextprotocol/server-filesystem`](https://www.npmjs.com/package/@modelcontextprotocol/server-filesystem).
6+
57
## Features
68

79
- Read/write files

src/memory/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
A basic implementation of persistent memory using a local knowledge graph. This lets Claude remember information about the user across chats.
44

5+
Published on npm as [`@modelcontextprotocol/server-memory`](https://www.npmjs.com/package/@modelcontextprotocol/server-memory).
6+
57
## Core Concepts
68

79
### Entities

src/sequentialthinking/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
An MCP server implementation that provides a tool for dynamic and reflective problem-solving through a structured thinking process.
44

5+
Published on npm as [`@modelcontextprotocol/server-sequential-thinking`](https://www.npmjs.com/package/@modelcontextprotocol/server-sequential-thinking).
6+
57
## Features
68

79
- Break down complex problems into manageable steps

0 commit comments

Comments
 (0)