mcp-client — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited mcp-client (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Connect to any MCP server with progressive disclosure - load tool schemas on-demand instead of dumping thousands of tokens into context upfront.
This skill is located at: .claude/skills/mcp-client/
Script path: .claude/skills/mcp-client/scripts/mcp_client.py
The script looks for config in this order:
MCP_CONFIG_PATH env var (custom path).mcp.json in project root~/.claude.jsonYour config file: .claude/skills/mcp-client/references/mcp-config.json
Edit this file to add your API keys. The example file (example-mcp-config.json) is kept as a reference template.
Security note:
${AY_PROPOSALS_API_KEY} for the AY Proposals server.export MCP_CONFIG_PATH=~/.claude/skills/mcp-client/references/mcp-config.local.json (same structure, with your real token). Keep that file out of git.export AY_PROPOSALS_API_KEY=... and ensure your runtime interpolates env vars. If not, use Option 1.If the user hasn't provided their Zapier API key yet, ask them for it.
All commands use the script at .claude/skills/mcp-client/scripts/mcp_client.py:
# List configured servers
python .claude/skills/mcp-client/scripts/mcp_client.py servers
# List tools from a server
python .claude/skills/mcp-client/scripts/mcp_client.py tools <server_name>
# Call a tool
python .claude/skills/mcp-client/scripts/mcp_client.py call <server> <tool> '{"arg": "value"}'servers command. If error, create .mcp.json| Command | Description |
|---|---|
servers | List all configured MCP servers |
tools <server> | List tools with full parameter schemas |
call <server> <tool> '<json>' | Execute a tool with arguments |
# 1. List servers to confirm Zapier is configured
python .claude/skills/mcp-client/scripts/mcp_client.py servers
# 2. List Zapier tools
python .claude/skills/mcp-client/scripts/mcp_client.py tools zapier
# 3. Call a Zapier tool
python .claude/skills/mcp-client/scripts/mcp_client.py call zapier <tool_name> '{"param": "value"}'# 1. List tools
python .claude/skills/mcp-client/scripts/mcp_client.py tools sequential-thinking
# 2. Use sequential thinking
python .claude/skills/mcp-client/scripts/mcp_client.py call sequential-thinking sequentialthinking '{"thought": "Breaking down the problem...", "thoughtNumber": 1, "totalThoughts": 5, "nextThoughtNeeded": true}'Config file format (references/mcp-config.json):
{
"mcpServers": {
"zapier": {
"url": "https://mcp.zapier.com/api/v1/connect",
"api_key": "your-api-key"
},
"sequential-thinking": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
}
}
}Transport detection:
url + api_key → FastMCP with Bearer auth (Zapier)command + args → stdio (local servers like sequential-thinking)url ending in /sse → SSE transporturl ending in /mcp → Streamable HTTPErrors return JSON:
{"error": "message", "type": "configuration|validation|connection"}configuration - Config file not found. Create .mcp.jsonvalidation - Invalid server or tool nameconnection - Failed to connect to serverpip install mcp fastmcpreferences/example-mcp-config.json - Template config filereferences/mcp-servers.md - Common server configurationsreferences/python-mcp-sdk.md - Python SDK documentation~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.