The checks
22 checks across security, agent-readiness, and protocol quality. Run any subset with --profile.
Security
mutation_gatingMutation gatingState-changing tools must document/guard side effects so agents do not mutate blindly.
privacy_modesPrivacy modesA privacy_mode parameter lets agents request non-sensitive responses.
web_httpsHTTPS / TLSPlaintext HTTP exposes tokens and tool traffic to interception.
web_security_headersSecurity headersHSTS/CSP/X-Content-Type-Options harden the server against common web attacks.
web_auth_postureAuth posture declaredAgents cannot connect safely if they cannot tell whether/how to authenticate.
web_oauth_discoveryOAuth discoveryStandard OAuth metadata lets agents programmatically obtain access.
web_exposed_pathsNo exposed secretsA public /.git or /.env leaks source history and live credentials — critical.
web_cors_postureCORS postureWildcard + credentials CORS is a classic data-exfiltration misconfiguration.
Agent-readiness
agent_manifestAgent manifestrecommended_first_calls tells an agent how to start — the onboarding contract.
manifest_discoverabilityManifest discoverabilityStandard discovery tools (capabilities, inventory) let agents self-orient.
web_llms_txtllms.txtA concise machine summary tells LLMs what the server is and how to use it.
web_mcp_server_cardMCP Server CardThe /.well-known card is how agents discover the server, transport and tools.
web_agent_skillsAgent Skills indexThe skills discovery index lets agents find and verify your capabilities.
web_api_catalogAPI catalog (RFC 9727)A standard catalog points agents to your OpenAPI, docs and status.
web_robots_signalsrobots + AI signalsExplicit AI-bot rules + Content-Signal declare how agents may use your content.
web_structured_dataStructured metadataJSON-LD, OpenGraph and Markdown-for-Agents make the page machine-legible.
Protocol quality
schema_validitySchema validityAgents reject or mis-call tools whose input schemas are invalid or missing.
tool_namingTool namingConsistent snake_case verb_noun names make tools predictable for models to select.
tool_descriptionsTool descriptionsRich descriptions are the only thing a model has to decide when/how to call a tool.
annotationsAnnotationsreadOnly/destructive hints let agents reason about safety before calling.
resourcesResources advertisedExposing resources lets agents pull context without bespoke tool calls.
smoke_testSmoke testA smoke script proves the server actually boots — the baseline of trust.