Skip to content

Commit a9079fb

Browse files
author
GitLab CI
committed
ci: add MCP Registry auto-publish + server.json version sync
- Add publish-mcp-registry job to release workflow (GitHub OIDC auth) - Add server.json version sync to release.sh - Track server.json in git - Add .mcpregistry_* to .gitignore
1 parent 013d671 commit a9079fb

File tree

4 files changed

+64
-0
lines changed

4 files changed

+64
-0
lines changed

.github/workflows/release.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -483,6 +483,40 @@ jobs:
483483
env:
484484
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
485485

486+
# Publish to MCP Registry
487+
publish-mcp-registry:
488+
needs: [prepare, publish-npm] # Wait for npm publish first
489+
runs-on: ubuntu-latest
490+
continue-on-error: true
491+
permissions:
492+
contents: read
493+
id-token: write # Required for GitHub OIDC authentication
494+
steps:
495+
- uses: actions/checkout@v4
496+
497+
- name: Setup Node.js
498+
uses: actions/setup-node@v4
499+
with:
500+
node-version: '20'
501+
502+
- name: Install mcp-publisher
503+
run: npm install -g @anthropic-ai/mcp-publisher || npm install -g mcp-publisher
504+
505+
- name: Verify version in server.json
506+
run: |
507+
PKG_VERSION=$(node -p "require('./server.json').version")
508+
TAG_VERSION=${{ needs.prepare.outputs.version }}
509+
if [ "$PKG_VERSION" != "$TAG_VERSION" ]; then
510+
echo "Error: server.json version ($PKG_VERSION) doesn't match tag ($TAG_VERSION)"
511+
exit 1
512+
fi
513+
514+
- name: Authenticate with MCP Registry
515+
run: mcp-publisher login github-oidc
516+
517+
- name: Publish to MCP Registry
518+
run: mcp-publisher publish server.json
519+
486520
# Post release announcement
487521
# Note: Twitter/X API free tier no longer supports posting (402 Payment Required).
488522
# To re-enable, upgrade to a paid X API plan and uncomment below.

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,3 +88,6 @@ target/
8888
**/icons/icon.png
8989
test_tiktok/
9090
assets/demo-tiktok.mp4
91+
92+
# MCP Registry local tokens
93+
.mcpregistry_*

scripts/release.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,12 @@ fi
144144
sed -i '' "s/const String _currentVersion = '[^']*'/const String _currentVersion = '$VERSION'/" lib/src/cli/server.dart
145145
echo " ✓ lib/src/cli/server.dart"
146146

147+
# server.json (MCP Registry)
148+
if [ -f server.json ]; then
149+
sed -i '' "s/\"version\": \"[^\"]*\"/\"version\": \"$VERSION\"/g" server.json
150+
echo " ✓ server.json"
151+
fi
152+
147153
# packaging/homebrew/flutter-skill.rb
148154
sed -i '' "s/version \"[^\"]*\"/version \"$VERSION\"/" packaging/homebrew/flutter-skill.rb
149155
sed -i '' "s|/v[0-9]*\.[0-9]*\.[0-9]*/|/v$VERSION/|g" packaging/homebrew/flutter-skill.rb

server.json

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3+
"name": "io.github.telsav/flutter-skill",
4+
"description": "AI E2E testing bridge — give AI eyes and hands inside any app. 8 platforms, 40+ tools.",
5+
"repository": {
6+
"url": "https://github.com/ai-dashboad/flutter-skill",
7+
"source": "github"
8+
},
9+
"version": "0.7.5",
10+
"packages": [
11+
{
12+
"registryType": "npm",
13+
"identifier": "flutter-skill",
14+
"version": "0.7.5",
15+
"transport": {
16+
"type": "stdio"
17+
},
18+
"environmentVariables": []
19+
}
20+
]
21+
}

0 commit comments

Comments
 (0)