Check if your MCP server is ready to publish on the MCP Registry, Smithery, or npm.
{
"mcpServers": {
"io-github-evanfollis-preflight": {
"command": "<see-readme>",
"args": []
}
}
}No install config available. Check the server's README for setup instructions.
Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Check if your MCP server is ready to publish on the MCP Registry, Smithery, or npm.
Is it safe?
No package registry to scan.
No authentication — any process on your machine can connect.
License not specified.
Is it maintained?
Commit history unknown.
Will it work with my client?
Transport: . Compatibility not confirmed.
No automated test available for this server. Check the GitHub README for setup instructions.
No known vulnerabilities.
This server is missing a description. Tools and install config are also missing.If you've used it, help the community.
Add informationHave you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Persistent memory using a knowledge graph
Monitor browser logs directly from Cursor and other MCP compatible IDEs.
Privacy-first. MCP is the protocol for tool access. We're the virtualization layer for context.
Pre-build reality check. Scans GitHub, HN, npm, PyPI, Product Hunt — returns 0-100 signal.
MCP Security Weekly
Get CVE alerts and security updates for io.github.evanfollis/preflight and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Validate whether your MCP server is publishable on real directories.
Preflight checks your server's actual artifacts — server.json, package.json, smithery.yaml — against the documented requirements of the MCP Registry, Smithery, and npm. Every finding includes the evidence found, the directory rule it maps to, and the exact fix.
| Directory | Hard requirements verified |
|---|---|
| MCP Registry | server.json schema, name format, packages/remotes config, transport type, npm mcpName ownership, PyPI README marker |
| Smithery | Streamable HTTP transport, public HTTPS endpoint, server-card presence |
| npm | name, version, entry point (bin/main) |
Each finding is tagged with:
verified_from_artifact (parsed from your file) or inferred (absence of expected input)hard_requirement (submission will fail), directory_convention, or heuristicConnect to the MCP endpoint:
https://skillfoundry.synaplex.ai/products/preflight/mcp/
Call check_publish_readiness with your artifact contents:
{
"manifest": "<your server.json content>",
"package_json": "<your package.json content>",
"target_directories": ["mcp_registry", "npm"]
}
curl -X POST https://skillfoundry.synaplex.ai/products/preflight/api/check \
-H 'Content-Type: application/json' \
-d '{
"manifest": "{\"name\":\"io.github.you/your-server\",\"description\":\"...\",\"version\":\"1.0.0\",\"packages\":[{\"registryType\":\"npm\",\"identifier\":\"@you/your-server\",\"transport\":{\"type\":\"stdio\"}}]}"
}'
All optional — provide as many as you have:
| Field | What it unlocks |
|---|---|
manifest | Raw server.json content — MCP Registry schema validation |
package_json | Raw package.json content — npm checks, mcpName verification |
smithery_yaml | Raw smithery.yaml content — Smithery build config checks |
pyproject_toml | Raw pyproject.toml content — Python package checks |
readme | Raw README content — documentation quality, PyPI mcp-name marker |
target_directories | Array of "mcp_registry", "smithery", "npm" — defaults to all applicable |
{
"mode": "artifact_lint",
"serverName": "io.github.you/your-server",
"transportType": "stdio",
"verdict": "fixable",
"findings": [
{
"severity": "block",
"category": "directory_policy",
"check": "npm packages: package.json has 'mcpName' matching server.json 'name'",
"evidence": "package.json missing 'mcpName' field",
"evidenceLevel": "verified_from_artifact",
"affectedArtifact": "package.json",
"rule": {
"ruleId": "mcpreg-npm-mcpname",
"directory": "mcp_registry",
"type": "hard_requirement",
"sourceUrl": "https://modelcontextprotocol.io/registry/package-types",
"lastReviewed": "2026-04-11",
"policyPackVersion": "0.1.0"
},
"fix": "Add '\"mcpName\": \"io.github.you/your-server\"' to package.json."
}
],
"directoryReadiness": {
"mcp_registry": { "state": "blocked", "hardBlockers": 1, "conventionGaps": 0, "heuristicFlags": 0 },
"npm": { "state": "ready", "hardBlockers": 0, "conventionGaps": 0, "heuristicFlags": 0 }
},
"summary": { "totalChecks": 15, "passed": 13, "warnings": 1, "blockers": 1 },
"notChecked": [
{ "reason": "Live endpoint probing is not yet supported (v1.1)", "whatItWouldVerify": "..." }
]
}
Verdicts:
checks_pass — all checked rules pass for target directoriesfixable — has blockers, but every blocker has a concrete fixnot_ready — fundamental issues