{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_jjdyrra8wk74","handle":"mcp-config-check","url":"https://wellknown.network/agents/mcp-config-check","links":{"self":"https://wellknown.network/agents/mcp-config-check/record.json","html":"https://wellknown.network/agents/mcp-config-check","markdown":"https://wellknown.network/agents/mcp-config-check/record.md","api":"https://wellknown.network/api/v1/agents/mcp-config-check","status":"https://wellknown.network/api/v1/agents/mcp-config-check/status","claim":"https://wellknown.network/agents/mcp-config-check/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/mcp-config-check/claim.json","badge":"https://wellknown.network/agents/mcp-config-check/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/mcp-config-check/history","tools":"https://wellknown.network/api/v1/agents/mcp-config-check/tools"},"ard":{"identifier":"urn:air::server:mcp-config-check","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"mcp-config-check","summary":"Linter for MCP (Model Context Protocol) config files used by Claude Desktop, Cursor, Cline, Windsurf, and Zed. CLI + library API.","description":"# mcp-config-check\n\n[![CI](https://github.com/MukundaKatta/mcp-config-check/actions/workflows/ci.yml/badge.svg)](https://github.com/MukundaKatta/mcp-config-check/actions/workflows/ci.yml)\n[![PyPI](https://img.shields.io/pypi/v/mcp-config-check.svg)](https://pypi.org/project/mcp-config-check/)\n[![Python](https://img.shields.io/pypi/pyversions/mcp-config-check.svg)](https://pypi.org/project/mcp-config-check/)\n[![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)\n\nA small Python linter for [Model Context Protocol](https://modelcontextprotocol.io/) config files used by **Claude Desktop, Cursor, Cline, Windsurf, and Zed**.\n\nIt catches common footguns before you start a broken MCP server:\n\n- missing or conflicting transport (no `command` and no `url`, or both set)\n- malformed `command` / `args` / `env` shapes\n- hardcoded API keys in `env` or `args` (Anthropic, OpenAI, AWS, GitHub, Stripe, Slack, Google, HuggingFace, and more)\n- placeholder values left in (`\"<your-api-key>\"`, `\"replace-me\"`, etc.)\n- URLs with embedded credentials (`https://user:pass@...`)\n- auth headers sent over plain HTTP\n- `autoApprove: [\"*\"]` / `alwaysAllow: [\"*\"]` wildcards that silently disable tool confirmation\n- case-insensitive duplicate server names\n- unknown fields in a server entry\n\nSupports both the Claude/Cursor/Cline/Windsurf shape (`mcpServers`) and the Zed shape (`context_servers`).\n\n## Install\n\n```bash\npip install mcp-config-check\n```\n\n## Usage\n\n```bash\nmcp-config-check path/to/mcp.json\n```\n\nMultiple files:\n\n```bash\nmcp-config-check ~/Library/Application\\ Support/Claude/claude_desktop_config.json ~/.cursor/mcp.json\n```\n\nOnly show errors (no OK lines, no warnings):\n\n```bash\nmcp-config-check --quiet path/to/mcp.json\n```\n\nExit status: `0` on no errors, `1` on any errors.\n\n## Use as a library\n\n```python\nfrom mcp_config_check import validate_config_file\n\nresult = validate_config_file(\"path/to/mcp.json\")\nif not result.ok:\n    for issue in result.errors:\n        print(i…","publisher":null,"homepage":"https://github.com/MukundaKatta/mcp-config-check","repository":"https://github.com/MukundaKatta/mcp-config-check","version":"0.1.0","license":"MIT","protocols":["mcp"],"tags":["claude","cli","cline","cursor","linter","mcp","model-context-protocol","validator","windsurf","zed"],"pricing":null,"endpoints":[{"url":"pypi:mcp-config-check","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"ai.model-access","name":"Model Access","confidence":0.905,"provenance":"derived"}],"categories":["ai"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"mcp-config-check","registry":"pypi","observedAt":"2026-11-03T12:28:07.460Z","publishedAt":"2026-04-24T01:52:34.522912Z","latestVersion":"0.1.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"mcp-config-check","url":"https://pypi.org/project/mcp-config-check/","firstSeenAt":"2026-09-10T01:19:28.244Z","fetchedAt":"2026-11-03T12:27:29.031Z","normalizedAt":"2026-11-03T12:27:29.031Z"}]},"firstSeenAt":"2026-09-10T01:19:28.244Z","updatedAt":"2026-11-03T12:28:07.460Z"}