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
36 changes: 36 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -53,3 +53,39 @@ jobs:
run: |
npm pkg delete scripts.prepare
npm publish --provenance --access public --tag=canary

# Publishes server.json to the Official MCP Registry.
# `needs: release` gates it on a successful npm publish, so the registry is
# never updated before the package actually exists on npm. Running as a
# separate job means a registry hiccup still can't roll back the release.
# NOTE: the registry CLI + schema are evolving — verify against
# https://github.com/modelcontextprotocol/registry before relying on this.
mcp-registry:
name: Publish to MCP Registry
needs: release
if: ${{ !github.event.release.prerelease }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Sync version into server.json
run: |
VERSION="${GITHUB_REF_NAME#v}"
jq --arg v "$VERSION" '.version = $v | (.packages[] |= (.version = $v))' server.json > server.json.tmp
mv server.json.tmp server.json

- name: Install mcp-publisher
run: |
ARCH=$(uname -m)
case "$ARCH" in
x86_64) ARCH=amd64 ;;
aarch64|arm64) ARCH=arm64 ;;
esac
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
curl -fsSL "https://github.com/modelcontextprotocol/registry/releases/latest/download/mcp-publisher_${OS}_${ARCH}.tar.gz" | tar xz mcp-publisher

- name: Login (GitHub OIDC)
run: ./mcp-publisher login github-oidc

- name: Publish
run: ./mcp-publisher publish
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"version": "0.0.0",
"name": "@upstash/mcp-server",
"mcpName": "io.github.upstash/mcp-server",
"description": "MCP server for Upstash",
"license": "MIT",
"type": "module",
Expand Down
41 changes: 41 additions & 0 deletions server.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"name": "io.github.upstash/mcp-server",
"description": "Manage Upstash databases and resources through the Upstash Developer API.",
"repository": {
"url": "https://github.com/upstash/mcp-server",
"source": "github"
},
"version": "0.0.0",
"packages": [
{
"registryType": "npm",
"registryBaseUrl": "https://registry.npmjs.org",
"identifier": "@upstash/mcp-server",
"version": "0.0.0",
"transport": {
"type": "stdio"
},
"environmentVariables": [
{
"name": "UPSTASH_EMAIL",
"description": "Email address of your Upstash account.",
"isRequired": true,
"isSecret": false
},
{
"name": "UPSTASH_API_KEY",
"description": "Upstash Developer API key (create one at https://console.upstash.com/account/api).",
"isRequired": true,
"isSecret": true
},
{
"name": "UPSTASH_BOX_API_KEY",
"description": "Upstash Box API key for Box-related tools.",
"isRequired": false,
"isSecret": true
}
]
}
]
}
Loading