connector-directory — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited connector-directory (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
How to take this MCP server from "installable" to "listed in the official connector/app directories of Claude and ChatGPT." The concrete, resumable task list lives in docs/connector-directory-plan.md — read it before doing work.
| System | What it is | How this repo reaches it | Gets you into Claude/ChatGPT store? |
|---|---|---|---|
| npm `webcake-landing-mcp` | stdio package | npm publish (CI auto-release.yml) | ❌ local installs only |
MCP Registry io.github.vuluu2k/webcake-landing-mcp | neutral metadata catalog | server.json + mcp-publisher publish (see [[mcp-registry-publishing]]) | ❌ independent catalog |
| Claude Directory / ChatGPT App Directory | each vendor's in-product store | host a remote MCP URL + submit a form + pass review | ✅ this skill |
Publishing to npm or the MCP Registry does not propagate to the vendor stores. They are submitted and reviewed separately.
Claude/ChatGPT do not host your code. You run the server (already deployed at https://mcp.toolvn.io.vn/mcp via serve mode — see src/http.ts); the platforms connect into your public HTTPS /mcp URL. "Deploy" = your infra, not theirs.
https://mcp.toolvn.io.vn/mcp (or ...?jwt=<WEBCAKE_JWT> for per-user auth) into Settings → Connectors → Add custom connector. Claude (Pro/Team/Enterprise + Desktop) and ChatGPT (Business/Enterprise/Edu, Developer mode). No OAuth strictly required — the ?jwt= query path in src/http.ts applyQueryAuth exists for the claude.ai dialog that can't set headers. Downside: only people with the URL can add it.
connector/app list for everyone. Requires OAuth 2.1 (Claude) + metadata + review.
requires it. The server must become an OAuth protected resource:
GET /.well-known/oauth-protected-resource pointing at an Authorization Server.https://claude.ai/api/mcp/auth_callback.client_credentials is NOT accepted as a user-facing flow —each user completes a consent flow.
src/persistence/config.ts configFromHeaders (Authorization: Bearer <jwt> / x-webcake-jwt / ?jwt=). OAuth means: validate a minted access token there instead, then map it to the user's Webcake identity/JWT.
title plus readOnlyHint (reference/generation/media tools) or destructiveHint (create_page/update_page/add_section — they write to the backend). Registered in src/tools/ via server.tool/ registerTool (SDK ≥1.29 supports the annotations arg).
privacy policy, terms, support contact, test account with sample data, screenshots, verified website, production-ready hosting.
Follow the phased plan in docs/connector-directory-plan.md.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.