charter doctor reports one of the three MCP safety rules — AE-MCP-001, AE-MCP-002, or AE-MCP-003. MCP findings are often the highest-signal findings in a repo because they touch dependency integrity, origin trust, and remote authentication. For the reasoning behind each rule, see the MCP Safety Model.
- AE-MCP-001 — Version pinning
- AE-MCP-002 — Trusted remotes
- AE-MCP-003 — Auth declaration
What it means: An MCP server entry is using a floating version (Fix pattern — pin to an exact version:Or let Charter apply a catalog-aware bump for you:Common version problems Charter flags:
@latest, a semver range like ^1.2.3, a missing version entirely, or a deprecated/archived package). Charter requires exact version pins for supply-chain auditability.Example finding:Deprecated packages (such as
@modelcontextprotocol/server-github) cannot be auto-fixed — the migration path is a different package entirely. Charter provides the successor package name in the finding output. You must make that migration manually.Re-scan after changes
After editing your MCP config orcharter.yaml:
Fast investigation loop
When not to suppress MCP findings
MCP findings are high-signal. Do not jump straight to suppression for findings that point at real supply-chain or trust problems. Suppress only when:- the repo intentionally carries a reviewed exception (e.g., a vendored test fixture)
- you have a real reason and, for permanent suppressions, an approver
Next steps
MCP Safety Model
Why pinning, trusted remotes, and auth declaration are first-class readiness signals.
charter.yaml Reference
Declare reviewed remote hosts with
mcp.trustedRemotes.Use charter fix Safely
Apply the AE-MCP-001 pin bump without surprises.
Suppress a Finding
Record a reviewed MCP exception when one is justified.