Skip to content

Publish MCP Registry (manual) #1

Publish MCP Registry (manual)

Publish MCP Registry (manual) #1

Workflow file for this run

name: Publish MCP Registry (manual)
on:
workflow_dispatch:
inputs:
version:
description: "Version to publish (e.g., 0.3.1)"
required: true
type: string
permissions:
contents: read
id-token: write
env:
PYTHON_VERSION: "3.13"
jobs:
publish:
name: Publish to MCP Registry
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 1
- name: Install MCP Publisher CLI
run: |
curl -L "https://github.com/modelcontextprotocol/registry/releases/download/v1.0.0/mcp-publisher_1.0.0_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publisher
- name: Generate server.json (clamped description)
env:
VERSION: ${{ inputs.version }}
run: |
python - <<'PY'
import json, tomllib, os
VERSION = os.environ['VERSION']
with open('pyproject.toml','rb') as f:
proj = tomllib.load(f)['project']
desc = (proj.get('description','') or '')[:100]
data = {
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-07-09/server.schema.json",
"name": "io.github.othervibes/mcp-as-a-judge",
"description": desc,
"version": VERSION,
"packages": [
{"registry_type": "pypi", "identifier": "mcp-as-a-judge", "version": VERSION},
{"registry_type": "oci", "registry_base_url": "https://ghcr.io", "identifier": "othervibes/mcp-as-a-judge", "version": VERSION}
]
}
with open('server.json','w') as f: json.dump(data,f,indent=2)
PY
- name: Login to MCP Registry (GitHub OIDC)
run: ./mcp-publisher login github-oidc
- name: Publish to MCP Registry
run: ./mcp-publisher publish
- name: Show server.json
run: cat server.json