Skip to content

Commit 6ec1a45

Browse files
authored
Feature/sdg/registry (#161)
* Auto-generated server.json * Merged main changes on version/README * Auto-generated server.json * Added workflow_dispatch * Added separate workflows * Remove trigger on tag
1 parent 4e13c9b commit 6ec1a45

File tree

4 files changed

+115
-13
lines changed

4 files changed

+115
-13
lines changed

.github/workflows/publish.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
name: Publish (PyPI + MCP Registry)
22

33
on:
4-
push:
5-
tags:
6-
- "v*"
74
workflow_dispatch:
85

96
concurrency:

.github/workflows/publish_mcp.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Publish MCP Registry
2+
3+
on:
4+
workflow_dispatch:
5+
workflow_run:
6+
workflows: ["Build"] # exact name of workflow 1
7+
types:
8+
- completed
9+
push:
10+
tags:
11+
- "v*"
12+
13+
concurrency:
14+
group: publish-${{ github.ref }}
15+
cancel-in-progress: true
16+
17+
jobs:
18+
registry:
19+
name: Publish to MCP Registry
20+
runs-on: ubuntu-latest
21+
permissions:
22+
contents: read
23+
id-token: write # REQUIRED for MCP Registry GitHub OIDC login
24+
steps:
25+
- name: Checkout
26+
uses: actions/checkout@v4
27+
28+
- name: Install MCP Publisher
29+
run: |
30+
set -e
31+
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
32+
ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')
33+
curl -L "https://github.com/modelcontextprotocol/registry/releases/download/v1.0.0/mcp-publisher_1.0.0_${OS}_${ARCH}.tar.gz" \
34+
| tar xz mcp-publisher
35+
36+
- name: Login to MCP Registry (OIDC)
37+
run: ./mcp-publisher login github-oidc
38+
39+
- name: Publish server.json to MCP Registry
40+
run: ./mcp-publisher publish

.github/workflows/publish_pypi.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: Publish to PyPI Only
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
tags:
7+
- "v*"
8+
9+
concurrency:
10+
group: publish-pypi-${{ github.ref }}
11+
cancel-in-progress: true
12+
13+
jobs:
14+
pypi:
15+
name: Publish to PyPI
16+
runs-on: ubuntu-latest
17+
permissions:
18+
contents: read
19+
id-token: write # REQUIRED for PyPI Trusted Publishing (OIDC)
20+
steps:
21+
- name: Checkout
22+
uses: actions/checkout@v4
23+
24+
- name: Set up Python
25+
uses: actions/setup-python@v5
26+
with:
27+
python-version: "3.12"
28+
29+
- name: Install uv
30+
run: pipx install uv
31+
32+
# --- Optional checks (keep for now; can be moved to PR CI later) ---
33+
- name: Sync deps
34+
run: uv sync
35+
36+
- name: Ruff lint
37+
run: uvx ruff check .
38+
39+
- name: Ruff format check
40+
run: uvx ruff format --check .
41+
42+
- name: Run tests (if present)
43+
run: |
44+
if [ -d tests ]; then
45+
uv run pytest -q
46+
else
47+
echo "No tests/ directory; skipping."
48+
fi
49+
50+
# --- Build artifacts for PyPI ---
51+
- name: Build sdist & wheel
52+
run: uv build
53+
54+
# --- Publish using Trusted Publishing (no tokens) ---
55+
- name: Publish to PyPI
56+
uses: pypa/gh-action-pypi-publish@release/v1
57+
with:
58+
packages-dir: dist
59+
# For a dress rehearsal, you can set:
60+
# repository-url: https://test.pypi.org/legacy/

server.json

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,23 @@
11
{
2-
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-07-09/server.schema.json",
2+
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json",
33
"name": "io.github.robotmcp/ros-mcp-server",
44
"description": "Connect AI models like Claude & ChatGPT with ROS robots using MCP",
5+
"repository": {
6+
"url": "https://github.com/robotmcp/ros-mcp-server",
7+
"source": "github"
8+
},
59
"version": "2.1.5",
610
"packages": [
711
{
8-
"registry_type": "pypi",
12+
"registryType": "pypi",
13+
"registryBaseUrl": "https://pypi.org",
914
"identifier": "ros-mcp",
10-
"version": "2.1.5"
15+
"version": "2.1.5",
16+
"transport": {
17+
"type": "stdio",
18+
"command": "ros-mcp",
19+
"args": []
20+
}
1121
}
12-
],
13-
"transport": {
14-
"type": "stdio",
15-
"command": "ros-mcp",
16-
"args": []
17-
}
18-
}
22+
]
23+
}

0 commit comments

Comments
 (0)