Skip to content

Commit ab96c75

Browse files
committed
ci: Add GitHub workflow for publishing to MCP Registry
- Introduced `.github/workflows/publish-mcp-registry.yml` for automated registry publishing - Added `server.json` for MCP server metadata and versioning - Updated `package.json` with `mcpName` field for enhanced registry identification
1 parent 341f0d7 commit ab96c75

3 files changed

Lines changed: 61 additions & 0 deletions

File tree

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Publish to MCP Registry
2+
3+
on:
4+
workflow_dispatch:
5+
release:
6+
types: [published]
7+
8+
jobs:
9+
publish-registry:
10+
runs-on: ubuntu-latest
11+
permissions:
12+
contents: read
13+
id-token: write
14+
steps:
15+
- name: Checkout Code
16+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
17+
with:
18+
fetch-depth: 0
19+
20+
- name: Setup Node.js
21+
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
22+
with:
23+
node-version-file: .nvmrc
24+
25+
- name: Install mcp-publisher
26+
run: npm install -g mcp-publisher
27+
28+
- name: Sync server.json version
29+
run: |
30+
VERSION=$(node -p "require('./package.json').version")
31+
node -e "
32+
const fs = require('fs');
33+
const s = JSON.parse(fs.readFileSync('server.json', 'utf8'));
34+
s.version = '$VERSION';
35+
s.packages[0].version = '$VERSION';
36+
fs.writeFileSync('server.json', JSON.stringify(s, null, 2) + '\n');
37+
"
38+
39+
- name: Publish to MCP Registry
40+
run: mcp-publisher publish --token ${{ secrets.GITHUB_TOKEN }}

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
22
"name": "@wdio/mcp",
3+
"mcpName": "io.github.webdriverio/mcp",
34
"author": "Vince Graics",
45
"repository": {
56
"type": "git",

server.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3+
"name": "io.github.webdriverio/mcp",
4+
"description": "MCP server with WebdriverIO for browser and mobile app automation (iOS/Android via Appium)",
5+
"repository": {
6+
"url": "https://github.com/webdriverio/mcp",
7+
"source": "github"
8+
},
9+
"version": "2.5.1",
10+
"packages": [
11+
{
12+
"registryType": "npm",
13+
"identifier": "@wdio/mcp",
14+
"version": "2.5.1",
15+
"transport": {
16+
"type": "stdio"
17+
}
18+
}
19+
]
20+
}

0 commit comments

Comments
 (0)