govauctions.app

Live listings, sold prices and resale scores from GovAuctions.app, the public surplus-auction site.

Should I use this

Quality & Safety

A
Description quality
98%
Schema completeness
77%
Naming quality
100%
Poisoning risk
80%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainin get_sold_comps

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,643Tokens (tool definitions)
~1.1 KBTypical response size
Moderate attention impact (1.28% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "govauctions": {
      "url": "https://govauctions.app/api/mcp"
    }
  }
}

Remote endpoints

https://govauctions.app/api/mcpstreamable-http

What it can do

Tool inventory

Tools (8)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_listings(country, state, category, source, q, ...)

Search live GSA federal-surplus auction listings (facts only — no images). Filter by state, category, keyword, price, or distance from a US ZIP code. Raw listings cover sanctioned federal sources; sold-price comps span the full market.

Input Schema

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "enum": [
        "US"
      ],
      "default": "US"
    },
    "state": {
      "type": "string",
      "description": "2-letter state code"
    },
    "category": {
      "type": "string"
    },
    "source": {
      "type": "string",
      "enum": [
        "gsa"
      ],
      "default": "gsa"
    },
    "q": {
      "type": "string",
      "description": "Title keyword"
    },
    "priceMin": {
      "type": "number"
    },
    "priceMax": {
      "type": "number"
    },
    "zip": {
      "type": "string",
      "description": "US 5-digit ZIP to search around. Limits results to lots within radiusMiles, orders them nearest-first, and adds distanceMiles to each."
    },
    "radiusMiles": {
      "type": "number",
      "description": "Radius from `zip`, in miles (default 100, max 500). Requires `zip`.",
      "maximum": 500,
      "default": 100
    },
    "sort": {
      "type": "string",
      "enum": [
        "ending-soonest",
        "newest"
      ],
      "description": "Result order. Default is soonest-ending (nearest-first when `zip` is given). Use `newest` to order by the lot's own listing date, newest first - that is the ordering a recurring \"what is new\" check needs, because under the default a brand-new lot can sit anywhere in the results."
    },
    "limit": {
      "type": "integer",
      "maximum": 100,
      "default": 25
    },
    "offset": {
      "type": "integer",
      "default": 0
    }
  }
}
🟢get_listing(id)

Get one live GSA listing by its id (facts only).

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    }
  },
  "required": [
    "id"
  ]
}
🟢get_sold_comps(q, category, country, state, include, ...)

Sold-price comps for a described item, computed across the full government-surplus market in any market listed in `country`. Without an API key: coverage only (how many comparable sales, confidence, and a coarse price band). With an API key: the actual 25th/median/75th percentile final prices. Free keys at https://govauctions.app/developers. A miss says which kind it is: reason `insufficient_comps` (too few comparable sales yet) is worth retrying, reason `category_not_priceable` (real-estate) never is — that category cannot be priced from a title. A catch-all `category` such as `miscellaneous` is not refused: it is dropped and the item is priced on its title alone, with `requestedCategory` and `categoryDropped` echoed back — check the resolved `category` and `confidence` before trusting the range.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Item description, e.g. '2015 Ford F-150'"
    },
    "category": {
      "type": "string"
    },
    "country": {
      "type": "string",
      "enum": [
        "US",
        "UK",
        "CA",
        "AU",
        "DE"
      ],
      "default": "US"
    },
    "state": {
      "type": "string",
      "description": "Optional 2-letter state/region code for a regional range. Falls back to the national range when that state has too few sales; the response's `scope` field says which you got."
    },
    "include": {
      "type": "string",
      "description": "Set to \"comps\" to also return the individual sales the range was computed from (title, final price, sale month, state). Requires a key; the number returned is capped by plan. Not served for EU markets (DE, FR, NL, PL): the range is returned with `compsWithheld: true`."
    },
    "limit": {
      "type": "integer",
      "description": "How many underlying sales to return with include=comps. Capped by plan."
    }
  },
  "required": [
    "q"
  ]
}
🟢get_flip_score(id)

GovAuctions Flip Score resale signal for one live lot, from any source, in any market with sold-price comps (valued against that market's comp archive): estimated value, effective bid, discount, and the link to the lot on its source site. Pass the lot id as it appears in a govauctions.app lot URL.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    }
  },
  "required": [
    "id"
  ]
}
🟢get_sold_history(q, category, country, state, limit)

The individual archived sales behind an item: title, final price, sale month and state, plus the range they produce. Use when you want the evidence rather than just the number. Query-anchored — describe an item; there is no way to list the archive.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Item description, e.g. '2015 Ford F-150'"
    },
    "category": {
      "type": "string"
    },
    "country": {
      "type": "string",
      "enum": [
        "US",
        "UK",
        "CA",
        "AU"
      ],
      "default": "US"
    },
    "state": {
      "type": "string",
      "description": "Optional 2-letter state/region code."
    },
    "limit": {
      "type": "integer",
      "description": "How many sales to return. Capped by plan."
    }
  },
  "required": [
    "q"
  ]
}
🟢get_price_trend(q, category, country, state)

Month-by-month median sale price for an item, plus the first-to-last change — 'is this category softening?'. Computed from the same comps as get_sold_comps, so it never contradicts that range. Returns an empty series when too few months clear the sample threshold.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Item description, e.g. 'forklift'"
    },
    "category": {
      "type": "string"
    },
    "country": {
      "type": "string",
      "enum": [
        "US",
        "UK",
        "CA",
        "AU",
        "DE"
      ],
      "default": "US"
    },
    "state": {
      "type": "string",
      "description": "Optional 2-letter state/region code."
    }
  },
  "required": [
    "q"
  ]
}
🟢get_comp_coverage(country)

How much sold-price data we hold per category for a market, and which categories can never be priced. Check this before building on the comps tools — it is the honest answer about what we cannot do.

Input Schema

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "enum": [
        "US",
        "UK",
        "CA",
        "AU",
        "DE"
      ],
      "default": "US"
    }
  }
}
🟢get_api_usage

This key's usage for the current month: total calls and the separate valuation allowance (which comps, sold history, trend and flip-score draw down), plus the reset date. Call it to pace a long run instead of hitting a 429 mid-task.

Input Schema

{
  "type": "object",
  "properties": {}
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded8 tools
verifiedversion not recorded8 tools