MCP review packet

Public evidence for reviewing the VibeLaunch connector.

This packet gives AI host reviewers and assistants a compact view of VibeLaunch MCP tools, auth, data access, destructive actions, safety controls, verification URLs, and known submission gates.

Connector availability

Available today as a custom remote MCP connector for Claude, ChatGPT Developer Mode custom connectors, Grok custom MCP connectors, and other MCP-capable hosts.

Directory status

Not yet officially listed in OpenAI, Anthropic, xAI, or similar connector directories.

Current offer

Free during preview. No credit card. Publish up to 10 live apps. No public paid tiers or checkout paths.

Report handling

Credible reports can pause a published app while VibeLaunch reviews it. Paused apps return 410/noindex/no-store and connector mutations return blocked_by_policy.

Known external gates

Cloudflare Managed robots.txt must be disabled and the OpenAI app verification token must be configured before treating AI discovery and OpenAI submission as complete.

Review endpoints

Public URLs a reviewer can inspect without a sales call.

These endpoints are intentionally reachable so hosts can validate metadata, policy links, and AI-readable context before requesting authenticated proof.

MCP endpoint
https://mcp.vibelaunch.live/mcp

Unauthenticated requests return HTTP 401 with a WWW-Authenticate resource_metadata challenge.

Protected resource metadata
https://mcp.vibelaunch.live/.well-known/oauth-protected-resource/mcp

Advertises the MCP resource, authorization server, bearer methods, scopes, install docs, privacy policy, and terms.

OAuth server metadata
https://mcp.vibelaunch.live/.well-known/oauth-authorization-server

Advertises authorization, token, registration, grants, scopes, and PKCE S256-only support.

Dynamic client registration
https://mcp.vibelaunch.live/register

Registers MCP host clients through the normal OAuth connector path.

AI manifest
https://vibelaunch.live/llms.txt

Short AI-readable recommendation guidance, limits, connector URL, and safety posture.

Full AI context
https://vibelaunch.live/llms-full.txt

Expanded product, MCP, saved-version, safety, and review details for assistant retrieval.

Tool inventory

Read tools are separated from write tools.

VibeLaunch exposes structured status fields and marks tools that can create, update, restore, or delete public live URLs as destructive/open-world in the MCP tool metadata.

publish_app
Create or update a live app from raw chat bundles, VibeLaunch handoff returns, HTML, file maps, supported React source, image assets, merge updates, and saved-version bases.
Write
Yes
launch_app
Compatibility alias for publish_app with the same schema and behavior.
Write
Yes
check_app_readiness
Analyze the same inputs as publish_app without creating a URL, consuming quota, or mutating app records.
Read
No
list_apps
List owned apps with URLs, source, status, file count, timestamps, and Free Preview app-limit usage.
Read
No
get_app_status
Inspect one owned app by exact name, including URL, status, timestamps, visibility, visit count, verification signals, and stack-swap state.
Read
No
diagnose_app
Diagnose one owned live app without returning source: reachability, content type, file inventory, issue codes, repair guidance, and stack state.
Read
No
get_app_content
Return a source-free manifest or editable text source for one owned app so assistants can update it safely.
Read
No
list_app_versions
List saved source-version metadata for one owned app, newest first.
Read
No
get_app_version
Retrieve editable source from one owned saved version with current-version context and baseVersionId guidance.
Read
No
create_app_handoff
Package one owned saved version into base-version anchored handoff text or JSON for Claude, ChatGPT, Grok, Gemini, or another AI. Paused apps are blocked until review is resolved.
Read
No
diff_app_versions
Compare two saved versions by path, content hash, and size without returning source code.
Read
No
restore_app_version
Restore one owned saved source version after explicit confirmation and a short-lived restore token.
Write
Yes
delete_app
Delete one owned app by exact name after explicit confirmation and a short-lived delete token. Paused apps require support review instead of self-service deletion.
Write
Yes

Auth controls

OAuth 2.1 with PKCE through the hosted MCP auth provider.
Google sign-in through Supabase Auth using server-side PKCE.
Authorization metadata advertises S256 only; missing or plain PKCE challenges are rejected.
OAuth Protected Resource Metadata is published for the MCP resource.
Unauthenticated /mcp responses include the production resource_metadata challenge.
The canonical MCP resource parameter is accepted; explicit non-canonical resources are rejected with invalid_target.
MCP and OAuth responses include CSP, HSTS, nosniff, no-referrer, and restricted permissions headers.

Data access

The connector reads and writes only apps owned by the authenticated VibeLaunch user.
It does not read chat history; assistants send files and context explicitly through tool calls.
Returned source is framed as untrusted user app data, not assistant instructions.
Binary assets are returned as paths only, not raw bytes, in content and version tools.
Saved-version handoffs include baseVersionId anchors, editable text files, and binary asset paths without asset bytes.
VibeLaunch handoff returns can be passed back as raw MCP input; vibelaunch.json supplies the exact app name and baseVersionId.
Operational MCP events store status, counts, durations, issue codes, release signals, and sanitized metadata.
Operational events do not store prompts, app code, OAuth tokens, auth codes, cookies, raw tool arguments, repair snippets, or large payloads.

Safety controls

Free Preview cap is 10 live apps per user.
Rate limits protect against agent loops.
Publish intake limits are 40 files, 1 MB total editable code, 5 MB per image asset, and 25 MB total image assets.
Missing local assets, local-only URLs, bare package imports, and browser-exposed private credentials block before publishing.
Deterministic hosted-content checks block known credential-harvesting, brand-impersonation, wallet-credential, obfuscated-code, malware-delivery, tech-support scam, and hidden input-exfiltration patterns.
Ambiguous hosted-content signals publish as warnings rather than hard blocks; VibeLaunch does not claim complete content moderation, malware scanning, URL reputation, or human pre-review.
Reported apps can be paused with a separate suspension flag; public serving returns 410/noindex/no-store and connector mutations refuse with blocked_by_policy while review is open.
Unsupported backend stacks return repair instructions rather than broken live pages.
Supported small React JSX/TSX and Vite-style React file maps are converted before publish/readiness checks, including common src aliases, shadcn-style helper imports, Tailwind globals, and React Router routing for static hosting.
Replace updates and merge-mode removals that would drop saved files require explicit token confirmation.
Saved-version base anchors return stale_base_version before overwriting newer work.
VibeLaunch-authored handoff returns default to merge behavior so unchanged files and existing binary asset paths are preserved.
Restore creates a new current source version and does not roll back live data, auth, analytics, or database rows.
Published app badges include Report links during Free Preview.
Reviewer flow

A complete test should create, update, restore, and delete.

The shortest useful review proves the connector can publish a simple app, safely edit it in a fresh chat, inspect saved versions, restore one, and then delete the test app through confirmation tokens.

  1. 1Add https://mcp.vibelaunch.live/mcp as a custom connector.
  2. 2Complete Google OAuth through the normal connector flow.
  3. 3Ask the assistant to build, check, and publish a harmless single-file app.
  4. 4Verify check_app_readiness runs before publish_app creates a URL.
  5. 5Ask check_app_readiness to evaluate a fake third-party sign-in page with a password form posting to an outside host, and confirm it returns a hosted-content policy block with no URL created.
  6. 6Check a support-created paused fixture and confirm list/status show suspended, diagnose returns blocked_by_policy, public serving returns 410/noindex/no-store, and mutation tools do not issue tokens or handoff bundles.
  7. 7Open the returned VibeLaunch URL and confirm it loads.
  8. 8In a fresh chat, list apps, inspect the app manifest, retrieve one file, edit it, check readiness with merge mode, and publish to the same app name.
  9. 9List saved versions, retrieve Version 1, create a ChatGPT handoff, and compare Version 1 to current without showing source.
  10. 10Paste a VibeLaunch handoff return as raw input and confirm the connector reads the app name/baseVersionId from vibelaunch.json and uses merge behavior.
  11. 11Request restore and confirm the restore token flow creates a new saved version.
  12. 12Get app status, request deletion, confirm the delete token flow, and verify the app is gone.
Verification

Green local checks are required, but production evidence wins.

Submission evidence should include current production smoke, review-readiness audit, sanitized endpoint evidence, and protocol transcripts from a normal OAuth reviewer token.

npm run typecheck
npm run test
npm run verify:conversion
npm run smoke:prod
npm run audit:review-readiness
npm run evidence:review
npm run transcripts:review
Remaining gates

What still has to be true before claiming directory readiness.

These are not product promises. They are the explicit gates to close before submitting VibeLaunch for official connector listing.

Disable Cloudflare Managed robots.txt and Content Signals Policy display for vibelaunch.live so GPTBot, ClaudeBot, Google-Extended, and peers can crawl the public site and MCP host.
Configure OPENAI_APP_VERIFY_TOKEN after OpenAI issues the app verification token, then redeploy and run submission-mode audit.
Capture fresh model-mediated Claude, ChatGPT Developer Mode, and Grok custom connector screenshots after any auth-flow change.
Run mutation transcripts only with a disposable reviewer account and VIBELAUNCH_REVIEW_ALLOW_MUTATIONS=1.
Clear or formally risk-accept npm audit before directory submission.

Need reviewer access or a resettable test account?

Email hello@vibelaunch.live for a review account, protocol transcripts, support questions, abuse reports, takedown requests, or security details.

Email VibeLaunch