FindA.Sale

sale.findaPublished by finda.saleOfficial publisherv2.0.0Updated Oct 24, 2026

Find yard sales, garage sales, auctions, flea markets and resale shops, and search items for sale.

VerifiedStreamable HTTPWeb executableLocation & LifestyleBusiness & Commerce

Overview

AI-generated overview

FindA.Sale lets an assistant search public yard, garage, whole-house and auction sales and the items listed in them, with links to each sale page.

What you can do
Search and browse sales by keyword, city, ZIP, map point, date range or sale type, including trending sales and sales starting soon, and list cities, sale types and item categories with counts. Retrieve one sale's dates, city, approximate location, description, photos, organizer name and rating, and up to 25 available items. Search listed items by keyword with category, condition, price range and city filters, or find a specific wanted item across current sales. Retrieve one item's title, description, price, condition, photos and its parent sale.
When to use it
Useful when someone asks what sales are happening this weekend or near a given city, or wants to find a specific secondhand item such as furniture, a collectible or a tool across current public sales.
Requirements
A remote streamable HTTP endpoint; no authentication, API key or environment variables are declared for clients. Network access to the endpoint is required.
Before you install
All tools are read-only and results never include street addresses; coordinates are rounded to about 1 km. Shoppers must follow the sale link and sign in to see the address from the day before the sale. Per-IP and per-tool rate limits apply.

Installation

In SourceWeft

  1. Open FindA.Sale in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/sale.finda%2Ffindasale/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "finda-sale": {
      "type": "http",
      "url": "https://mcp.finda.sale/mcp"
    }
  }
}

README

FindA.Sale MCP Server

Public, read-only Model Context Protocol server for finding sales and items on FindA.Sale. Built on the official TypeScript MCP SDK v2 (@modelcontextprotocol/server 2.3.x, MCP spec 2026-07-28).

Production: https://mcp.finda.sale (Railway service findasale, project keen-wisdom, root directory packages/mcp-server, Dockerfile.production, auto-deploys on pushes to main that touch packages/mcp-server/**).

Endpoints

PathPurpose
POST /mcpStreamable HTTP transport, stateless. Serves 2026-07-28 clients and 2025-era clients (stateless fallback). GET/DELETE answer 405.
GET /sse + POST /messages?sessionId=…Legacy HTTP+SSE transport (deprecated in the spec, kept for existing clients) via @modelcontextprotocol/server-legacy/sse.
POST /messages (no sessionId)Sessionless JSON-RPC shim kept from v1: initialize, ping, tools/list, tools/call.
GET /mcp/server-cardMCP Server Card (application/mcp-server-card+json). Alias: /.well-known/mcp/server-card.json.
GET /.well-known/ai-catalog.jsonAI Catalog linking the Server Card.
GET /.well-known/mcp.jsonInformal manifest (also mirrored at finda.sale/.well-known/mcp.json).
GET /healthRailway health check.

Tools

All ten tools are read-only (readOnlyHint: true, destructiveHint: false, idempotentHint: true). Schemas live next to each tool in src/tools/*.ts (zod v4); handlers in src/handlers.ts.

search_sales, get_sale, search_items, get_item, list_cities, list_sale_types, list_categories, get_trending_sales, get_sales_starting_soon, find_item_for_sale.

Privacy and safety rules

  • The backend is always called anonymously (no auth header is ever sent or forwarded), so its public-viewer rules apply: DRAFT/CANCELLED/deleted sales 404, early-access and Legendary items stay embargoed, street addresses are withheld.
  • Every response is rebuilt from an allow-list in src/lib/publicShape.ts. Street address, entrance pin, approach notes, organizer phone/address/user id, payment processor ids and scrape metadata are never returned. Coordinates are rounded to 2 decimals (about 1 km).
  • Backend errors are mapped to short generic messages.

Rate limits and caching

  • Per IP: 120 MCP HTTP requests per minute (RATE_LIMIT_MAX_REQUESTS), plus per-tool limits (10 to 40 per minute) in src/lib/rateLimiter.ts.
  • Legacy SSE: at most 10 open sessions per IP and 300 total; sessions close after 1 hour.
  • Backend GET responses are cached in memory (60 s for searches, 10 min for cities/categories, 30 min for sale summaries used by city-filtered item search).

Configuration

See .env.example: BACKEND_URL, PORT (3003), MCP_PUBLIC_ORIGIN, RATE_LIMIT_MAX_REQUESTS, NODE_ENV.

Local run

bash
npm installnpm run buildBACKEND_URL=https://api.finda.sale PORT=3003 npm start

Try it with the MCP Inspector (npx @modelcontextprotocol/inspector) against http://localhost:3003/mcp.

Registry

Official MCP Registry name: sale.finda/findasale (DNS-authenticated namespace for finda.sale). Submission steps: claude_docs/operations/mcp-registry-submission-2026-10-23.md.

Source: packages/mcp-server/README.md at commit 6850444

Tools

10

search_sales

Search Sales

Find current public sales (yard and garage sales, whole-house sales, auctions, flea markets, shops) by keyword, city, ZIP, map point, date range or sale type. Returns sale summaries with approximate location and a link to each sale page. Street addresses are never included.

ParameterslatlngzipcitylimitqueryendDateradiusKmsaleTypestartDateminConfidence

get_sale

Get Sale Details

Get one public sale: dates, city, approximate location, description, photos, organizer name and rating, and up to 25 available items. Street addresses are never included; the sale page shows them to signed-in shoppers from the day before the sale.

ParameterssaleIdrequired

search_items

Search Items

Search items listed for sale across current public FindA.Sale sales by keyword, with optional category, condition, price range and city filters. Returns item title, price, condition, photos and links to the item and its sale.

ParameterscitylimitqueryrequiredsortBycategorypriceMaxpriceMincondition

get_item

Get Item Details

Get one publicly listed item: title, description, price, condition, photos, and the sale it belongs to (title, city, dates, link).

ParametersitemIdrequired

list_cities

List Cities

List cities with current public sales on FindA.Sale, busiest first, with active sale counts and a browse link for each city. Filter by state to narrow the list.

Parameterslimitstate

list_sale_types

List Sale Types

List the sale type codes FindA.Sale uses (yard sale, whole-house sale, auction, flea market, shop, dorm move-out) with a short description of each.

Takes no parameters.

list_categories

List Categories

List item categories that currently have items for sale, with item counts. Use a name from this list as the category filter in search_items.

Takes no parameters.

get_sales_starting_soon

Get Sales Starting Soon

List public sales starting in the next few days (default 7, max 14). Good for "what sales are this weekend near X" questions.

ParameterscitysaleTypedaysAhead

find_item_for_sale

Find Item For Sale

Find a specific thing someone wants to buy (furniture, a collectible, a tool) across current public sales, optionally in one city and price range. Returns up to 10 matches with links to cite.

ParameterscityqueryrequiredmaxPriceminPrice

Version history

1
  1. v2.0.0LatestOct 24, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.