Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/npm-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:
publish:
runs-on: ubuntu-latest
if: github.event_name == 'release'
environment: release
environment: Release
needs: [build, test]

permissions:
Expand Down Expand Up @@ -80,6 +80,6 @@ jobs:
echo "tag=" >> $GITHUB_OUTPUT
fi

# Uses OIDC trusted publishing - no NPM_TOKEN needed
# Configure at: https://www.npmjs.com/package/@modelcontextprotocol/ext-apps/access
- run: npm publish --provenance --access public ${{ steps.npm-tag.outputs.tag }}
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
21 changes: 13 additions & 8 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,16 +60,21 @@ Please review our [Security Policy](SECURITY.md) for reporting security vulnerab

### Repository Setup

Before publishing releases, ensure the following are configured:
This repository uses [npm trusted publishing](https://docs.npmjs.com/trusted-publishers/) with OIDC - no secrets required.

1. **NPM_TOKEN secret**: Add an npm automation token to the repository secrets
- Go to Settings � Secrets and variables � Actions
- Create a new secret named `NPM_TOKEN`
- Value: an npm automation token with publish permissions for `@modelcontextprotocol/ext-apps`
Before publishing releases, ensure the following are configured:

2. **`release` environment** (optional): Create a protected environment for additional safeguards
- Go to Settings � Environments � New environment
- Name it `release`
1. **Trusted publisher on npm**: Configure the package to trust this GitHub repository
- Go to https://www.npmjs.com/package/@modelcontextprotocol/ext-apps/access
- Under "Trusted Publishers", click "Add trusted publisher"
- Select "GitHub Actions"
- Repository: `modelcontextprotocol/ext-apps`
- Workflow filename: `npm-publish.yml`
- Environment: `Release` (optional, for additional protection)

2. **`Release` environment** (optional): Create a protected environment for additional safeguards
- Go to Settings > Environments > New environment
- Name it `Release`
- Add required reviewers or other protection rules as needed

### Publishing a Release
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"homepage": "https://github.com/modelcontextprotocol/ext-apps",
"name": "@modelcontextprotocol/ext-apps",
"version": "0.0.2",
"version": "0.0.3",
"license": "MIT",
"description": "MCP Apps SDK — Enable MCP servers to display interactive user interfaces in conversational clients.",
"type": "module",
Expand Down
Loading