File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 44 push :
55 tags :
66 - ' v*.*.*'
7+ # publishes a released tag's server.json to the MCP Registry, and nothing else
8+ workflow_dispatch :
9+ inputs :
10+ tag :
11+ description : Released tag to list in the MCP Registry (e.g. v2.0.1)
12+ required : true
713
814jobs :
915 build :
1016 name : Build distributions
17+ if : github.event_name == 'push'
1118 runs-on : ubuntu-latest
1219 steps :
1320 - uses : actions/checkout@v7
2734 publish :
2835 name : Publish to PyPI
2936 needs : build
37+ if : github.event_name == 'push'
3038 runs-on : ubuntu-latest
3139 environment : pypi
3240 permissions :
4452 github-release :
4553 name : GitHub Release
4654 needs : publish
55+ if : github.event_name == 'push'
4756 runs-on : ubuntu-latest
4857 permissions :
4958 contents : write
5766 env :
5867 GH_TOKEN : ${{ github.token }}
5968 run : gh release create "$GITHUB_REF_NAME" --title "$GITHUB_REF_NAME" --notes-file notes.md --verify-tag
69+
70+ mcp-registry :
71+ name : Publish to the MCP Registry
72+ needs : publish
73+ if : ${{ !cancelled() && (needs.publish.result == 'success' || github.event_name == 'workflow_dispatch') }}
74+ runs-on : ubuntu-latest
75+ permissions :
76+ id-token : write
77+ env :
78+ TAG : ${{ inputs.tag || github.ref_name }}
79+ MCP_PUBLISHER : v1.8.1
80+ steps :
81+ - uses : actions/checkout@v7
82+ with :
83+ ref : ${{ env.TAG }}
84+
85+ - name : Install mcp-publisher
86+ run : curl -fsSL "https://github.com/modelcontextprotocol/registry/releases/download/$MCP_PUBLISHER/mcp-publisher_linux_amd64.tar.gz" | tar xz mcp-publisher
87+
88+ # the registry checks the package on PyPI, which may lag the upload
89+ - name : Wait for the version on PyPI
90+ run : |
91+ version="${TAG#v}"
92+ for _ in $(seq 30); do
93+ curl -fsS "https://pypi.org/pypi/web-algebra/$version/json" > /dev/null && exit 0
94+ sleep 10
95+ done
96+ echo "web-algebra $version is not on PyPI" >&2
97+ exit 1
98+
99+ - name : Log in with GitHub OIDC
100+ run : ./mcp-publisher login github-oidc
101+
102+ - name : Publish server.json
103+ run : ./mcp-publisher publish
Original file line number Diff line number Diff line change @@ -5,6 +5,15 @@ All notable changes to Web Algebra are recorded here. The format follows
55[ Semantic Versioning] ( https://semver.org/ ) . The normative definition of every
66operation is [ formal-semantics.md] ( formal-semantics.md ) .
77
8+ ## [ 2.0.2] - Unreleased
9+
10+ ### Added
11+
12+ - ** A release lists itself in the MCP Registry** : the release workflow
13+ publishes ` server.json ` after the PyPI upload, logged in with GitHub OIDC.
14+ Run by hand with a released tag, it publishes that tag's ` server.json ` and
15+ nothing else.
16+
817## [ 2.0.1] - 2026-10-21
918
1019### Added
You can’t perform that action at this time.
0 commit comments