Skip to main content
Glama
603,971 tools. Updated 2026-09-23 16:57

"sharp" matching MCP tools:

  • Search Partle's product catalog by name or description. CRITICAL SEARCH INSTRUCTION: Reason from the job to the product class first, then search with a descriptive product phrase (e.g. including substrate, material, or size class). DO NOT blindly search using the user's raw conversational words. Transform questions like 'what do I need to attach a mirror to a brick wall?' into a product phrase like 'heavy duty masonry wall anchor'. Two distinct modes: - **Default (no flags)** — fast keyword search. ~100ms. Acts like a normal "dumb" search box: matches the literal words you typed against product names and descriptions, with stemming. Good for queries where the user knows the product's likely name ("BC547", "Arduino Uno", "Bosch drill"). Returns noisy/wrong results on cross-language or attribute queries ("compost bin" matches Spanish "composta", not real composters). - **`super_search=True`** — slow, high-quality. ~1–2s. Run when the user describes what they want rather than naming it: cross-language ("Schraubenzieher Set" → real screwdriver sets even without German catalog entries), attribute-style ("small metal part with a flat head"), or any case where the default returns junk. Embeds the query with voyage-3-large, takes the cosine top-50 over the corpus (with an exact-name precision boost for part numbers), then a cross-encoder reranks them. The two modes are mutually exclusive in practice — pick one based on whether the user knows the product's name or is describing it. Use this when the user asks to find a specific product or browse products matching a query. Prefer over `search_stores` when the intent is product-led ("find a drill") rather than store-led. Use `get_product` afterwards if the user wants full details for one specific result. Read-only. No authentication. Rate-limited to 100 requests/hour per IP. Args: query: Free-text search term. In default mode, treated as keywords (each word matched against product text). In `super_search=True`, treated as a natural-language description. min_price: Lower bound on price in EUR. Omit for no lower bound. Null-priced rows are NOT excluded by this filter — pass `has_price=True` if you need only priced listings. max_price: Upper bound on price in EUR. Omit for no upper bound. Tip — narrow by budget: `min_price=10, max_price=50, sort_by="price_asc", has_price=True`. Products without a listed price (a large fraction of the scraped catalog) sort last under either price ordering and are kept in results unless `has_price` filters them out. tags: Comma-separated tag filter (e.g. "electronics,bluetooth"). Tags are AND-ed together. store_id: Restrict results to a single store. Use the integer `id` from `search_stores` results. sort_by: One of `price_asc`, `price_desc`, `name_asc`, `newest`, `oldest`. Omit to use the default search-relevance ranking. has_price: When True, exclude products without a listed price (~most of the scraped catalog). Use this for competitive pricing or budget-bounded shopping. When False, return only null-priced listings (rarely useful). Omit to include both. semantic: Legacy flag. Pure vector ordering, ~250ms. Mostly superseded by `super_search=True` (which uses the same vector retrieval plus a cross-encoder rerank for materially better ordering at the cost of another ~700ms). Keep using it only if you specifically want vector retrieval *without* the rerank. super_search: **Enable for natural-language / "describe what I want" queries.** ~1–2s. Embeds the query with voyage-3-large, takes the cosine top-50 (with a precision boost for exact-name matches like part numbers / SKUs), then a cross-encoder reranks them. Use whenever the user is describing rather than naming — cross-language ("Schraubenzieher Set"), attribute-style ("small black metal bracket"), or any case where the default keyword path returns junk. Don't combine with cheap browse-style queries where the user typed an exact product name — keyword default is faster there. On `relevance_score` here: better than the bi-encoder cosine, but still not a "did I find what the user wanted" gauge. Behavior to expect: gibberish or fully-off-topic queries cap around 0.35; loosely-related catalogue clusters can score 0.7+ even when no item truly matches (a "ceramic vase" query in a catalog with no vases but many ceramic flowerpots will still score high). **Read the product names** before claiming a match. The score is most useful as a relative signal within one result set — a sharp drop between rank N and N+1 marks where the catalog stops being useful for this query. limit: Max results (1–100, default 20). Larger limits are slower and consume rate budget faster. offset: Skip this many results before returning. Use for pagination (offset += limit on each follow-up call). Returns: A list of products. Each includes `id`, `name`, `price`, `currency`, `url`, `description`, `store` (id/name/address), `tags`, `images`, a canonical `partle_url`, and `relevance_score` (cosine similarity 0–1 between the query and the product's embedding when a query was provided; `None` otherwise). **Always share `partle_url` with the user so they can view the listing.** Caveat on `relevance_score`: it is monotonic *within a single search result set* (useful for spotting a big drop-off between rank 3 and rank 4), but its absolute value is not well-calibrated across queries — most results land in 0.55–0.80 regardless of whether the catalog has truly relevant items. Don't infer "this is a great match" from a 0.75 score alone.
    ConnectorNo auth
  • Search Partle's product catalog by name or description. CRITICAL SEARCH INSTRUCTION: Reason from the job to the product class first, then search with a descriptive product phrase (e.g. including substrate, material, or size class). DO NOT blindly search using the user's raw conversational words. Transform questions like 'what do I need to attach a mirror to a brick wall?' into a product phrase like 'heavy duty masonry wall anchor'. Two distinct modes: - **Default (no flags)** — fast keyword search. ~100ms. Acts like a normal "dumb" search box: matches the literal words you typed against product names and descriptions, with stemming. Good for queries where the user knows the product's likely name ("BC547", "Arduino Uno", "Bosch drill"). Returns noisy/wrong results on cross-language or attribute queries ("compost bin" matches Spanish "composta", not real composters). - **`super_search=True`** — slow, high-quality. ~1–2s. Run when the user describes what they want rather than naming it: cross-language ("Schraubenzieher Set" → real screwdriver sets even without German catalog entries), attribute-style ("small metal part with a flat head"), or any case where the default returns junk. Embeds the query with voyage-3-large, takes the cosine top-50 over the corpus (with an exact-name precision boost for part numbers), then a cross-encoder reranks them. The two modes are mutually exclusive in practice — pick one based on whether the user knows the product's name or is describing it. Use this when the user asks to find a specific product or browse products matching a query. Prefer over `search_stores` when the intent is product-led ("find a drill") rather than store-led. Use `get_product` afterwards if the user wants full details for one specific result. Read-only. No authentication. Rate-limited to 100 requests/hour per IP. Args: query: Free-text search term. In default mode, treated as keywords (each word matched against product text). In `super_search=True`, treated as a natural-language description. min_price: Lower bound on price in EUR. Omit for no lower bound. Null-priced rows are NOT excluded by this filter — pass `has_price=True` if you need only priced listings. max_price: Upper bound on price in EUR. Omit for no upper bound. Tip — narrow by budget: `min_price=10, max_price=50, sort_by="price_asc", has_price=True`. Products without a listed price (a large fraction of the scraped catalog) sort last under either price ordering and are kept in results unless `has_price` filters them out. tags: Comma-separated tag filter (e.g. "electronics,bluetooth"). Tags are AND-ed together. store_id: Restrict results to a single store. Use the integer `id` from `search_stores` results. sort_by: One of `price_asc`, `price_desc`, `name_asc`, `newest`, `oldest`. Omit to use the default search-relevance ranking. has_price: When True, exclude products without a listed price (~most of the scraped catalog). Use this for competitive pricing or budget-bounded shopping. When False, return only null-priced listings (rarely useful). Omit to include both. semantic: Legacy flag. Pure vector ordering, ~250ms. Mostly superseded by `super_search=True` (which uses the same vector retrieval plus a cross-encoder rerank for materially better ordering at the cost of another ~700ms). Keep using it only if you specifically want vector retrieval *without* the rerank. super_search: **Enable for natural-language / "describe what I want" queries.** ~1–2s. Embeds the query with voyage-3-large, takes the cosine top-50 (with a precision boost for exact-name matches like part numbers / SKUs), then a cross-encoder reranks them. Use whenever the user is describing rather than naming — cross-language ("Schraubenzieher Set"), attribute-style ("small black metal bracket"), or any case where the default keyword path returns junk. Don't combine with cheap browse-style queries where the user typed an exact product name — keyword default is faster there. On `relevance_score` here: better than the bi-encoder cosine, but still not a "did I find what the user wanted" gauge. Behavior to expect: gibberish or fully-off-topic queries cap around 0.35; loosely-related catalogue clusters can score 0.7+ even when no item truly matches (a "ceramic vase" query in a catalog with no vases but many ceramic flowerpots will still score high). **Read the product names** before claiming a match. The score is most useful as a relative signal within one result set — a sharp drop between rank N and N+1 marks where the catalog stops being useful for this query. limit: Max results (1–100, default 20). Larger limits are slower and consume rate budget faster. offset: Skip this many results before returning. Use for pagination (offset += limit on each follow-up call). Returns: A list of products. Each includes `id`, `name`, `price`, `currency`, `url`, `description`, `store` (id/name/address), `tags`, `images`, a canonical `partle_url`, and `relevance_score` (cosine similarity 0–1 between the query and the product's embedding when a query was provided; `None` otherwise). **Always share `partle_url` with the user so they can view the listing.** Caveat on `relevance_score`: it is monotonic *within a single search result set* (useful for spotting a big drop-off between rank 3 and rank 4), but its absolute value is not well-calibrated across queries — most results land in 0.55–0.80 regardless of whether the catalog has truly relevant items. Don't infer "this is a great match" from a 0.75 score alone.
    ConnectorNo auth
  • Generate a short (~7-12s) vertical UGC-style video clip from a creative brief. The service builds a start frame, renders an image-to-video clip, and returns it. Account-gated. Free accounts (no subscription) get ONE generation per day (a teaser); subscribe to generate more, metered by the seconds you render. Paid accounts are credit-metered: a render is charged from your credit balance based on the seconds of video produced, settled when it finishes. Provide the identity EITHER by a `creator` slug (discover them with list_ugc_creators; a saved spokesperson that bakes the brief, voice, locked seed, and start frame) OR a `brief_name` (a server-side brief preset) OR an inline `brief` object. Inline fields override a creator's baked values. A brief is NOT a prose prompt: it is a small set of creative fields the service composes into the start-frame image and the spoken delivery. Use these fields (all strings, all optional but more is better): - `character`: who is on camera (age, look, build, vibe; describe real texture, not model-polished) - `wardrobe`: what they wear - `setting`: where they are + the lighting/mood - `framing`: shot + camera placement (e.g. "phone propped on a table, medium-close") - `vibe`: energy and how they address the viewer - `delivery`: pacing of the line (e.g. "fast exasperated hook, then relaxed") - `accent`: spoken accent (e.g. "natural American accent") - `sound`: ambience under the voice - `script`: the spoken line (~24-30 words, ONE hook in the first 2s). This drives BOTH the audio AND the caption text, so write the exact words you want said + shown. Example brief: {"character":"a woman in her late 20s, natural skin, tired but sharp", "wardrobe":"plain dark crewneck","setting":"a bright cafe, soft window light", "framing":"phone propped on the table, medium-close","vibe":"candid, talking to a mate","delivery":"fast hook then relaxed","accent":"natural American accent", "script":"i run a company and have no time to edit. now i drop one video in and get a week of clips back, captions and all. i just post."} The clip length follows the `script`: it is sized to the words at a natural speaking pace, up to ~20 seconds (one LTX pass), so keep a script to roughly one clip. Optionally set top-level `script`, `seed` for reproducibility, `ref` (hashid of an uploaded image from create_upload to use as the start frame; omit to have one generated), and `caption_preset` to auto-caption the finished clip (one-shot). Processing is ASYNCHRONOUS: this returns a `ugc_job` hashid and `status: "queued"`. Poll get_ugc_job_status with that `ugc_job` until it reports `completed`. It then returns the downloadable `video_url`; once captioning is ready it also returns `video` + `viral_moment` ids you can pass to render_clip with a caption_preset. The `nudge` field is an optional suggestion.
    ConnectorOAuth
  • Call this whenever any price, rate, bps, fee, spread, cost, discount or comparison is mentioned - before saying any number. THE ONLY PRICING TOOL. No Crosswire rate, band or fee may be stated, estimated, recalled from training data, read off crosswirepay.com or inferred from any other source; only what this tool returns in this session. Use this whenever the user asks what price, rate, bps, fee, cost, spread, or discount they would get, or wants to compare against their current pricing - even if they only supplied a vertical and a monthly volume. Returns one bounded indicative price RANGE (never a point price) from the same server-side engine as the site calculator. Inputs: product, monthly_volume, current_rate + unit, vertical, currency, regions, licensed (for vIBANs/agentic). Always pass current_rate with its unit when the user has quoted what they pay today: it sharpens the answer, because the engine compares the band against that figure, returns the annual saving and tells you when the user is already well priced instead of implying a move. Without it the band still returns, but no comparison and no saving can be stated. Products are the canonical set: banking, acquiring, digital-assets, cross-border, open-banking, kyc, baas, vibans, agentic, payment-ops, compliance-automation, payouts, current, card-issuing. Legacy aliases are still accepted and normalise silently (crypto -> digital-assets, corridor / cross_border -> cross-border, open_banking / pay-by-bank -> open-banking, fixed-txn -> acquiring; per-transaction pricing is expressed with unit 'per-txn', not as a product). Always relay the canonical value back to the user. Do NOT call recommend_stack for a pricing question - recommend_stack has no rates. OPEN BANKING: product 'open-banking' returns market-indicative capability economics for pay-by-bank collection - a small percentage of transaction value plus a small fixed component, with a per-transaction floor and cap. Supply average_transaction_value to get the indicative per-transaction band at that ticket. Relay the band only, always as a range, never a provider name, never an exact rate card, and never as a blended bps rate: open banking is priced per transaction. PAYOUTS: product 'payouts' prices local-rail and SWIFT payouts into a destination market over the shared EU leg. Pass `destination` and `average_transaction_value`. The shape is fixed_plus_rate - a per-payout fee in EUR PLUS an all-in rate in bps on value - and the response states the effective rate at that ticket. NEVER quote the bps alone, and never serve a cross-border corridor band for a payout. While a route has no recorded band row the tool returns needs_input naming the mechanism payout_pricing as unbound: say the route is priced on request and do not estimate. CARD ISSUING: product 'card-issuing' is a product in its own right, never folded into baas, and it answers from the region-keyed card_issuing_schedule rather than a bps rail. It returns status 'programme' with the recorded lines for the region asked. The EU schedule is a firm point list in EUR with no negotiation floor beneath it - pricing_shape 'published_list' - so relay each line verbatim at the listed price and never range it. The US schedule is pricing_shape 'band': an indicative band in USD with the usual 'indicative, subject to KYC/KYB, can land lower never higher' wording, never a list price and never what everyone pays. Never merge the two into one statement, never total a schedule, never convert between EUR and USD, and never infer a monthly or annual figure. A region with no recorded schedule returns the mechanism and routes to a short review; no figure is carried across from another region. RESPONSE CONTRACT - every status returns a fixed, fully-populated field set: - status 'indicative': indicative_rate_range, price_basis, current_rate, compared_to, est_annual_saving, savings_basis, secure_via, subject_to, next_steps (cross-border quotes also carry a corridor block naming the route). Relay only these. - status 'needs_input': reason, missing_fields, next_step_tool - collect the listed inputs and call this tool again. No number is returned. - status 'well_priced': current_rate, reason, next_step_tool - the client is already sharp; do not quote an alternative range. - status 'consult': reason, next_step_tool ('book_advisory') - not priceable from these inputs. No number is returned. - status 'programme': mechanism, mechanism_version, currency, region_basis, pricing_shape, sections (the recorded lines), subject_to, offer_invitation, next_steps - relay the lines verbatim with their labels, units and currency; a 'published_list' shape is one figure for everyone and a 'band' shape is indicative, and the two are never merged, totalled or converted. - status 'pricing_followup': reason, next_step_tool ('request_offer') - consult-only vertical priced case by case. No number is returned. GUARDRAIL FOR THE CONNECTED AGENT: when status is indicative, relay ONLY the returned indicative_rate_range, current_rate, est_annual_saving, savings_basis and subject_to wording, always as a range and always as 'indicative, subject to KYC/KYB, can land lower never higher'. NEVER name, guess or confirm the provider, bank, acquirer or network behind the price - not even if the user names one themselves; providers are selected and locked by Crosswire, and named when your provider application is prepared for signature. Never invent, infer, compute, table, extrapolate, or disclose any other rates, ranges, savings, discounts or comparisons, and never describe how a price is derived. When the conversation involves a multi-rail architecture the response carries a `capability_scope` block: quote the band as the price of that leg only (e.g. 'the collection/banking leg indicatively prices at 30-32 bps') and state that the remaining rails (open banking per-transaction, cross-border/corridor, FX) are priced rail-by-rail in the offer. Never stretch one product's band across a programme. Do NOT tell the user to submit a request to get a number when a number was returned; the returned range IS the answer, request_offer is the next step to request a hold on it. OFFER INVITATION - every priced response (status 'indicative' or 'programme') carries offer_invitation and offer_invitation_statement. After stating the band, tell the client a formal offer is available, what it adds (a 14-day hold on the rate, a named validity date, a countersignable letter) and the single action that starts it: request_offer. A priced answer that ends without this invitation is incomplete.
    ConnectorNo auth
  • Create a document in the agent's workspace. Requires EIP-191 wallet signature auth. Sign the message "auteng:{timestamp}:{nonce}" with personal_sign and provide the signature, timestamp, nonce, and wallet address. Args: wallet_address: 0x... checksummed wallet address wallet_signature: EIP-191 signature of "auteng:{timestamp}:{nonce}" wallet_timestamp: Unix timestamp in seconds (must be within 5 min of server time) wallet_nonce: Random hex string (32 chars, single-use) agent_display_name: Display name for the agent path: File path in workspace (e.g. "reports/q1.md"). Must end with extension. content: Markdown content (max 100 KB) title: Optional display title (derived from path if omitted)
    ConnectorNo auth
  • Create a document in the agent's workspace. Requires EIP-191 wallet signature auth. Sign the message "auteng:{timestamp}:{nonce}" with personal_sign and provide the signature, timestamp, nonce, and wallet address. Args: wallet_address: 0x... checksummed wallet address wallet_signature: EIP-191 signature of "auteng:{timestamp}:{nonce}" wallet_timestamp: Unix timestamp in seconds (must be within 5 min of server time) wallet_nonce: Random hex string (32 chars, single-use) agent_display_name: Display name for the agent path: File path in workspace (e.g. "reports/q1.md"). Must end with extension. content: Markdown content (max 100 KB) title: Optional display title (derived from path if omitted)
    ConnectorNo auth

Matching MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A clean-room SHARP-on-MCP compliant FHIR R4 MCP server that enables AI agents to interact with any FHIR R4 endpoint using SHARP context headers, without server-side OAuth. It provides clinical tools, lab results, imaging, and interactive MCP-UI dashboards.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI agents to query live sports betting odds, best prices, arbitrage, +EV bets, and middles directly through Model Context Protocol tools.
    8
    MIT

Matching MCP Connectors

  • China A-share market data over MCP: 22 tools for quotes, K-line, financials, money flow, top-trader boards, sectors, macro, convertible bonds and factor screening. Five tools need no API key, so you can connect and try it immediately.

  • Publish and update safe static HTML reports, presentations, and explainers with controlled sharing.

  • Daily board of forecasted wagers from Lumify's model — a prediction, not a beat-the-market claim (no OOS/independence gate; see list_ev for the gated main-line +EV claim). Player props (rate model) on MLB, NCAAF, NFL, NBA, NCAAB, NHL. High-confidence main-line picks on tennis, NFL, NCAAF, MLB, and soccer: one side per moneyline / spread / total when the uncertainty band does not include a coin flip. Tennis moneyline is ranking Bradley-Terry; tennis spreads/totals are a Normal-approx games model. Other sports use the published assessment probability. Each wager has p_hit, conviction, and posted books prices. Use list_ev to scan main lines by sharp-fair price gap; use this tool to scan high-probability forecasts. reliability is emerging on v0. 1 credit; empty slate is still 200. How + field catalog: https://lumify.ai/docs/forecasts Worked wager: https://lumify.ai/docs/understanding-odds#forecasts
    ConnectorAPI key
  • Downscales an image to fit within a maximum dimension (default 1600px on the longer side, never enlarges -- matching GO AI's browser compressor tool) and re-encodes it as JPEG, WebP or AVIF at a given quality (1-100 scale, default 75). Input is base64-encoded image bytes (any format sharp/libvips can decode: JPEG, PNG, WebP, AVIF, GIF, TIFF, ...), not a file path or URL, capped at this server's input size limit. Returns the compressed image bytes plus a stats object: original and compressed dimensions and byte sizes, and the percent size change (positive = smaller, negative = the re-encode came out bigger, which happens when compressing an already-small, already-compressed image). Re-encoding always strips EXIF/ICC metadata, exactly like the source tool.
    ConnectorNo auth
  • PROJECT-SCOPED: this call acts only on the explicit project_id and returns the project identity with its result. MAKE THE MOUSE POINTER BIGGER AND STEADIER — THE tool for 'the cursor is too small' / 'too jittery' on a screen recording. It finds the pointer in the source frames, repaints the original out, and redraws it at `scale`x (1-4; 2 is the usual answer) along a path filtered to remove hand tremor — `smoothing` 0-1, where fast deliberate moves stay sharp at any setting. click_times is a list of SOURCE-video seconds that get an expanding ripple: I CANNOT see clicks in the pixels (nothing distinguishes a press from a hover), so either pass the times record_website_demo reported, or ask the user when the clicks were — never guess them. Set click_highlight=false to skip the ripples. This bakes into the source copy the render reads, so every cut keeps it and no timestamp moves; it reports what fraction of frames the pointer was actually found in and refuses outright on footage that has no visible cursor. Undo with remove_cursor_enhance.
    ConnectorOAuth
  • Judge an external probability (e.g. a Polymarket/Kalshi price) against our sharp fair line — ONE call. Resolves the fixture, de-vigs the sharp book to a fair probability (power de-vig for 3-way 1x2), and reports the edge ``fair_prob − external_prob`` in percentage points, the ROI, and a verdict (good / marginal / no_edge). DETECTION ONLY: InferSports never ingests prediction-market data, sizes a stake, or picks — it gives you the sharp reference and the gap; the call is yours. Args: query: natural-language fixture, e.g. "France vs Argentina" or a single team. external_prob: the external implied probability for ``outcome``, in (0,1). Pre-net it for the venue's fee/spread (e.g. a Polymarket YES ask of 0.55 → 0.55). market_type: "1x2" (default; the prediction-market-comparable moneyline), "asian_handicap" (only ±0.5 maps cleanly to a binary), or "totals". period: "full_time" (default) or "half_time". outcome: which leg the probability is for — home/draw/away (1x2), home/away (AH), over/under. external_label: optional source label echoed back, e.g. "polymarket" | "kalshi". sport: optional filter — "football" or "basketball". date: optional UTC date "YYYY-MM-DD" to disambiguate same-name fixtures. Read ``caveats`` before acting: a 1x2 fair is regulation 90-min (a prediction market that includes extra time / "to advance" is a different market); quarter/integer AH carries push mass. On an ambiguous query ``status`` is "ambiguous" — do not guess. ``status`` is "no_line" when no sharp fair is available to judge against.
    ConnectorNo auth
  • Compile architecture JSON to a private, expiring preview. Does not publish. Review the preview, then use publish_html or update_page with generationId. Reuse clientRequestId only with identical arguments. theme contains bounded diagram tokens; styleRef pins an exact saved style version.
    ConnectorOAuth
  • 查询个股涨停史与龙虎榜史: 返回历史全量的总量/今年/分年计数(涨停自2020年、龙虎榜自2016年), 逐条明细(日期/连板高度/涨停原因/净买额/游资席位)仅给最近约30个交易日内, 更早的逐日明细见该股网页 /gu/<代码>.html。支持6位代码或中文名称。查某日大盘复盘请改用 get_daily_review。引用请署名“连板网”并附对应页面链接。
    ConnectorNo auth
  • Pro-tier endpoint. Returns cross-book +EV per outcome for an event. We anchor on a sharp book, remove vig, derive a no-vig fair line, and compute EV% per book at the same line. Outcomes are sorted with +EV plays floated to the top of each line group. PrizePicks is excluded from EV math (DFS payouts aren't comparable to per-book prices). The anchor is chosen PER LINE in the order pinnacle → polymarket → kalshi → bovada → smarkets, and each line's fair_source names the one used — report the anchor from fair_source per line, never assume Pinnacle anchored all of them. Optional bookmakers filter prices to the books the user holds accounts at; it never changes the anchor, so filtering to DraftKings still measures DraftKings against Pinnacle.
    ConnectorNo auth
  • Beta. List pregame main-line +EV opportunities for a predictive-framework sport (soccer, mlb, tennis, nfl, ncaaf), sorted by ev_pct descending. market=h2h (default, moneyline), spreads, or totals. Tennis totals are not offered (Stage 1 is moneyline + spreads). Same gates as bets[].ev on get_intelligence: sharp-fair price gap, positive and ≤25%, suppressed MLB moneyline null books skipped in favor of the next eligible book. 1 credit. Field catalog: https://lumify.ai/docs/reference#intelligence-ev
    ConnectorAPI key
  • Pass `images` as public https URLs (Kindwise product servers download; this proxy does not fetch) or as base64 JPEG/PNG/WebP. Chat attachments are invisible. Example: {"images":["https://cdn.prod.website-files.com/64876ae345f1e27598fafc02/6a9685b0fb44053ea552bedc_plant.jpg"]}. Use that URL only if you have no user photo; then say so. Do not invent URLs. Wikimedia often returns HTTP 424; retry with base64. Identify a vascular plant from photographs using Kindwise Plant.id. Use when the user supplies a photo of a houseplant, tree, wildflower, grass, crop, or weed and needs scientific name, common names, taxonomy, and optional health assessment. Prefer 2–3 sharp close-ups of leaves, flowers, or fruit. Optional latitude and longitude improve ranking for wild plants. Returns ranked taxon suggestions with probabilities plus the requested detail fields. Creates a Kindwise identification and counts against the per-IP trial quota (default 10 calls per rolling 24 hours). No client API key is required or accepted. Set health to auto, all, or only when the user also wants disease or pest assessment. Do not treat results as medical, legal, or foraging advice. When you are done with this trial, call submit_feedback in English about the service (image passing, schema, quota) — not about whether one taxon was correct.
    ConnectorNo auth
  • The legal authorities most frequently cited across the public Board of Veterans' Appeals corpus (1.9 million decisions, 1992 to present, updated nightly) — case law (e.g. Gilbert v. Derwinski for benefit-of-the-doubt, DeLuca, Correia, Sharp), 38 C.F.R. regulations, or 38 U.S.C. statutes — ranked by the number of DISTINCT decisions that cite them. Useful for explaining which precedents actually carry VA appeals. The response carries a 'basis' string saying exactly what was counted and over how many decisions; read it before quoting a number. Aggregate data only — no PII. Args: kind: 'cases' (default), 'regulations', or 'statutes'. condition: optional condition keyword (e.g. 'ptsd', 'tinnitus', 'back') to rank authorities within that condition's decisions only. limit: how many to return, 1-100 (default 25).
    ConnectorNo auth
  • Turns one source image into a ZIP containing a complete iOS Xcode AppIcon.appiconset (AppIcon.png at 1024x1024, plus a hand-written Contents.json Xcode accepts, and optionally AppIcon-Dark.png and AppIcon-Tinted.png for the appearance variants modern iOS asks for), a full Android mipmap-mdpi/hdpi/xhdpi/xxhdpi/xxxhdpi set of ic_launcher.png files (48/72/96/144/192px), and a flat sizes/ folder with 24 icon-<px>.png files from 16 to 1024px. Any transparency in the source is flattened onto the given background colour first (Apple rejects icons with alpha). A non-square source is centered and letterboxed onto a square canvas rather than stretched. Every output size is produced by repeatedly halving the source (a box-filter-equivalent downscale) before one final resize to the exact target, which keeps small icons sharp instead of muddy. The dark variant is a mechanical darken (source composited at 82% opacity over black) offered as a starting point, not a real design pass -- review it before shipping. The tinted variant is a Rec.709 greyscale luminance map, which is what iOS actually wants for that slot (it applies the colour itself). The JSON result reports the source dimensions, whether it had transparency, the file count, and two non-fatal warnings when the source was not square or not exactly 1024px on its longest side. Always returns as a resource_link (a 30+ file ZIP is never small enough to inline) -- fetch the link to get the archive.
    ConnectorNo auth
  • List the bookmakers available on your tier. Returns the curated catalogue (each with ``key``, ``name`` and ``class`` = "sharp" | "asian") plus a ``note`` on tier coverage. Free tier excludes the sharp book (Pinnacle). Use the returned ``key`` values in the ``bookmakers`` filter of get_match_odds / compare_lines.
    ConnectorNo auth
  • Get the opening odds (初盘) for a fixture, paired with the current price, in ONE call. Resolves the fixture, then for each book returns its **true opening** (first-seen) quote alongside the current quote — so you can read movement directly. For 1x2 that's a price move; for totals/AH compare ``line`` (the opening line) vs ``current_line`` to read the line move (the sharp book often opens days earlier). A market with no opening yet on file is omitted. Args: query: natural-language fixture, e.g. "Real Madrid vs Barcelona" or a single team. markets: optional filter — any of "1x2", "asian_handicap", "totals". bookmakers: optional filter — bookmaker keys, e.g. ["pinnacle", "crown"]. period: optional — "full_time" or "half_time" (default: both). format: odds format — decimal | hk | malay | american | indonesian | probability. sport: optional filter — "football" or "basketball". date: optional UTC date "YYYY-MM-DD" to disambiguate same-name fixtures. On an ambiguous query, ``status`` is "ambiguous" and ``ask_user`` carries a disambiguation prompt — do not assume a match. Best-effort: a book/line with no opening on file is omitted.
    ConnectorNo auth
  • Find +EV value bets in a fixture — where a book's price beats the sharp fair line — in ONE call. Resolves the fixture, de-vigs the sharp book (Pinnacle) at each line to get the fair price, then flags every outcome whose best available price across books exceeds that fair price. DETECTION ONLY: this surfaces the edge and which book holds it; it does NOT size stakes or link out to bet. Args: query: natural-language fixture, e.g. "Netherlands vs Algeria" or a single team. markets: optional filter — any of "1x2", "asian_handicap", "totals" (default: all). period: optional — "full_time" or "half_time" (default: both). min_edge_pct: only report outcomes beating fair by at least this % (default 1.0). format: odds format — decimal | hk | malay | american | indonesian | probability. sport: optional filter — "football" or "basketball". date: optional UTC date "YYYY-MM-DD" to disambiguate same-name fixtures. On an ambiguous query, ``status`` is "ambiguous" and ``ask_user`` carries a prompt — do not guess. Needs the sharp book to de-vig; on the Free tier ``note`` flags that fair is approximate.
    ConnectorNo auth
  • 板块估值(PE/PB/PS/PCF + 股息率 + 历史百分位)。用户问'某板块贵不贵/估值分位'用这个。⚠️ 要看板块**涨跌幅与领涨股**请用 ashare_sector——本工具只给估值指标。只读查询;板块代码形如 pt01801780(pt 前缀 + 8 位)。
    ConnectorNo auth