Skip to content

Vibe Shipped

by sorindecu · remote · no sign-in to list tools · v1.6.0 · published by GitHub user sorindecu

Sourced directory of real apps built with AI coding tools, plus build tools, harnesses, what is new.

Final · 1Changes · 5Changed

16 tools: 1 do something that can't be undone, 5 change things and 10 only read.

Scanned Oct 21, 2026 · tools changed Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http vibeshipped https://vibeshipped.io/api/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

16 tools

Can't be undone 1Claude Code: ask
  • submit_appSend an app built with AI to the Vibe Shipped human review queue.Reads text others writeCan send data outNo findings

    Why it is in this group

    • The name "submit_app" says "submit": a word for a change.
    • The description's first verb is "send": a word for sending, and what is sent cannot be taken back.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
    Description, as the server wrote it
    Send an app built with AI to the Vibe Shipped human review queue. Use when: the user explicitly asks to list their own app and gives a public source (post, launch page or interview) naming the AI tool used. Do not use for: apps the user did not ask to submit, or apps without a public source. Returns: status pending, or isError with the validation message. Limits: Write, not destructive: nothing is published automatically. Example: {"title":"Habitly","url":"https://habitly.app","source_url":"https://x.com/maker/status/123","one_liner":"Habit tracker","tools":["lovable"],"builder_name":"Ana"}

    Annotations the server declares

    • title: Submit app
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
Changes things 5Claude Code: ask
  • latest_appsThe most recently added apps built with AI, newest first.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The most recently added apps built with AI, newest first. Use when: the user asks what was shipped recently, with no filter. Do not use for: filtering by tool or keyword (search_apps); tool and harness changes (whats_new). Returns: apps[] with the same fields as search_apps. Limits: limit 1-50, default 10. Example: {"limit":5}

    Annotations the server declares

    • title: Latest apps
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • recommend_stackRank AI build tools and coding-agent harnesses for an app idea with deterministic, documented scoring (no LLM).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Rank AI build tools and coding-agent harnesses for an app idea with deterministic, documented scoring (no LLM). Use when: the user describes what they want to build and asks which AI tool to use. Do not use for: the user already named the tools to choose between (compare_tools). Returns: ranked results with score breakdown, pricing with checked date and source, and example apps with links. Limits: Scores use shipped-app counts, idea match, platform, experience, budget vs stated pricing and preferred harness. limit 1-10, default 5. Example: {"idea":"habit tracker mobile app","platform":"mobile","experience":"beginner","budget_usd_month":25}

    Annotations the server declares

    • title: Recommend stack
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • subscribe_newsletterSubscribe the user's own email to a Vibe Shipped newsletter: daily (new apps built with AI) or agent-brief (weekly AI coding tools and harnesses).Reads text others writeNo findings

    Why it is in this group

    • The name "subscribe_newsletter" says "subscribe": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Subscribe the user's own email to a Vibe Shipped newsletter: daily (new apps built with AI) or agent-brief (weekly AI coding tools and harnesses). Use when: the user explicitly asks to subscribe and gives their own email. Do not use for: any address the user did not provide. Returns: a receipt usable to unsubscribe (DELETE /api/subscribe). Limits: Write; idempotent per email and list. Example: {"email":"me@example.com","list":"agent-brief"}

    Annotations the server declares

    • title: Subscribe
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • top_toolsRank AI build tools by one metric computed from Vibe Shipped listings.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Rank AI build tools by one metric computed from Vibe Shipped listings. Use when: the user asks which AI tool has the most shipped apps, the most stated revenue, or is trending. Do not use for: full stats without a ranking (list_tools). Returns: tools[] ordered by the metric, with the same fields as list_tools. Limits: by = count | revenue (total stated monthly USD) | median | trending (new listings in the last 30 days); limit 1-20. Revenue is as stated, not audited. Example: {"by":"revenue","limit":5}

    Annotations the server declares

    • title: Top tools
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • whats_newDated changelog of the Vibe Shipped directory: apps built with AI, AI build tools, Agent Toolbox entries and agent harnesses that were added or updated, newest first.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Dated changelog of the Vibe Shipped directory: apps built with AI, AI build tools, Agent Toolbox entries and agent harnesses that were added or updated, newest first. Use when: the user asks what changed recently in AI coding tools, or you want to refresh earlier results since a date. Do not use for: keyword search (search_apps) or full lists (list_tools, list_harnesses). Returns: items[] with type, slug, name, change (added|updated), date (YYYY-MM-DD), url to cite, source, date_basis. Limits: since is inclusive; type takes app, tool, agent-tool, harness (comma-separated); limit 1-500, default 50. Example: {"since":"2026-10-15","type":"harness,agent-tool","limit":20}

    Annotations the server declares

    • title: What's new
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 10Claude Code: allow
  • compare_toolsSide-by-side sourced facts for 2-4 slugs, mixing AI build tools, agent harnesses and Agent Toolbox entries.No findings

    Why it is in this group

    • The name "compare_tools" says "compare": a word for reading.
    Description, as the server wrote it
    Side-by-side sourced facts for 2-4 slugs, mixing AI build tools, agent harnesses and Agent Toolbox entries. Answers "X vs Y" questions such as Cursor vs Claude Code. Use when: the user is choosing between specific named tools. Do not use for: open-ended "what should I use to build X" (recommend_stack); a single tool (get_tool). Returns: per slug: pricing with checked date and source, free tier, lowest stated $/mo, apps on Vibe Shipped, licence, interface, GitHub stars with date, MCP/subagents/headless/sandboxing (null = not stated). Limits: 2-4 slugs; isError bad_input if fewer than 2 resolve. Example: {"tools":["claude-code","openai-codex-cli","aider"]}

    Annotations the server declares

    • title: Compare tools
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_appFull record for one listed app by slug.No findings

    Why it is in this group

    • The name "get_app" says "get": a word for reading.
    Description, as the server wrote it
    Full record for one listed app by slug. Use when: you have a slug from search_apps, latest_apps or get_vibe50 and need its source, website, builder, stack, stated revenue or evidence tier. Do not use for: discovering apps (search_apps). Returns: the app record, including evidence_tier, evidence_basis, evidence_checked_at and link; or isError code not_found. Limits: Only live listings are returned. Example: {"slug":"stella"}

    Annotations the server declares

    • title: Get app
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_harnessFull sourced record for one agent harness by slug.No findings

    Why it is in this group

    • The name "get_harness" says "get": a word for reading.
    Description, as the server wrote it
    Full sourced record for one agent harness by slug. Use when: you have a harness slug and need its sources, caveats, pricing or feature evidence. Do not use for: listing or filtering harnesses (list_harnesses). Returns: the harness with source URLs, dated checks (pricing, features, stars, last_checked) and related Vibe Shipped pages; or isError not_found. Limits: Slugs come from list_harnesses. Example: {"slug":"openai-codex-cli"}

    Annotations the server declares

    • title: Get harness
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_sponsorship_infoVibe Shipped sponsorship offers (featured listing, week sponsor, Weekly Top 10 presenting sponsor, month takeover) with prices and Stripe checkout links.No findings

    Why it is in this group

    • The name "get_sponsorship_info" says "get": a word for reading.
    Description, as the server wrote it
    Vibe Shipped sponsorship offers (featured listing, week sponsor, Weekly Top 10 presenting sponsor, month takeover) with prices and Stripe checkout links. Use when: the user asks about advertising or sponsoring on Vibe Shipped. Do not use for: paying on the user's behalf; hand the checkout URL to the human. Returns: offers[], a checkout object for the $300 Week Sponsor, contact email and sponsor page URL. Limits: No parameters. Sponsored placements are labeled; rankings are not for sale. Example: {}

    Annotations the server declares

    • title: Sponsorship info
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_toolFull sourced facts for one AI build tool, agent harness or Agent Toolbox entry.No findings

    Why it is in this group

    • The name "get_tool" says "get": a word for reading.
    Description, as the server wrote it
    Full sourced facts for one AI build tool, agent harness or Agent Toolbox entry. Use when: you need pricing, licence, features or app stats for a single slug. Do not use for: several tools at once (compare_tools). Returns: pricing with pricing_checked and source, last_checked, app stats and Vibe Shipped links; or isError not_found. Limits: Slugs come from list_tools, list_harnesses or list_agent_tools. Example: {"slug":"lovable"}

    Annotations the server declares

    • title: Get tool
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_vibe50The Vibe Shipped 50: apps built with AI coding tools, ranked by stated, sourced monthly USD revenue.No findings

    Why it is in this group

    • The name "get_vibe50" says "get": a word for reading.
    Description, as the server wrote it
    The Vibe Shipped 50: apps built with AI coding tools, ranked by stated, sourced monthly USD revenue. Use when: the user asks how much vibe-coded apps earn, or for the top earners built with a tool. Do not use for: finding apps by keyword (search_apps). Returns: ranked[] with rank, revenue_stated, monthly_usd, evidence_tier (A verified, B documented, C maker-claimed), evidence_basis, evidence_checked_at, revenue_date, stale flag, source_url, link. include_unranked adds notable unranked apps and the method. Limits: limit 1-50. Always say figures are as stated and give the evidence tier. Example: {"tool":"cursor","limit":10}

    Annotations the server declares

    • title: Vibe Shipped 50
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_agent_toolsThe Agent Toolbox: agentic build tools (Cline, Aider, OpenHands, Codex CLI, Gemini CLI, Devin, Jules, Kiro, Amp, Warp, n8n, Browser Use and more) by category.Reads text others writeNo findings

    Why it is in this group

    • The name "list_agent_tools" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe description's first sentence says "browser": it reads web pages, which anyone can write.
    Description, as the server wrote it
    The Agent Toolbox: agentic build tools (Cline, Aider, OpenHands, Codex CLI, Gemini CLI, Devin, Jules, Kiro, Amp, Warp, n8n, Browser Use and more) by category. Use when: the user wants agent options of a kind (CLI, IDE, autonomous SWE, browser, workflow), MCP servers, AI coding models, or stack pieces (hosting, database, auth, payments) with dated official pricing, or only open-source ones. Do not use for: harness features such as MCP or sandboxing (list_harnesses). Returns: per tool: what, best_for, licence (GitHub-checked, with date), pricing with source and pricing_checked, last_checked. Limits: category is one of the enum values; open_source true filters to open source. Example: {"category":"CLI agent","open_source":true}

    Annotations the server declares

    • title: List agent tools
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_harnessesCoding-agent harnesses (Claude Code, Codex CLI, Gemini CLI, OpenCode, goose, Cline, Aider...) and agent frameworks (Claude Agent SDK, OpenAI Agents SDK, smolagents, Mastra, LangGra…Reads private dataNo findings

    Why it is in this group

    • The name "list_harnesses" says "list": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "doc": it reads documents.
    Description, as the server wrote it
    Coding-agent harnesses (Claude Code, Codex CLI, Gemini CLI, OpenCode, goose, Cline, Aider...) and agent frameworks (Claude Agent SDK, OpenAI Agents SDK, smolagents, Mastra, LangGraph) with docs-verified facts. Use when: the user is choosing a coding agent or agent framework by licence, interface, model support or features. Do not use for: one harness in depth (get_harness); app builders such as Lovable (list_tools). Returns: per harness: maker, interface, licence, GitHub stars with date, models, pricing with pricing_checked, features (MCP, subagents, headless, sandboxing) with features_checked, last_checked. Limits: Filters: kind, interface prefix, open_source, byo_model, mcp, q. null means not stated or not verified, never 'no'. Example: {"kind":"coding agent","open_source":true,"mcp":true}

    Annotations the server declares

    • title: List harnesses
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_toolsEvery AI build tool Vibe Shipped tracks (Cursor, Claude Code, Lovable, Bolt, Replit, v0, Windsurf, Rork, Base44) with official pricing and app stats.No findings

    Why it is in this group

    • The name "list_tools" says "list": a word for reading.
    Description, as the server wrote it
    Every AI build tool Vibe Shipped tracks (Cursor, Claude Code, Lovable, Bolt, Replit, v0, Windsurf, Rork, Base44) with official pricing and app stats. Use when: the user asks which AI build tools exist or what they cost, or you need tool ids for other calls. Do not use for: a ranking (top_tools), 2-4 side by side (compare_tools), coding-agent harnesses (list_harnesses). Returns: per tool: what, best_for, pricing (copied from the official page), pricing_url, pricing_checked (date), app count, stated revenue total and median, top apps, new_last_30d. Limits: No parameters. pricing null means no clear price on the official page; cite pricing_checked. Example: {}

    Annotations the server declares

    • title: List tools
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • search_appsFind real, shipped apps built with AI coding tools (Cursor, Claude Code, Lovable, Bolt, Replit, v0, Windsurf, Rork, Base44).No findings

    Why it is in this group

    • The name "search_apps" says "search": a word for reading.
    Description, as the server wrote it
    Find real, shipped apps built with AI coding tools (Cursor, Claude Code, Lovable, Bolt, Replit, v0, Windsurf, Rork, Base44). Every app links to a public source showing which tool built it. Use when: the user wants real examples of apps built with a tool, in a category, or matching keywords. Do not use for: one known slug (get_app), newest apps without filters (latest_apps), revenue rankings (get_vibe50), general coding help. Returns: total and apps[] with title, one_liner, tools, category, revenue_stated, evidence_tier (verified|documented|claim), evidence_label, evidence_basis, evidence_checked_at, source_url, link (cite this). Limits: q is AND keyword match over title, one-liner, category, builder, tools and stack; limit 1-50, default 10. Revenue is as stated, not audited. Example: {"tool":"lovable","q":"saas","limit":5}

    Annotations the server declares

    • title: Search apps
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

3 paths in this server alone from private data, through text someone else wrote, to a way out. Denying 1 outbound tool breaks every one.

Reads private data1
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write3
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out1
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
deny to break every path
{
  "permissions": {
    "deny": [
      "mcp__vibeshipped__submit_app"
    ]
  }
}

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Tool changes

Every rescan that found different tool definitions, newest first.

  1. Oct 21, 2026

    0d28376d0af4

    ~16 changed

Install

Pinned to version 1.6.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http vibeshipped https://vibeshipped.io/api/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__vibeshipped__search_apps",
      "mcp__vibeshipped__get_app",
      "mcp__vibeshipped__list_tools",
      "mcp__vibeshipped__compare_tools",
      "mcp__vibeshipped__get_tool",
      "mcp__vibeshipped__get_vibe50",
      "mcp__vibeshipped__list_agent_tools",
      "mcp__vibeshipped__list_harnesses",
      "mcp__vibeshipped__get_harness",
      "mcp__vibeshipped__get_sponsorship_info"
    ],
    "ask": [
      "mcp__vibeshipped__whats_new",
      "mcp__vibeshipped__recommend_stack",
      "mcp__vibeshipped__top_tools",
      "mcp__vibeshipped__latest_apps",
      "mcp__vibeshipped__submit_app",
      "mcp__vibeshipped__subscribe_newsletter"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as vibeshipped. Review it before you use it.

Capability tags behind 4 rules
  • mcp__vibeshipped__list_agent_tools untrusted-input
  • mcp__vibeshipped__list_harnesses private-data
  • mcp__vibeshipped__submit_app untrusted-input, outbound
  • mcp__vibeshipped__subscribe_newsletter untrusted-input