{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_rjee7e53yu6u","handle":"mcp-policy-lint","url":"https://wellknown.network/agents/mcp-policy-lint","links":{"self":"https://wellknown.network/agents/mcp-policy-lint/record.json","html":"https://wellknown.network/agents/mcp-policy-lint","markdown":"https://wellknown.network/agents/mcp-policy-lint/record.md","api":"https://wellknown.network/api/v1/agents/mcp-policy-lint","status":"https://wellknown.network/api/v1/agents/mcp-policy-lint/status","claim":"https://wellknown.network/agents/mcp-policy-lint/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/mcp-policy-lint/claim.json","badge":"https://wellknown.network/agents/mcp-policy-lint/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/mcp-policy-lint/history","tools":"https://wellknown.network/api/v1/agents/mcp-policy-lint/tools"},"ard":{"identifier":"urn:air::server:mcp-policy-lint","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"mcp-policy-lint","summary":"Read your MCP config before you run the server: zero-dependency policy lint, diff and CI gate.","description":"# mcp-policy-lint \n \n[![ci](https://github.com/ravenkernel/mcp-policy-lint/actions/workflows/ci.yml/badge.svg)](https://github.com/ravenkernel/mcp-policy-lint/actions/workflows/ci.yml) [![license](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](https://github.com/ravenkernel/mcp-policy-lint/blob/main/LICENSE) [![PyPI](https://img.shields.io/pypi/v/mcp-policy-lint.svg)](https://pypi.org/project/mcp-policy-lint/) \n \n**English** | [简体中文](README.zh-CN.md) \n \nTurn `mcp.json` into a readable, testable, PR-blocking permission policy — **before** you run any MCP server. Local, zero dependencies, no model key, no Docker. \n \n```bash \npip install mcp-policy-lint   # installs the mcp-policy-lint command \nmcp-policy-lint demo                  # 30 seconds, no network, no API key, no Docker \n# from a checkout instead: pip install -e . \n``` \n \n``` \nmcp-policy-lint demo — 2 servers scanned, 6 findings \nno network, no API key, no Docker \n(vs sample baseline: 3 drift rows — run `mcp-policy-lint diff` to inspect) \n \nmcp-policy-lint 0.2.0 — 6 findings \n \nERROR  POL003  remote       /mcpServers/remote/url                 Plaintext HTTP to a remote endpoint \n        http://api.example.com/mcp has no TLS, so tool descriptions and responses can be altered in transit \n        fix: Use https:// and confirm the authentication settings \nERROR  POL001  shell        /mcpServers/shell/command              stdio command can start a shell \n        shell runs its arguments through sh, so it can execute arbitrary commands \n        fix: Call a concrete executable directly instead of assembling a command with -c \nERROR  POL002  shell        /mcpServers/shell/env/AWS_SECRET_ACCESS_KEY Likely real credential in config \n        AWS_SECRET_ACCESS_KEY is not a placeholder; it can leak through logs or travel with the repository \n        fix: Reference an environment variable or a secret manager; never put the value in mcp.json \nERROR  POL004  shell        /mcpServers/shell/roots/0              r…","publisher":null,"homepage":"https://github.com/ravenkernel/mcp-policy-lint","repository":"https://github.com/ravenkernel/mcp-policy-lint/releases","version":"0.2.0","license":"Apache-2.0","protocols":["mcp"],"tags":["mcp","model-context-protocol","mcp-servers","linter","policy","policy-as-code","ci","static-analysis","security","agent"],"pricing":null,"endpoints":[{"url":"pypi:mcp-policy-lint","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":"dev.ci-cd","name":"CI/CD & Deploy","confidence":1,"provenance":"declared"},{"slug":"dev.version-control","name":"Version Control","confidence":0.825,"provenance":"derived"},{"slug":"dev.package-management","name":"Packages & Dependencies","confidence":0.825,"provenance":"derived"},{"slug":"code.security-review","name":"Security Review","confidence":0.75,"provenance":"derived"},{"slug":"dev.terminal","name":"Terminal & Shell","confidence":0.745,"provenance":"derived"},{"slug":"infra.cloud","name":"Cloud Platforms","confidence":0.745,"provenance":"derived"}],"categories":["code","dev","infra"],"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-policy-lint","registry":"pypi","observedAt":"2026-11-05T22:26:19.884Z","publishedAt":"2026-11-05T16:44:33.897254Z","latestVersion":"0.2.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"mcp-policy-lint","url":"https://pypi.org/project/mcp-policy-lint/","firstSeenAt":"2026-11-05T22:24:20.703Z","fetchedAt":"2026-11-05T22:24:20.703Z","normalizedAt":"2026-11-05T22:24:20.703Z"}]},"firstSeenAt":"2026-11-05T22:24:20.703Z","updatedAt":"2026-11-05T22:26:19.884Z"}