Linter for MCP (Model Context Protocol) config files used by Claude Desktop, Cursor, Cline, Windsurf, and Zed. CLI + library API.
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"mcp-config-check","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# mcp-config-check [](https://github.com/MukundaKatta/mcp-config-check/actions/workflows/ci.yml) [](https://pypi.org/project/mcp-config-check/) [](https://pypi.org/project/mcp-config-check/) [](LICENSE) A small Python linter for [Model Context Protocol](https://modelcontextprotocol.io/) config files used by **Claude Desktop, Cursor, Cline, Windsurf, and Zed**. It catches common footguns before you start a broken MCP server: - missing or conflicting transport (no `command` and no `url`, or both set) - malformed `command` / `args` / `env` shapes - hardcoded API keys in `env` or `args` (Anthropic, OpenAI, AWS, GitHub, Stripe, Slack, Google, HuggingFace, and more) - placeholder values left in (`"<your-api-key>"`, `"replace-me"`, etc.) - URLs with embedded credentials (`https://user:pass@...`) - auth headers sent over plain HTTP - `autoApprove: ["*"]` / `alwaysAllow: ["*"]` wildcards that silently disable tool confirmation - case-insensitive duplicate server names - unknown fields in a server entry Supports both the Claude/Cursor/Cline/Windsurf shape (`mcpServers`) and the Zed shape (`context_servers`). ## Install ```bash pip install mcp-config-check ``` ## Usage ```bash mcp-config-check path/to/mcp.json ``` Multiple files: ```bash mcp-config-check ~/Library/Application\ Support/Claude/claude_desktop_config.json ~/.cursor/mcp.json ``` Only show errors (no OK lines, no warnings): ```bash mcp-config-check --quiet path/to/mcp.json ``` Exit status: `0` on no errors, `1` on any errors. ## Use as a library ```python from mcp_config_check import validate_config_file result = validate_config_file("path/to/mcp.json") if not result.ok: for issue in result.errors: print(i…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.