protogrid

Search / io.github.pipeworx-io/inside-airbnb

Inside Airbnb

R0· no sign-in

inside-airbnb -- short-term rental listings by city (fleet #2973).

v0.1.0 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality–new
Trust97of 100
Uptime, 30 days100%
Latency p5032 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "inside-airbnb": {
      "type": "http",
      "url": "https://gateway.pipeworx.io/inside-airbnb/mcp"
    }
  }
}
claude mcp add --transport http inside-airbnb https://gateway.pipeworx.io/inside-airbnb/mcp
[mcp_servers.inside-airbnb]
url = "https://gateway.pipeworx.io/inside-airbnb/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "inside-airbnb": {
      "type": "remote",
      "url": "https://gateway.pipeworx.io/inside-airbnb/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "inside-airbnb": {
      "type": "http",
      "url": "https://gateway.pipeworx.io/inside-airbnb/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=inside-airbnb&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vZ2F0ZXdheS5waXBld29yeC5pby9pbnNpZGUtYWlyYm5iL21jcCJ9"
}
{
  "servers": {
    "inside-airbnb": {
      "type": "http",
      "url": "https://gateway.pipeworx.io/inside-airbnb/mcp"
    }
  }
}
{
  "mcpServers": {
    "inside-airbnb": {
      "httpUrl": "https://gateway.pipeworx.io/inside-airbnb/mcp"
    }
  }
}
extensions:
  "inside-airbnb":
    enabled: true
    name: "inside-airbnb"
    type: streamable_http
    uri: "https://gateway.pipeworx.io/inside-airbnb/mcp"
    timeout: 300

Quality – / 100new

Not scored: fewer than three checks apply, usually because no remote answered a credential-free probe or the server is a local package.

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-03-26; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygienen/a · weight 30
  • n/a
    tools.descriptions, tools.description_length, tools.schemas, tools.annotations, tools.directory_hints, tools.token_cost, tools.api_dumptool list unknown (behind auth, not probed, or empty)
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pulltool list unknown
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

Tool list unknown · tools last changed 2026-10-20 · checked 2026-10-20 15:57 UTC

Tool changes

  • resolution_auditremoved

    Extract the settlement clause of a single Polymarket or Kalshi market: who publishes the settling number (source), the clock time + timezone it is taken at, the precision of the computation (e.g. "1-minute candle close" vs "60-second trailing average" vs "election outcome"), the evidence standard (official_source | consensus_reporting | any_credible_report | unspecified), and void_handling (cancellation/postponement settlement — reused verbatim from bet_research's cancellation_rule detector, not re-derived). Parses Polymarket's `description` field (fetched via polymarket_market) or Kalshi's `rules_primary` + `rules_secondary` fields (fetched via kalshi_market) with regex + a small vocabulary — no LLM pass, so an unusual clause reports confidence:"low" rather than a guess. Pass `market` as a Polymarket slug/URL or a Kalshi market ticker (e.g. "KXBTCD-26SEP1317-T66999.99"); a Kalshi EVENT ticker (e.g. "KXBTCD-26SEP1317") also works — it picks one representative market under that event, since the settlement mechanism is normally shared across all strikes/legs in one event. Use this before treating a polymarket_kalshi_spread row as a real arbitrage: two ladders that look alike can settle on different sources, at different times, with different precision — this tool is how you check. Pair with resolution_diff to compare two markets directly. KNOWN GAP: idiosyncratic phrasing that doesn't match the vocabulary returns confidence:"low" and evidence_standard:"unspecified" rather than an LLM-guessed answer.

  • kalshi_weather_edgeremoved

    Prices Kalshi daily high-temperature markets against the NWS forecast for the market's OWN settlement station, and measures whether that forecast actually beats the market. Two modes. LIVE (default): returns the full strike ladder for one city and settlement date with market_prob (mid), forecast_prob, and edge_pp per strike, plus the settlement clause verbatim. BACKTEST (`backtest_days: N`): scores an archived gridded forecast against the market on settled days and returns brier_market vs brier_forecast with a plain-English `verdict`, so the edge is MEASURED rather than asserted. READ THE WARNINGS — they are not boilerplate. (1) These markets DO NOT settle on the NWS. They settle on The Weather Company (weather.com) at a Kalshi station code such as CLINYC, which the response quotes verbatim; so part of every edge_pp is NWS-vs-Weather-Company disagreement about the same day at the same station, which is not mispricing and not tradeable. `settlement_vs_forecast_basis_f` from backtest mode is that part as a number. (2) The station is DERIVED from the settlement clause, never from the city name: Chicago settles at MIDWAY and New York at CENTRAL PARK, so a city-centre forecast would misprice a whole ladder. A station that cannot be resolved yields rows with no forecast and a reason, never a guessed coordinate. (3) forecast_prob assumes a normal distribution around the NWS high whose width is ASSUMED, not fitted (stated in `distribution_assumption`) — run backtest mode to see whether it is calibrated. (4) edge_pp is gross: no Kalshi fees, no bid-ask. MEASURED RESULT, AND IT IS NOT THE FLATTERING ONE: on the first backtest (KXHIGHNY, 13 settled days to 2026-09-11, 58 market observations) the MARKET beat the forecast — Brier 0.1008 for the market against 0.1594 for the archived gridded forecast, lower being better. So on that sample there is NO forecast edge to sell, and a large edge_pp is more likely to be the model disagreeing with a better-informed market than an opportunity. The measured settlement-vs-forecast basis was 1.7F mean absolute over 8 pinnable days, slightly warm-biased, which is a big share of a typical edge_pp on a 2-degree bracket. Re-run backtest_days before believing any edge; if a later sample reverses this, the numbers say so. NWS is US-only, so the ~30 international Kalshi weather series (London, Paris, Tokyo) return market prices with forecast_unavailable rather than a forecast. Precipitation series are listed but not yet priced. Cities: nyc, chicago, los angeles, miami, austin, houston, denver, philadelphia — or pass `series_ticker` for any other (e.g. "KXHIGHTBOS").

  • search_withinremoved

    Semantic search INSIDE a fetched record. Pass the text you already pulled (e.g. a SEC 10-K body, an article, a long tool result) plus a natural-language query; get back the top-N passages with character offsets and similarity scores. Use when the record is too big to cram into the prompt — search_within saves context, returns only the passages that matter, and every passage carries an offset so the agent can verify a verbatim quote. Pairs with ask_pipeworx_grounded: fetch with the gateway, ground over the relevant passages instead of the whole document. BGE-base-en embeddings + cosine over 500-char overlapping windows; cap is 200K chars (longer inputs are truncated and flagged).

  • unsubscriberemoved

    Cancel a subscription by id. Ownership is enforced — you can only cancel your own subscriptions. The row is deactivated (not deleted) so its historical events stay available via recent_alerts.

  • polymarket_edgesremoved

    Scan top Polymarket markets and return opportunities where Pipeworx data disagrees with market price. Built for "what should I bet on today" — agents discover opportunities without paging hundreds of markets. FIVE MODEL FAMILIES grouped into three response segments under by_segment: (1) MODEL_DRIVEN — crypto_price (lognormal barrier from 90d FRED log-returns) and news_momentum (GDELT 7d/21d article-volume ratio, soft signal w/ halved Kelly). (2) STRUCTURAL_ARBITRAGE — partition_overround on mutually-exclusive events; per-leg favorite-longshot bias correction with per-sport α (tennis 1.02, soccer 1.10, MMA 1.15, default 1.0); placeholder-slug filter drops will-person-X / will-team-Y / will-manager-Z / will-someone-else- backstops; partitions with >20% placeholder fraction skipped entirely. (3) CONCENTRATED_LONGSHOT — basket trade when one leg ≥75% AND ≥2 longshots ≤8% AND portfolio return ≥25:1; rare-by-design (gates relaxed Run 8 from prior 85%/5%/50:1). EVERY OPPORTUNITY carries edge_pp_net (net of slippage AND Polymarket's own taker fee — fees_pp_applied itemises the fee component; see fees.ts for the published per-category schedule), kelly_fraction + kelly_fraction_half (capped at 0.25), market.liquidity, market.spread_pp, market.volume, plus a 24h-move warning ("Market moved X.Xpp in 24h") when the recent move alone exceeds the edge — your edge may already be in the price. TRADEABLE-EDGE KNOBS: min_liquidity / max_spread_pp drop opportunities where edge isn't realizable; min_partition_leg_kelly filters partitions by best per-leg Kelly. RESPONSE TOP-LEVEL: by_segment{model_driven,structural_arbitrage,concentrated_longshot}, fed_candidates/fed_note (Fed bets surface here, excluded from ranking — 1m-T vs EFFR signal is unreliable at meeting-month horizons without paid OIS/SOFR-futures data), and _diagnostics{concentrated_longshot:{...funnel counters},category_counts,filter_skips} so callers can see WHY a segment is empty (top-N stale, all candidates failed gates, knob dropped them). Cached 1h at the KV level keyed on all knobs.

  • ai_visibility_checkremoved

    Probe one or more LLMs for what they know about a business / brand / product / topic and score visibility (0-100) per model. Default model is Workers AI Llama-3.3-70b (free); pass `_apiKey` to also probe Anthropic (BYO key — you pay Anthropic directly for those calls). Returns per-model {score, confidence, signals, raw_response} + a combined view. Useful for AI-marketing audits, pre-launch brand checks, competitive monitoring.

  • str_listingsremoved

    Listing-level short-term rental rows for one city, from Inside Airbnb: listing id, public listing URL, listing title, neighbourhood, room type, nightly price (in that city's own local currency -- see the response's `currency` field, never converted; min_price/max_price filter in that same currency), minimum nights, review counts, last review date, availability_365, and the host's total listing count (a bare number -- no host name, no host id, no host profile link; see the pack's "Personal data" note). Pass city plus any combination of neighbourhood, room_type ("Entire home/apt", "Private room", "Shared room", "Hotel room", or a loose match like "apartment"), min_price, max_price to narrow. Rows beyond `limit` are reported via truncated/total_matching rather than silently dropped -- narrow the filters or page with limit/offset to see the rest. An uncovered city is refused by name, listing every covered city.

  • str_city_summaryremoved

    City-wide short-term rental summary for one city, from Inside Airbnb: total listings, overall median nightly price (in that city's own local currency -- see the `currency` field, e.g. CZK for Prague, never converted), a breakdown by room type (entire home/apt, private room, shared room, hotel room -- each with its own count and median price), and the top neighbourhoods by listing count (each with its own listing count and median price). Pass a city name (e.g. "Paris", "NYC", "San Francisco") or its slug (e.g. "new-york-city"). Returns data_as_of = that city's own Inside Airbnb scrape date. An uncovered city is refused by name, listing every covered city rather than returning an empty result -- call list_str_cities to browse the full set.

  • list_str_citiesremoved

    Every city this pack has short-term rental (Airbnb) data for, from Inside Airbnb. Returns, per city: display name, country, currency the price fields are IN (prices are never converted -- each city's own local currency, e.g. CZK for Prague, not USD), how many listings are loaded, the overall median nightly price, and that city's OWN scrape date (data_as_of) -- coverage dates differ city to city because Inside Airbnb scrapes each one independently. Call this first if unsure whether a city is covered; str_city_summary and str_listings refuse an uncovered city by naming the covered set, but this is the smaller way to check.

  • recallremoved

    Retrieve a value previously saved via remember, or list all saved keys (omit the key argument). Use to look up context the agent stored earlier — the user's target ticker, an address, prior research notes — without re-deriving it from scratch. Scoped to your identifier (anonymous IP, BYO key hash, or account ID). Pair with remember to save, forget to delete.

Showing the latest 10. Full history: list_changes · trend: quality JSON.

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.

Trust 97 / 100

provenance90
liveness100
freshness100
hygiene100

+repository +namespace-matches-repo +website +reachable +uptime-100% +updated-7d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://gateway.pipeworx.io/inside-airbnb/mcp streamable-httpnoneyes100%32 ms2025-03-262026-10-20

Tools (0)

No tools observed. Tools appear once a credential-free probe can list them.

Schemas: list_tools.

Similar MCP servers

More from io.github.pipeworx-io

And 1,855 more from this publisher.

Official server.json
{
  "name": "io.github.pipeworx-io/inside-airbnb",
  "title": "Inside Airbnb",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://gateway.pipeworx.io/inside-airbnb/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.1.0",
  "repository": {
    "url": "https://github.com/pipeworx-io/mcp-inside-airbnb",
    "source": "github"
  },
  "websiteUrl": "https://pipeworx.io/packs/inside-airbnb",
  "description": "inside-airbnb -- short-term rental listings by city (fleet #2973)."
}