Skip to content

MCP Drift Check

MCP Drift Check #52

name: MCP Drift Check
# Catches drift between the tool contract in skill.json and the deployed MCP server.
# The v0.4.0 -> v0.4.1 fix was exactly this class of bug: docs named a tool the
# server did not expose, silently breaking a headline feature. This check prevents
# a recurrence from both directions:
# - repo-side: a PR that edits skill.json / SKILL.md / READMEs is validated
# against the live server (the check now also verifies README prices, contact
# info, and version strings, so README-only edits must re-trigger it)
# - server-side: the daily cron catches server renames even with no repo activity
on:
push:
branches: [ main ]
paths:
- 'skill.json'
- 'SKILL.md'
- 'README.md'
- 'README.en.md'
- 'agents/openai.yaml'
- 'scripts/check_mcp_drift.py'
- '.github/workflows/mcp-drift-check.yml'
pull_request:
branches: [ main ]
paths:
- 'skill.json'
- 'SKILL.md'
- 'README.md'
- 'README.en.md'
- 'agents/openai.yaml'
- 'scripts/check_mcp_drift.py'
schedule:
# daily ~03:17 UTC (off the :00 mark); catches server-side drift
- cron: '17 3 * * *'
workflow_dispatch:
jobs:
drift-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: '3.x'
- name: Compare skill.json tools against live MCP server
run: python3 scripts/check_mcp_drift.py
env:
MCP_URL: https://www.dycreative.tech/mcp
SKILL_JSON: skill.json