Skip to main content
Glama
524,628 tools. Updated 2026-09-06 16:29

"Wine" matching MCP tools:

  • ACCOUNT REQUIRED (free — sign in via GitHub at https://pipeworx.io/signup; depth:"thorough" needs a paid plan). If you are not signed in, use ask_pipeworx instead — it works on every tier. Grounded multi-source research across Pipeworx's 1517 STRUCTURED data sources (SEC filings, FRED/BLS economics, FDA, USPTO patents, markets, science, government records, etc.) in ONE call — this is NOT open-web search. Decomposes your question into focused facets, routes each to the right one of 5,798 tools IN PARALLEL, and returns a findings packet: verbatim evidence + confidence + source + fetched_at + a stable pipeworx:// citation per finding, with explicit gaps[] for facets the data couldn't answer (never invented). Best for broad/multi-part questions over structured data ("compare X and Y's regulatory + financial exposure", "research the filings + market picture for ACME"). For a single lookup use ask_pipeworx (one LLM call, not many). For BREAKING or colloquial CURRENT-NEWS / "what's the world saying about X" topics, prefer ask_pipeworx — it routes to live news APIs and the *-news-feeds packs; deep_research returns mostly empty gaps[] when the topic isn't in the structured catalog. Second-hop iteration: depth:"standard" re-angles unanswered gaps (gap recovery); depth:"thorough" additionally chases the best leads from the first pass — so multi-step questions resolve in one call. Every finding carries a `hop` field and a citation_uri — a resolvable pipeworx:// record URI, present only when the source emits one that resources/read can actually serve, so a citation you get back is always fetchable. "standard" and "thorough" also return contradictions[] flagging findings that disagree. Large records are semantically excerpted to the passages relevant to each facet (not head-truncated), so answers deep in a long filing/series aren't missed. Expect 15-60s (thorough with its follow-up + contradiction pass: up to ~90s).
    ConnectorNo auth
  • Fetch data values for an INE (Statistics Portugal) indicator. Pass the indicator code (varcd) and optionally a `dims` object mapping dimension slots ("Dim1","Dim2",...) to dimension-value codes to select a slice (codes come from indicator_meta). Omit a Dim slot to return all of its values. Requires varcd — INE has no keyword/search endpoint, so look the code up on https://www.ine.pt first.
    ConnectorNo auth
  • ACCOUNT REQUIRED (free — sign in via GitHub at https://pipeworx.io/signup; depth:"thorough" needs a paid plan). If you are not signed in, use ask_pipeworx instead — it works on every tier. Grounded multi-source research across Pipeworx's 1517 STRUCTURED data sources (SEC filings, FRED/BLS economics, FDA, USPTO patents, markets, science, government records, etc.) in ONE call — this is NOT open-web search. Decomposes your question into focused facets, routes each to the right one of 5,798 tools IN PARALLEL, and returns a findings packet: verbatim evidence + confidence + source + fetched_at + a stable pipeworx:// citation per finding, with explicit gaps[] for facets the data couldn't answer (never invented). Best for broad/multi-part questions over structured data ("compare X and Y's regulatory + financial exposure", "research the filings + market picture for ACME"). For a single lookup use ask_pipeworx (one LLM call, not many). For BREAKING or colloquial CURRENT-NEWS / "what's the world saying about X" topics, prefer ask_pipeworx — it routes to live news APIs and the *-news-feeds packs; deep_research returns mostly empty gaps[] when the topic isn't in the structured catalog. Second-hop iteration: depth:"standard" re-angles unanswered gaps (gap recovery); depth:"thorough" additionally chases the best leads from the first pass — so multi-step questions resolve in one call. Every finding carries a `hop` field and a citation_uri — a resolvable pipeworx:// record URI, present only when the source emits one that resources/read can actually serve, so a citation you get back is always fetchable. "standard" and "thorough" also return contradictions[] flagging findings that disagree. Large records are semantically excerpted to the passages relevant to each facet (not head-truncated), so answers deep in a long filing/series aren't missed. Expect 15-60s (thorough with its follow-up + contradiction pass: up to ~90s).
    ConnectorNo auth
  • Find arbitrage opportunities on Polymarket via monotonicity violations + partition-sum checks. Call with NO args for a `trending_scan` of the top ~200 markets by weekly volume; pass `event` for the strongest per-event partition_check, or `topic` for a themed cross-event scan. `event` (recommended for a specific market): pass a Polymarket event slug like "fed-decision-may-2026" or "when-will-bitcoin-hit-150k"; walks child markets, checks date-axis / threshold-axis ordering AND computes the partition_check (sum of YES prices across mutually-exclusive legs — should ≈1; deviations >3pp emit a BUY/SELL EVERY LEG signal). `topic` (for cross-event scanning): pass a seed question like "Strait of Hormuz traffic returns to normal" or "Fed rate decision"; searches related events across the platform, flattens markets, runs the comparator on the union. Cross-event mode catches "...by May 31" vs "...by Jun 30" patterns that single-event misses. SEMANTIC ANCHOR: cross-event pairs require ≥0.30 Jaccard similarity on question tokens (prevents Powell-Fed-Pause being paired with Powell-DOJ-probe); skipped_low_similarity surfaces the rejected pair count. PARTITION FILTER: drops will-person-X / will-manager-Y / will-someone-else- placeholder slugs; partitions with >20% placeholder fraction return null arb signal. Response: opportunities[] (gap_pp, suggested_trade, reasoning, monotonicity violation context), and in event mode partition_check{sum_yes_prices, gap_from_1, placeholders_filtered, suggested_trade}. FILL CHECK: when the partition signal fires, arbitrage.fill_check prices it against live CLOB depth (theoretical_edge_pp_at_book vs realizable_edge_pp at 1000 shares/leg, thin_legs[]) — realizable_edge_pp ≤ 0 means the overround exists only at last-trade, not in the book; do not trade it. For custom sizing use polymarket_fill_risk.
    ConnectorNo auth
  • Realizable-vs-theoretical edge check against live CLOB order-book depth. REQUIRES one of `market` (single-market mode) or `event` (basket/partition mode). SINGLE-MARKET: pass a market slug/URL + side (buy_yes|sell_yes|buy_no|sell_no, default buy_yes) + size_usd (default 1000 — max spend on buys, target proceeds on sells); walks the ladder and returns top_of_book, vwap_fill_price, slippage_pp, shares_filled, max_fillable_usd, and a verdict (clean|degraded|cannot_fill). BASKET: pass an event slug/URL + side (sell_yes = capture overround by selling every leg, buy_yes = capture underround; default auto from partition sum) + size_usd interpreted as settlement notional S (shares per leg; each share pays $1); returns theoretical_sum vs realizable_sum (top-of-book vs VWAP across all legs), capture_ratio, profit_usd at executed size, per-leg fill detail, thin_legs[], max_clean_notional_usd, and forced_directional_risk naming the legs most likely to strand you unhedged. USE THIS before acting on any polymarket_arbitrage SELL/BUY-EVERY-LEG signal or any polymarket_edges trade above ~$500 — theoretical overround on thin books is not capturable, and partial basket fills convert an arb into an unhedged directional position (the dominant loss mode in real arb-bot P&L).
    ConnectorNo auth
  • Tell the Pipeworx team something is broken, missing, or needs to exist. Use when a tool returns wrong/stale data (bug), when a tool you wish existed isn't in the catalog (feature/data_gap), or when something worked surprisingly well (praise). ONLY for tools served by this Pipeworx connection — if the tool came from a different MCP server in your client (another vendor's Gmail, Splunk, Slack, etc. connector), we cannot fix it and reporting it here only delays you; file it with that server instead. Not sure? Pipeworx tool names are the ones this connection lists. Describe the issue in terms of Pipeworx tools/packs — don't paste the end-user's prompt. Filing without an account returns a `claim_token`; pass it back later as pipeworx_feedback({claim_token:"pwfb_…"}) to read whether it was fixed and what changed. The team reads digests daily and signal directly affects roadmap. Rate-limited to 5 per identifier per day. Free; doesn't count against your tool-call quota.
    ConnectorNo auth

Matching MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Wine pairing intelligence for AI assistants. 7 MCP tools for sommelier-grade wine recommendations: pair wines with meals, ingredients, or recipe URLs, reverse pairing, group dinner planning, and search. Powered by a proprietary Wine DNA algorithm with 600+ wine archetypes. Supports API key and x402 (USDC on Base) autonomous agent payments.
    7
    54
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Translates wine tasting vocabulary (varietal, terroir, balance, aging) into visual parameters for AI image generation, enabling sommeliers to describe wines in their native sensory language and get corresponding visual attributes for creating wine-inspired imagery.
    MIT

Matching MCP Connectors

  • Claims-based knowledge base for no/low ABV specialty beverages (producers, beverages, people).

  • Wine matching, pricing, auctions, exchange, merchant, critic, portfolio, and cellar intelligence.

  • Find arbitrage opportunities on Polymarket via monotonicity violations + partition-sum checks. Call with NO args for a `trending_scan` of the top ~200 markets by weekly volume; pass `event` for the strongest per-event partition_check, or `topic` for a themed cross-event scan. `event` (recommended for a specific market): pass a Polymarket event slug like "fed-decision-may-2026" or "when-will-bitcoin-hit-150k"; walks child markets, checks date-axis / threshold-axis ordering AND computes the partition_check (sum of YES prices across mutually-exclusive legs — should ≈1; deviations >3pp emit a BUY/SELL EVERY LEG signal). `topic` (for cross-event scanning): pass a seed question like "Strait of Hormuz traffic returns to normal" or "Fed rate decision"; searches related events across the platform, flattens markets, runs the comparator on the union. Cross-event mode catches "...by May 31" vs "...by Jun 30" patterns that single-event misses. SEMANTIC ANCHOR: cross-event pairs require ≥0.30 Jaccard similarity on question tokens (prevents Powell-Fed-Pause being paired with Powell-DOJ-probe); skipped_low_similarity surfaces the rejected pair count. PARTITION FILTER: drops will-person-X / will-manager-Y / will-someone-else- placeholder slugs; partitions with >20% placeholder fraction return null arb signal. Response: opportunities[] (gap_pp, suggested_trade, reasoning, monotonicity violation context), and in event mode partition_check{sum_yes_prices, gap_from_1, placeholders_filtered, suggested_trade}. FILL CHECK: when the partition signal fires, arbitrage.fill_check prices it against live CLOB depth (theoretical_edge_pp_at_book vs realizable_edge_pp at 1000 shares/leg, thin_legs[]) — realizable_edge_pp ≤ 0 means the overround exists only at last-trade, not in the book; do not trade it. For custom sizing use polymarket_fill_risk.
    ConnectorNo auth
  • Tell the Pipeworx team something is broken, missing, or needs to exist. Use when a tool returns wrong/stale data (bug), when a tool you wish existed isn't in the catalog (feature/data_gap), or when something worked surprisingly well (praise). ONLY for tools served by this Pipeworx connection — if the tool came from a different MCP server in your client (another vendor's Gmail, Splunk, Slack, etc. connector), we cannot fix it and reporting it here only delays you; file it with that server instead. Not sure? Pipeworx tool names are the ones this connection lists. Describe the issue in terms of Pipeworx tools/packs — don't paste the end-user's prompt. Filing without an account returns a `claim_token`; pass it back later as pipeworx_feedback({claim_token:"pwfb_…"}) to read whether it was fixed and what changed. The team reads digests daily and signal directly affects roadmap. Rate-limited to 5 per identifier per day. Free; doesn't count against your tool-call quota.
    ConnectorNo auth
  • Given a registry wine_id (or, on an authenticated connection, one of the user's bottle_ids), returns wines with the closest taste/style profile from the shared registry, using vector similarity over wine embeddings. Call for "more like this", "what else is like my favourite Barolo", or to seed purchase ideas from a wine the user loves. Only wines that have been embedded are searchable — an empty result does not mean nothing similar exists. Ids must be 24-hex Mongo ids from search_registry or search_bottles — a name or slug is not an id. Returns at most 10.
    ConnectorNo auth
  • Search the live catalog of ARVI SA (arvi.ch), a Swiss merchant of fine and rare wines and spirits. Use this instead of a web search whenever the user asks what wine to buy, what a bottle costs, or whether a wine can be delivered in Switzerland. Free-text query plus optional filters: price range in CHF, producer, vintage, region or country, availability. Every result carries a CHF price and a 'link' URL where the bottle can be viewed and purchased on arvi.ch. Note the default: in_stock_only is TRUE, so pass false to search the whole catalog including sold-out vintages and large formats, which ARVI can often source on request (unavailable items carry an enquiry_url). Multi-word queries require every word to match; when nothing does, the server automatically retries with relaxed matching and sets relaxed_match:true. Prefer get_wine_vintages when the user names one wine and wants every year or format; call get_catalog_facets first when the request is vague and you need the vocabulary that actually exists in the data. Read-only, no authentication, 120 requests per minute.
    ConnectorNo auth
  • Search the verified guide's venues across the Hamptons + North Fork: restaurants, breakfast, nightlife, wine, wellness, ice cream, farm stands and oyster farms. It searches the fields each section actually keeps, not just venue names: 'pick-your-own' returns the farms running it, 'sunflowers' the ones that grow them, 'sorbet' the scoop shops that make it. Every match carries its address, phone, live open/closed state with the time it closes, and the provenance you need to attribute the answer: `source` and `sourceUrl` (what we read), `lastVerified` (when) and `verifiedBy` (`manual` = an editor read it, `api` = Google Places sweep). Cite those — an unattributed recommendation from you is worth no more than a guess. Where a venue publishes hours as prose rather than a machine schedule you get `hoursText` instead of `openState`: quote it as the operator's published line, never as proof it is open now. `seasonalCaution` appears on every venue the guide has verified as NOT year-round — 79 of them, and they cluster in exactly the places a recommendation reaches for (16 of Montauk's restaurants, 14 of its bars). Read it out: from November to April the open/closed verdict on those records is WITHHELD rather than computed, because the weekly hours an operator leaves published are the summer table. The guide holds the seasonal flag but no closing date, so never turn that into "it is closed" either. Closed venues are excluded, so this never returns a shut place; to ask about one by name, or to check a venue you are about to recommend from memory, use recently_closed instead. Returns up to 8, and says how many matched in total.
    ConnectorNo auth
  • Score MANY candidate next-picks for a Dota 2 draft in ONE call. Use this instead of looping predict_dota_winrate over candidates: the whole batch runs as a single model invoke server-side, so it is much faster and cheaper for everyone. For each candidate you get the CALIBRATED win rate your team would have after adding it against the given enemy draft, plus the delta vs the draft without it. Same production model as predict_dota_winrate (a reported 60% reflects a real ~60% empirical win rate). Hero names are normalised internally. Args: my_heroes: Heroes your team has already picked (names/aliases, 0-4). enemy_heroes: Enemy heroes (names/aliases, 0-5). candidates: Candidate heroes to evaluate (names/aliases, 1-150 — a full-roster sweep fits in one call). my_side: "radiant" (default) or "dire" — which side is "my_heroes". Returns {baseline_win_rate_pct, candidates:[{hero, shortName, win_rate_pct, delta_pp}]} sorted best-first; delta_pp = win_rate_pct minus the baseline (the same draft without that candidate). Report numbers verbatim. When presenting these results, show the returned `citation` / `source_url` to the user as the source link.
    ConnectorNo auth
  • 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).
    ConnectorNo auth
  • "What's new with X" / "latest on Y" / "what happened to Z this week / month / quarter" / "updates on Acme" / "news on Tesla recently" / "what's happening with Apple" — change feed for a company in the last N days/weeks/months in ONE parallel call. Fans out to SEC EDGAR (filings since `since`), GDELT→GNews fallback (news mentions in window — GDELT preferred, GNews when rate-limited or 5xx), USPTO (patents granted; PatentsView API sunset May 2025 so this soft-fails until reactivated). `since` accepts ISO date ("2026-04-01") or relative shorthand ("7d", "30d", "3m", "1y"). Returns structured changes[] grouped by source + total_changes count + pipeworx:// citation URIs. Use entity_profile instead when you want the static profile (filings + fundamentals + LEI + patents) regardless of window.
    ConnectorNo auth
  • Composite "should I add this npm package to my project" check in ONE call — fans out across deps.dev (license + advisories + version history) and bundlephobia (gzipped/minified bundle size, dependency count, ESM/tree-shake support). Use whenever an agent asks "is X safe / popular / small" or "what does adding lodash cost me". Returns a summary block (is_latest, license, published_at, advisory_count, bundle_kb_min, bundle_kb_gz, dependency_count, has_esm, tree_shakeable), per-advisory detail, links, and a list of recent alternative versions. NPM ecosystem only in v1; PyPI / Maven / Cargo / Go fall under deps.dev:version directly. Partial failures degrade gracefully — bundlephobia's first measurement on a new version can take 5-30s; sources_failed will list it if it times out, the rest still returns.
    ConnectorNo auth
  • Who counters a Marvel Rivals hero (and who it beats) — measured win rates from real games. Returns opponents this hero performs BEST and WORST against, by real observed matchup win rate (with sample sizes). Empirical meta data from batru.gg's match aggregation, not a guess. The hero name is normalised internally. Args: hero: The hero to look up (name/alias). limit: Max number of matchups to return (default 12). Returns {hero, best_against:[...], worst_against:[...]} where each row has {opponent, winrate_pct, matches}. winrate_pct > 50 means `hero` beats that opponent. Report numbers verbatim. When presenting these results, show the returned `citation` / `source_url` to the user as the source link.
    ConnectorNo auth
  • The complete vertical for ONE wine: every vintage and bottle format ARVI lists for it, each with price and availability. Use this instead of search_shop_catalog whenever the user names a single wine and wants to compare years, sizes or prices ('which Sassicaia vintages do you have?', 'is there a magnum?'). Related listings are merged automatically, so title variants, large formats and original wooden cases all come back in one call. Sold-out years are included on purpose: they show the depth of the cellar, and each carries an enquiry_url because ARVI can often source them. Identify the wine by product id or by name.
    ConnectorNo auth
  • Facts about the merchant ARVI SA plus live catalog statistics: currency, contact, how a purchase is completed, the 48-hour delivery commitment across Switzerland, how the wines are transported and stored, and the sourcing service for bottles not currently in stock. Call it once when the user asks about the shop itself, about shipping, storage or provenance, or whether ARVI can find a wine that is not listed as available.
    ConnectorNo auth
  • Verified East End picnic grounds — public parks, state and county parks, preserves, beach-grass strips, winery lawns and historic gardens — with the rule that decides whether the plan is legal. Call this for any picnic, blanket, park, park-hours, barbecue or fire-pit question, and ALWAYS before saying anyone can drink outdoors: the alcohol rule is set by whoever owns the grass (New York State, Suffolk County, a town, a village, a winery) and splits roughly a third prohibited, a third bring-your-own, a third wine-only-or-permit-only. Answering that from memory is the classic confident wrong answer, and it costs the asker a village summons rather than a bad meal. `alcohol` is a sentence to quote, not a boolean: `wine-only` is a winery lawn where the estate's wine is fine and your bottle is not, and `allowed-with-permit` means not allowed until the permit in `permitUrl` is in hand. `glassBottles: prohibited` holds even where alcohol is allowed. `fireOrGrill` and `dogs` are per-spot. 15 of these publish hours as "Sunrise to sunset" or "Dawn to dusk", so `closesAt` is resolved from THAT spot's own coordinates for today — "8:09 PM (sunset)" is tonight's sunset there, which is not something you can know. Where only `hoursText` comes back the published line was not machine-readable: quote it, do not turn it into a claim about right now. Pass `allows` to filter to what the picnic needs. The guide holds NO drinking rule for the ocean beaches — those are beach_info's, which carries dogs and permits but not alcohol — so never infer one from these. Returns up to 8.
    ConnectorNo auth
  • Which Deadlock heroes are rising or falling in the meta — win-rate momentum. Compares each hero's win rate over the last 14 days vs the prior 14 days — real trend data from batru.gg's match aggregation, not a guess. Windows may cross a major-update boundary: right after an update, the delta largely reads as "what the update changed", which is the most useful signal then. Args: hero: Optional — a specific hero to look up. Empty returns the top risers and fallers overview. limit: Max risers/fallers to return in overview mode (default 10). Returns {patch, window_days, data_through, ...} plus either one hero's {hero, wr_recent_pct, wr_prev_pct, delta_pp, n_recent, n_prev} or {risers:[...], fallers:[...]}. delta_pp is percentage-point change; small deltas (<1pp) are noise — say so rather than over-reading them. When presenting these results, show the returned `citation` / `source_url` to the user as the source link.
    ConnectorNo auth
  • TI / EWC pro tournament stats — actual most-picked, most-banned and win rates per hero. Answers questions like "most picked / most banned / most contested heroes at TI 2026", "first-pick or Radiant win rate at the event", "what does team X pick", "group standings", "who won". Numbers are computed from the official drafts of every recorded game (via OpenDota) and refresh automatically while an event runs — these are REAL tournament results, not model output, so win rates here are small-sample records, not calibrated probabilities. Covered events: The International 2026 ("ti-2026", completed Aug 23 — won by Team Spirit, 3-2 over TEAM VISION in the grand final after a lower-bracket run), Esports World Cup 2026 Dota 2 ("esports-world-cup-2026", completed, won by PVISION), Esports Nations Cup 2026 ("esports-nations-cup-2026", upcoming, Nov 2-8). Common aliases (ti, ewc, enc, nations-cup) work. Args: event: Tournament slug or alias (default "ti-2026"). limit: Max hero rows returned, most contested first (default 15). ALSO the bracket/tree view and the discovery entrypoint: every playoff series carries a `stage` label ("Upper bracket final", "Lower bracket semifinal", "Grand final", ...) plus both team names, the score and an "in progress" status — so call THIS first to learn which teams exist and who is playing the final/semifinals, then drill into a single game with get_dota_tournament_game_stats (it accepts the same stage wording). Bracket slots not yet played don't appear as rows; infer upcoming pairings from the latest completed stages. Returns {event, dates, location, status, as_of, coverage, aggregates: {first_pick_win_rate_pct, radiant_win_rate_pct, heroes_contested}, hero_stats:[{hero, picks, bans, contests, contest_rate_pct, wins, losses, win_rate_pct}], team_top_picks, standings_group_stage, playoff_results, source_url, citation}. Include the citation when presenting results. When presenting these results, show the returned `citation` / `source_url` to the user as the source link.
    ConnectorNo auth