Use when the MCP server may be out of sync with bash sources after editing tools_db.py, profiles.py, lib/common.sh MODULE_DESCRIPTIONS, lib/installers.sh ALL_DOCKER_IMAGES, or scripts/verify.sh _PIPX_BIN_NAMES. Triggers on "check mcp sync", "validate mcp", "is the python in sync".
Scanned 6/3/2026
Install via CLI
openskills install 26zl/cybersec-toolkit---
name: mcp-sync-check
description: Use when the MCP server may be out of sync with bash sources after editing tools_db.py, profiles.py, lib/common.sh MODULE_DESCRIPTIONS, lib/installers.sh ALL_DOCKER_IMAGES, or scripts/verify.sh _PIPX_BIN_NAMES. Triggers on "check mcp sync", "validate mcp", "is the python in sync".
---
# Check MCP server ↔ bash source sync
The MCP server hardcodes data that's also defined in bash. Drift breaks AI tool suggestions silently.
## What's mirrored
| Python (mcp_server/) | Bash (lib/, scripts/, profiles/) |
| --- | --- |
| `tools_db.py` → `PIPX_BIN_NAMES` | `scripts/verify.sh` → `_PIPX_BIN_NAMES` |
| `tools_db.py` → `MODULE_DESCRIPTIONS` | `lib/common.sh` → `MODULE_DESCRIPTIONS` |
| `tools_db.py` → `DOCKER_IMAGES` | `lib/installers.sh` → `ALL_DOCKER_IMAGES` |
| `profiles.py` → `PROFILES` | `profiles/*.conf` files |
## Run the validator
```bash
python3 scripts/validate_mcp_sync.py
```
Output:
- ✅ `0 errors` → both sides match. Done.
- ❌ Mismatches → fix the Python side to match bash (bash is the source of truth).
## When you've edited bash → mirror to Python
### Added a new Docker image
`lib/installers.sh` → `ALL_DOCKER_IMAGES+=("img|label")` →
`mcp_server/tools_db.py` → add to `DOCKER_IMAGES` dict.
### Added a new pipx tool with mismatched binary name
`scripts/verify.sh` → `_PIPX_BIN_NAMES["pypi-name"]="bin-name"` →
`mcp_server/tools_db.py` → add to `PIPX_BIN_NAMES` dict.
### Added a new module
`lib/common.sh` → `MODULE_DESCRIPTIONS["mod"]="desc"` →
`mcp_server/tools_db.py` → add to `MODULE_DESCRIPTIONS` dict.
### Added a new profile
`profiles/myprof.conf` → set `PROFILE_DESC` and `MODULES` →
`mcp_server/profiles.py` → add to `PROFILES` dict with same modules list.
## When you've edited Python → mirror to bash
This is rare and usually wrong. Bash is the source of truth. If a tool is only known to MCP, the install side won't be able to install it. Fix bash first, then mirror.
## After fixing
Re-run:
```bash
python3 scripts/validate_mcp_sync.py
cd mcp_server && uv run --group dev pytest tests/ -q
```
Both must pass.
No comments yet. Be the first to comment!
Ultra-compressed communication mode. Cuts token usage ~75% by speaking like caveman while keeping full technical accuracy. Supports intensity levels: lite, full (default), ultra, wenyan-lite, wenyan-full, wenyan-ultra. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman. Also auto-triggers when token efficiency is requested.
Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...
**Complete production-ready guide for Google Gemini embeddings API** This skill provides comprehensive coverage of the `gemini-embedding-001` model for generating text embeddings, including SDK usage, REST API patterns, batch processing, RAG integration with Cloudflare Vectorize, and advanced use cases like semantic search and document clustering. ---
Interview, source-challenge, verify, save, and ADR-gate fuzzy coding requests into Codex-ready implementation specs. Use when a feature, bugfix, refactor, migration, repo-wide change, or architecture task needs user-verified requirements, source-backed decisions, durable architecture decisions, acceptance criteria, validation commands, rollout notes, saved spec/ADR files, and a Codex execution prompt. Do not use when already fully specified or when the user wants direct implementation now.
Use when a repo needs CodeGraph plus ast-grep for Codex MCP setup, exploration, impact analysis, structural search, or safe refactor planning.