Search / io.github.Ranqint/vibescale
VibeScale
R0· no sign-inPre-launch checks for AI-built apps: leaked keys, Supabase RLS gaps, browser-exposed env vars.
v1.0.0 · active · website · descriptor JSON · versions
Search / io.github.Ranqint/vibescale
R0· no sign-inPre-launch checks for AI-built apps: leaked keys, Supabase RLS gaps, browser-exposed env vars.
v1.0.0 · active · website · descriptor JSON · versions
{
"mcpServers": {
"vibescale": {
"type": "http",
"url": "https://vibe.elya-studio.com/mcp"
}
}
}claude mcp add --transport http vibescale https://vibe.elya-studio.com/mcp[mcp_servers.vibescale]
url = "https://vibe.elya-studio.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"vibescale": {
"type": "remote",
"url": "https://vibe.elya-studio.com/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"vibescale": {
"type": "http",
"url": "https://vibe.elya-studio.com/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=vibescale&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vdmliZS5lbHlhLXN0dWRpby5jb20vbWNwIn0%3D"
}{
"servers": {
"vibescale": {
"type": "http",
"url": "https://vibe.elya-studio.com/mcp"
}
}
}{
"mcpServers": {
"vibescale": {
"httpUrl": "https://vibe.elya-studio.com/mcp"
}
}
}extensions:
"vibescale":
enabled: true
name: "vibescale"
type: streamable_http
uri: "https://vibe.elya-studio.com/mcp"
timeout: 300
protocol.modernprotocol.statelessprotocol.transportprotocol.list_ttlauth.prm, auth.as_metadata, auth.cimdauth.secret_in_urltools.descriptionstools.description_lengthtools.schemastools.annotationstools.directory_hintstools.token_costtools.api_dumptools.hidden_textstability.changes, stability.rug_pull, stability.new_linksdeps.known_vulns, deps.mcp_sdk_version, deps.resolvableNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+website +reachable +uptime-100% +updated-2d-ago -no-repository
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://vibe.elya-studio.com/mcp streamable-http | none | yes | 100% | 215 ms | 2025-11-25 | 2026-11-14 |
check_env_exposureread-only | Takes environment variable NAMES (never values) and says, for each one, whether the build tool ships it to every visitor (VITE_, NEXT_PUBLIC_, EXPO_PUBLIC_, REACT_APP_, PUBLIC_, GATSBY_, NUXT_PUBLIC_) and whether its name looks like a server secret that must not be there. Use when someone asks whether their .env or API keys are exposed in a Lovable, Bolt, Vite, Next.js or Expo app. Send names only; if a value is included it is dropped and not stored. Explanations are in Hebrew. |
lint_supabase_rlsread-only | Reads Supabase SQL (migrations or a schema dump) as text and lists tables in exposed schemas without row level security, RLS with no policy, policies that allow everything or read user_metadata, policies without a role, write grants to anon, SECURITY DEFINER functions and views, new tables without a grant, and public storage buckets, each with SQL that fixes it. Use when someone asks whether their Supabase database is locked down, or before launching an app that uses Supabase. The SQL is never executed or stored; policy logic (who should see what) is not judged. Findings are in Hebrew. |
scan_app_launch_readinessread-only | Reads one public web app the way a browser does (its HTML, the same-site scripts it loads and any source maps they point to) and reports what any visitor can already see: server secret keys shipped to the browser (Supabase service_role, OpenAI, Anthropic, Stripe, AWS, GitHub, SendGrid, Resend; shown masked), a published source map, no HTTPS, and missing Content-Security-Policy, HSTS or frame protection. Use when someone built an app with Lovable, Base44, Bolt, Cursor, Replit or similar and asks whether it is safe to launch or whether a key leaked. It does not sign in, guess paths or query the app's database. Findings are in Hebrew. |
Schemas: list_tools.
{
"name": "io.github.Ranqint/vibescale",
"title": "VibeScale",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://vibe.elya-studio.com/mcp",
"type": "streamable-http"
}
],
"version": "1.0.0",
"websiteUrl": "https://vibe.elya-studio.com/tools/chatgpt-claude",
"description": "Pre-launch checks for AI-built apps: leaked keys, Supabase RLS gaps, browser-exposed env vars."
}