Agent skill
mcp-doctor
Install this agent skill to your Project
npx add-skill https://github.com/stars-end/agent-skills/tree/master/mcp-doctor
SKILL.md
mcp-doctor
Description
Soft doctor to verify the canonical MCP servers are discoverable/configured on the current VM/tooling.
This does not validate the MCP servers themselves beyond basic “config present” checks, and it must never print secrets (bearer tokens, API keys, headers).
Required vs Optional MCP servers
REQUIRED (skills plane)
- universal-skills — https://github.com/klaudworks/universal-skills
- Required for the shared skills plane
- Enables skill discovery and management across all agents
- All agents MUST have this configured
OPTIONAL (recommended but not required)
-
Agent Mail MCP — https://github.com/Dicklesworthstone/mcp_agent_mail
- Recommended for multi-agent coordination, DX alerts, and shared state
- Falls back gracefully if missing
-
Serena MCP — https://github.com/oraios/serena/blob/main/README.md
- Recommended for advanced code analysis
- Optional enhancement
-
Z.ai search MCP — https://docs.z.ai/devpack/mcp/search-mcp-server
- Recommended for web search capabilities
- Optional enhancement
What it checks
- Searches common MCP config locations for the server names/URLs above:
- Repo-local:
.claude/settings.json,.vscode/mcp.json,codex.mcp.json,gemini.mcp.json,.mcp.json,opencode.json - User/global:
~/.claude/settings.json,~/.claude.json,~/.codex/config.toml,~/.gemini/settings.json
- Repo-local:
- Reports
configured/missingper MCP server name. - Verifies the canonical skills mount invariant:
~/.agent/skillsMUST point to~/agent-skills(symlink or exact copy)- This ensures universal-skills MCP can discover skills correctly
- Optionally reports presence of CLI tools we rely on:
railway,gh
Usage
~/.agent/skills/mcp-doctor/check.sh
Optional:
export MCP_DOCTOR_STRICT=1 # exit non-zero if any required MCP missing
~/.agent/skills/mcp-doctor/check.sh
Platform setup (copy/paste)
This section is intentionally copy/paste friendly and avoids embedding secrets.
Required: Skills mount
First, ensure the canonical skills mount is set up:
# Ensure ~/agent-skills exists
if [[ ! -d ~/agent-skills ]]; then
git clone https://github.com/stars-end/agent-skills.git ~/agent-skills
fi
# Create symlink ~/.agent/skills -> ~/agent-skills
mkdir -p ~/.agent
ln -sfn ~/agent-skills ~/.agent/skills
# Verify
ls -la ~/.agent/skills
You can also use the helper script:
~/agent-skills/scripts/ensure_agent_skills_mount.sh
Config File Locations (Linux)
Claude Code:
- User config:
~/.claude/settings.jsonor~/.claude.json - Repo config:
.claude/settings.json
Codex CLI:
- User config:
~/.codex/config.toml - Repo config:
codex.mcp.jsonor.codex/config.toml
Gemini CLI / Antigravity:
- User config:
~/.gemini/settings.json - Repo config:
gemini.mcp.json
A) Claude Code
- universal-skills (stdio)
Option 1: npx wrapper (recommended for portability)
claude mcp add --transport stdio skills -- npx universal-skills mcp
This pattern works without global installation and is portable across machines. The resulting config:
{
"mcpServers": {
"universal-skills": {
"command": "npx",
"args": ["universal-skills", "mcp"]
}
}
}
Option 2: Direct binary (if installed globally)
# If installed globally via:
# npm install -g universal-skills
# OR brew install universal-skills
claude mcp add --transport stdio universal-skills -- universal-skills mcp
This pattern uses the installed binary directly. The resulting config:
{
"mcpServers": {
"universal-skills": {
"command": "universal-skills",
"args": ["mcp"]
}
}
}
Or with absolute path (common with Homebrew/Linuxbrew):
{
"mcpServers": {
"universal-skills": {
"command": "/home/linuxbrew/.linuxbrew/bin/universal-skills",
"args": ["mcp"]
}
}
}
Both patterns are valid. Use npx for zero-install portability, or direct binary for slightly faster startup.
- Z.ai Web Search MCP (http)
export ZAI_API_KEY="..." # set via 1Password/env
claude mcp add -s user -t http web-search-prime \
https://api.z.ai/api/mcp/web_search_prime/mcp \
--header "Authorization: Bearer ${ZAI_API_KEY}"
- Serena MCP
Follow Serena’s MCP setup and confirm it’s visible in .claude/settings.json:
https://github.com/oraios/serena/blob/main/README.md
- Agent Mail MCP
Prefer Agent Mail’s installer/autodetect (it writes Claude config without printing tokens): https://github.com/Dicklesworthstone/mcp_agent_mail
B) Codex CLI
Codex stores MCP config in ~/.codex/config.toml:
- universal-skills (stdio)
Option 1: npx wrapper (recommended)
codex mcp add skills -- npx universal-skills mcp
Option 2: Direct binary
codex mcp add skills -- universal-skills mcp
Both patterns are valid. See section A) Claude Code above for detailed explanation of the differences.
- Agent Mail (streamable http) – use env var for token:
[mcp_servers.agent-mail]
url = "http://macmini:8765/mcp/"
bearer_token_env_var = "AGENT_MAIL_BEARER_TOKEN"
- Z.ai Web Search (streamable http) – use env var for API key:
[mcp_servers.web-search-prime]
url = "https://api.z.ai/api/mcp/web_search_prime/mcp"
env_http_headers = { "Authorization" = "ZAI_API_KEY" }
C) Gemini CLI / Antigravity (shared settings)
Gemini CLI uses ~/.gemini/settings.json (and supports gemini mcp add …).
Antigravity should share the same file.
- universal-skills (stdio)
Option 1: npx wrapper (recommended)
gemini mcp add --transport stdio skills -- npx universal-skills mcp
Option 2: Direct binary
gemini mcp add --transport stdio universal-skills -- universal-skills mcp
Both patterns are valid. See section A) Claude Code above for detailed explanation.
- Z.ai Web Search:
export ZAI_API_KEY="..." # set via 1Password/env
gemini mcp add --transport http web-search-prime https://api.z.ai/api/mcp/web_search_prime/mcp \
--header "Authorization: Bearer ${ZAI_API_KEY}"
Or write to ~/.gemini/settings.json (env var reference):
{
"mcpServers": {
"web-search-prime": {
"httpUrl": "https://api.z.ai/api/mcp/web_search_prime/mcp",
"headers": { "Authorization": "Bearer $ZAI_API_KEY" }
}
}
}
Notes on running checks every session
Default: run mcp-doctor as part of dx-doctor because it is offline and fast (local file scan + command -v).
If you need to quiet it:
- set
DX_SKIP_MCP=1before runningdx-doctor(repo-level support).
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
toolchain-health
Validate Python toolchain alignment between mise, Poetry, and pyproject. Use when changing Python versions, editing pyproject.toml, or seeing Poetry/mise version solver errors. Invokes /toolchain-health to check: - .mise.toml python tool version - pyproject.toml python constraint - Poetry env python interpreter Keywords: python version, mise, poetry, toolchain, env use, lock, install
parallelize-cloud-work
Delegate independent work to Claude Code Web cloud sessions for parallel execution. Generates comprehensive session prompts with context exploration guidance, verifies Beads state, provides tracking commands. Use when user says "parallelize work to cloud", "start cloud sessions", or needs to execute multiple independent tasks simultaneously, or when user mentions cloud sessions, cloud prompts, delegate to cloud, Claude Code Web, generate session prompts, parallel execution, or asks "how do I use cloud sessions".
docs-create
Create epic-specific documentation skill with external reference docs. MUST BE USED for caching external docs. Fetches URLs, caches full content, uses documentation-engineer to generate cohesive summaries, and creates auto-activating skill. Use when starting work on epic that requires external documentation context (API docs, tool guides, reference materials), or when user mentions "cache docs", "external docs", "API documentation", URLs for docs, documentation needs, reference materials, knowledge caching, or epic context documentation.
railway-doctor
git-safety-guard
Installs a Git safety guard hook for Claude Code to prevent destructive Git and filesystem commands. Blocks accidental data loss from commands like 'git checkout --', 'git reset --hard', 'git clean -f', 'git push --force', and 'rm -rf'. Use this skill to set up safety rails in a new or existing repository, or globally for the agent.
beads-guard
Safe Beads workflow helper (warning-only). Use before bd sync/close/create to avoid JSONL conflicts. Ensures you are on a feature branch, up to date with origin/master, and stages Beads files cleanly with Feature-Key commits.
Didn't find tool you were looking for?