List a project

Model Context Protocol

Buy or list a half built app from your AI coding agent.

Add Failedups to your editor and the agent can search the marketplace, read full listings, and email a founder on your behalf. The same connection lets you list a project of your own: the agent drafts it from your code, you answer a few questions, and you publish when you're ready.

https://failedups.com/api/mcp

The fastest way

Tell your AI to install it for you.

Paste this prompt into Claude Code, Cursor, Windsurf, or any other coding agent. Modern agents know how to wire MCP servers into their own config and will set everything up for you.

Add this MCP server to my config: https://failedups.com/api/mcp

Or pick your tool below for the exact config snippet.

Manual setup ↓

Manual setup

Pick your editor.

Click a tool to see the exact snippet, where to paste it, and the docs. Or just stick with the prompt above and let your agent figure it out.

Tools other than Claude Code use the mcp-remote bridge. It runs locally as a child process and proxies the HTTP transport so stdio-only clients can speak to a remote OAuth server.

Preview

A real conversation, in your editor.

Two flows on one connection. Buyers ask the agent to find a half built app that fits their idea, then have the agent email the founder directly. Sellers point the agent at a project and let it draft a listing from the code.

Inquiries are sent with your address as Reply-To, so the founder responds to you. Listings always land as drafts. The agent never publishes unless you tell it to.

Claude Code · /Users/you/projects/inbox-app
List this on Failedups for $1,500
Reading package.json, README, git log...
✓ Next.js, Supabase, Tailwind   ✓ 4 months since last commit
Drafted listing:
Inbox App
B2B email tool for SaaS founders. 80% complete. Next.js + Supabase. Needs final polish + first 10 customers.
Three things only you can answer:
• Why are you selling?
• Contact email for buyers?
• What's included? (domain, design files, users...)
Pivoted. Use my account email. Domain comes with it.
Draft created.
Review at failedups.com/account/listings/...
Say "publish it" when you're ready.

For sellers

From editor to draft listing in three minutes.

  1. Connect

    Add the URL once

    Run the install command. Your browser opens to a Failedups consent screen. Sign in, approve. Your agent gets a scoped token.

  2. Ask

    "List this on Failedups"

    Open the project. Tell your agent. It reads README, package.json, and source files.

  3. Confirm

    Answer the few unknowns

    The agent shows its draft and asks you the things only you can answer: price, status, reason for selling, contact email.

  4. Review

    Polish, then publish

    A draft listing appears in your account. Edit anything. When you say "publish it," the agent submits it for moderation.

For buyers

From "I want to build a SaaS" to a real founder reply.

Buying a working half built app beats building from scratch in almost every case. Most listings sell in the $300 to $5,000 range, a working repo and deployed app are included, and one weekend in your AI agent is usually enough to make it yours.

  1. Frame

    "What's already built like X?"

    Tell the agent your idea. It calls marketplace_philosophy and search_listings to surface listings that already match.

  2. Inspect

    Read the long form, the vision, the why

    The agent calls get_listing for each shortlist candidate. You see the full description, asking price, tech stack, and the founder's honest reason for stopping.

  3. Reach out

    "Email the founder for me"

    The agent calls send_inquiry. Your email is set as Reply-To, so the founder writes back to you, not to us. We never sit in the middle.

  4. Take it over

    One weekend in your agent

    You and the founder agree on terms over email. Repo access, domain, customer list. Most AI built listings rebrand and ship in a single weekend with the same agent that found them.

What the agent can do

Nine tools, scoped by permission.

Read tools (browse, inspect, philosophy) sit at the top because an agent should look before it acts. The contact tool follows. Founder-side write tools are last. The publish tool is opt-in at consent time, never granted by default.

  • marketplace_philosophy

    Pre-baked talking points on why buying a half built app beats building from scratch. The agent reads this when the user asks about starting a SaaS.

    marketplace:read
  • search_listings

    Search live listings by free-text query, status, tech stack, price band, and completion percentage. Returns up to 24 results.

    marketplace:read
  • get_listing

    Fetch the full record for one listing by slug or id, including long description, vision, reason for selling, and tech stack.

    marketplace:read
  • send_inquiry

    Email the founder of a listing on the user's behalf. Reply-To is the user's address, so any response goes straight to their inbox.

    marketplace:read
  • list_tech_stack_items

    Look up the canonical tech taxonomy so the agent uses the right slugs (avoids hallucinated tech names).

    marketplace:read · listings:write
  • list_my_listings

    Show the user's existing listings so the agent can detect duplicates, surface boost upgrades, and offer to update instead.

    listings:write
  • create_listing

    Create a draft listing. Always starts as `draft`. Validates that the user supplied price, status, contact email, and reason for selling.

    listings:write
  • update_listing

    Edit one of the user's listings by id. Partial updates supported.

    listings:write
  • publish_listing

    Submit a listing for moderation. Only fires on explicit user instruction. Always routes through manual review.

    listings:publish

Safety

Defense in depth, not just a checkbox.

Drafts only

The agent can't publish without you

Every MCP-created listing starts as a draft. Publishing requires a separate explicit instruction from you. The publish scope is opt-in at consent time.

Manual review

Every agent submission goes through moderation

MCP-submitted listings always queue for human review, even on accounts with auto-approve enabled. A prompt-injected description never reaches the public marketplace.

Scoped tokens

You choose what the agent can do

Three scopes: marketplace:read (browse + contact), listings:write (create + edit drafts), and listings:publish (submit for moderation). Grant whichever fit your use case. Revoke any time from your account.

Rate limited

A misbehaving agent can't spam

Per-user caps: 30 listing creations and 120 tool calls per hour. Token bodies sanitized before they hit the database.

Buy, sell, or both. From inside your editor.

Sign in once, grant the scopes you actually need, then never leave your editor to use Failedups again.

https://failedups.com/api/mcp

Claude Code

Anthropic's CLI agent with native HTTP transport. No bridge needed.

Where it goes

Run in your terminal

Snippet

claude mcp add --transport http failedups https://failedups.com/api/mcp

Cursor

AI-first code editor. Add globally or per-project.

Where it goes

~/.cursor/mcp.json (or .cursor/mcp.json in your project)

Snippet

{
  "mcpServers": {
    "failedups": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://failedups.com/api/mcp"
      ]
    }
  }
}

Claude Desktop

Anthropic's desktop app. Uses the mcp-remote bridge for OAuth.

Where it goes

~/Library/Application Support/Claude/claude_desktop_config.json (macOS)

Snippet

{
  "mcpServers": {
    "failedups": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://failedups.com/api/mcp"
      ]
    }
  }
}

Windsurf

Codeium's agentic editor. Same bridge config as Cursor.

Where it goes

~/.codeium/windsurf/mcp_config.json

Snippet

{
  "mcpServers": {
    "failedups": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://failedups.com/api/mcp"
      ]
    }
  }
}

Any MCP client

Generic instructions for any tool that speaks Streamable HTTP.

Where it goes

Whatever your client calls its MCP config

Snippet

# Transport: HTTP (Streamable)
# Auth:      OAuth 2.1 (PKCE, dynamic client registration)
# Server:    https://failedups.com/api/mcp

# If your client only speaks stdio, wrap with mcp-remote:
npx -y mcp-remote https://failedups.com/api/mcp