Skip to content

Harden Skill adversarial boundaries (#36) #23

Harden Skill adversarial boundaries (#36)

Harden Skill adversarial boundaries (#36) #23

name: Publish MCP Registry
on:
push:
tags:
- "v*.*.*"
permissions: {}
concurrency:
group: mcp-registry-release-${{ github.ref }}
cancel-in-progress: false
jobs:
publish:
name: Publish Verified MCP Metadata
if: github.repository == 'Xquik-dev/x-twitter-scraper'
runs-on: ubuntu-24.04
timeout-minutes: 10
environment: mcp-registry
permissions:
contents: read
env:
MCP_PUBLISHER_VERSION: v1.8.0
steps:
- name: Check out the release tag
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
persist-credentials: false
- name: Set up Node.js
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: "24.18.0"
package-manager-cache: false
- name: Verify release context
env:
DEFAULT_BRANCH: ${{ github.event.repository.default_branch }}
run: .github/scripts/verify-release-context.sh
- name: Wait for the npm release
run: |
package_name="$(node -p "require('./package.json').name")"
package_version="$(node -p "require('./package.json').version")"
for _ in {1..30}; do
published_version="$(npm view "${package_name}@${package_version}" version 2>/dev/null || true)"
if [[ "$published_version" == "$package_version" ]]; then
exit 0
fi
sleep 10
done
echo "The matching npm package was not available after 5 minutes." >&2
exit 1
- name: Install mcp-publisher
run: |
asset="mcp-publisher_linux_amd64.tar.gz"
checksum="1370446bbe74d562608e8005a6ccce02d146a661fbd78674e11cc70b9618d6cf"
curl --fail --location --show-error --silent --retry 3 \
--output "$asset" \
"https://github.com/modelcontextprotocol/registry/releases/download/${MCP_PUBLISHER_VERSION}/${asset}"
printf "%s %s\n" "$checksum" "$asset" | sha256sum --check --strict
tar xzf "$asset" mcp-publisher
- name: Validate server.json
run: ./mcp-publisher validate
- name: Authenticate to MCP Registry
env:
MCP_REGISTRY_PRIVATE_KEY: ${{ secrets.MCP_REGISTRY_PRIVATE_KEY }}
run: |
./mcp-publisher login http \
--domain xquik.com \
--private-key "$MCP_REGISTRY_PRIVATE_KEY"
- name: Publish to MCP Registry
run: ./mcp-publisher publish