Skip to main content
Glama
261,244 tools. Last updated 2026-07-05 11:42

"American Express" matching MCP tools:

  • Search the 96-indicator registry by keyword. Returns ranked matches (up to `limit`, default 10, max 50) with slug, branded name, underlying name, category, and canonical URL. Scoring is substring+prefix over slug, branded_name, name, and category — e.g. query 'savings' returns both The Buffer (personal saving rate) and The Safety Net (emergency savings survey). Use this when you want to discover which slug corresponds to a concept before calling `get_indicator`.
    Connector
  • Build the per-window x per-party concurrent-delay attribution matrix from a chronological list of XER snapshots. Implements the per-window concurrency view per AACE RP 29R-03 §4.2.B (concurrent delay apportionment). Where ``forensic_windows_analysis`` answers "how many days does each party own across the whole project?", this tool answers "how did each window distribute its shift across the parties?" — useful when defending or attacking concurrency findings on a window-by-window basis. Conservation rule (AACE 29R-03 §4.1): the sum of per-party column totals equals the sum of per-window completion shifts within ±1 day of rounding. The ``conservation_check`` field on the response reflects this; ``conservation_diff_days`` carries the exact gap. IMPORTANT — conservation is NOT attribution. ``conservation_check`` can be True (the columns sum to the grand total) even when 100% of the shift lands in the Unattributed column, i.e. no party owns any of the drift. Read ``unattributed_share_pct`` and ``high_unattributed_share_warning`` to know whether a meaningful apportionment actually occurred. A fully-unattributed matrix conserves perfectly but attributes nothing — never present its green conservation check as a validated apportionment. Use this tool when you only need the matrix view; use ``forensic_windows_analysis`` for the full claim. Args: schedules: chronologically ordered list of dicts — the SAME shape ``forensic_windows_analysis`` accepts. Each dict carries ``label`` (optional) and EXACTLY ONE of ``xer_content`` (full XER text, hosted/remote use) or ``xer_path`` (server-side path, local use). This is the preferred input for hosted/remote clients. xer_paths: legacy chronologically ordered list of server-side XER file paths (local-server use). xer_contents: legacy chronologically ordered list of XER text contents. Each element is the full text of one XER. Supply EXACTLY ONE of schedules / xer_paths / xer_contents (lists must have at least 2 entries either way). Returns: { "parties": ["Owner", "Contractor", "Concurrent", "Force Majeure", "Unattributed"], # Unit for every shift_* field and the grand totals. Always # "working_days" — the matrix measures the completion shift # in working days (Dana default). The *_calendar_days twins # express the SAME shift in calendar days so an unlabeled # "11" can never be mistaken for the 15-calendar-day value. "shift_unit": "working_days", "rows": [{ "window_label", "period_start", "period_end", # shift_days == shift_workdays (working days, # legacy alias). shift_calendar_days is the same # shift in calendar days; shift_basis names the # finish driver the shift was measured on. "shift_days", "shift_unit", "shift_workdays", "shift_calendar_days", "shift_basis", "parties": {party: days}, "cascade_inferred": bool }, ...], "column_totals": {party: days}, "grand_total_shift": int, # working days (legacy) "grand_total_shift_workdays": int, "grand_total_shift_calendar_days": int | None, "conservation_check": bool, "conservation_diff_days": int, # Disambiguates "conserved AND attributed" from "conserved # but entirely Unattributed". unattributed_share_pct is # |Unattributed| / sum|shift| as a percent; the warning # flips True when that share is dominant (>= 50%). "unattributed_share_pct": float, "high_unattributed_share_warning": bool, "standard": "AACE RP 29R-03 §4.2.B (concurrent delay apportionment)" }
    Connector
  • Scan today's whole slate in ONE call — each fixture with honest status + value/arb signal. The batch alternative to looping find_match → get_sharp_line per match. Returns every fixture in the filter with its status (finished is excluded from "live"), live score/clock, and a pre-computed value/arb signal; value/arb matches are sorted to the top and the list is truncated to ``limit`` (so truncation drops the quiet ones). Line movement is NOT included (that needs the opening lookup) — drill into a single fixture with get_opening_line. DETECTION ONLY / read-only. Args: sport: optional filter — "football" or "basketball". status: optional filter — "live" | "scheduled" | "finished". league: optional league filter — a name (fuzzy-matched, e.g. "World Cup") or an external id (lg_…). markets: optional — limit the value/arb scan to "1x2"/"asian_handicap"/"totals" (default all). period: optional — "full_time" or "half_time" (default both). min_edge_pct: value threshold for the per-match signal (default 1.0). min_margin_pct: arbitrage threshold for the per-match signal (default 0.0). only_signal: if true, return only fixtures that have a value or arb signal. format: odds format — decimal | hk | malay | american | indonesian | probability. limit: max entries to return, signal-first (default 20, max 100).
    Connector
  • Self-Inspect. Express a thought, or describe the task you are working on, and you always get back ONE metathought: a short abstract question that makes you inspect your own task and assumptions before continuing. Use it whenever you want a self-check: after forming a hypothesis, before committing to an answer, when a long chain feels like it has drifted, when you notice you are agreeing to please, or when you are about to assert something from memory. There is no failure case: it always returns a metathought to question yourself with, selected by a transparent heuristic over an open CSV (no LLM). Keyless and free. DO NOT call for factual lookups or as a substitute for doing the task. Absorb the question and act on it; do not echo it verbatim to the user.
    Connector
  • Execute JavaScript code against the Wix REST API. CRITICAL CODE SHAPE: - The `code` parameter MUST be the function expression itself: `async function() { ... }` or `async () => { ... }`. - Do NOT send a script body like `const result = await ...; return result;`. - Do NOT call the function yourself. The tool calls it for you. - Put all `const`, `await`, and `return` statements inside the function body. Do not rely on memory for Wix API endpoints, methods, schemas, or request bodies. Before writing code, use SearchWixAPISpec or the search, browse, read-docs, and schema tools to confirm the exact API URL, HTTP method, request body structure, schema field names, required fields, enum values, and auth context. Before accessing fields on a response object, know the exact shape — don't guess paths like `result.id` when the actual path might be `result.results[0].item.id`. When you fetch the method schema for the request body, include `responses: method.responses` at the same time — it costs nothing and tells you exactly what fields come back. When SearchWixAPISpec returns a method schema, use `method.publicUrl` for ExecuteWixAPI when available; do not use `method.servers[0]`, which may be an internal Wix host. Pass the docs article, recipe, or schema URLs you used in the `sourceDocUrls` parameter. Then write code using wix.request(). Auth is handled automatically — do NOT set Authorization, wix-site-id, or wix-account-id headers. This tool overlaps with `CallWixSiteAPI` and `ManageWixSite`: all can call Wix REST APIs. Use `ExecuteWixAPI` when code helps express the task: repeating one API call in a loop, paginating through results, transforming data between calls, branching on API responses, or chaining several related API calls in one operation. Probing is useful when it is read-only: use GET/query/list/search calls to inspect existing state, resolve real IDs, confirm response shapes, or verify a previous write. For create/update/delete calls, search docs, read docs, and inspect schemas first; call the mutation only with real resolved inputs, and avoid using placeholder IDs or speculative mutation calls just to discover validation behavior or response shape. If a mutation succeeds but you need more details, use the returned data or follow up with a read-only GET/query; do not repeat the mutation only to get a different response shape. Use `wix.request({ method, url, body })` for API calls. Scope defaults to `"site"` when the ExecuteWixAPI `siteId` parameter is passed, otherwise `"account"`. Set `scope: "site"` explicitly for site-level APIs, which is the common case for business domains such as Stores, Bookings, CRM, Forms, CMS, Events, and Blog. Set `scope: "account"` explicitly for account-level APIs such as Sites, Site Folders, Domains, and User Management, or when the docs/schema indicate account-level auth. A single `ExecuteWixAPI` invocation can target at most one site. For site-level API calls, pass the site ID in the tool-level `siteId` parameter, not inside `wix.request()`. Do not use `wix.request({ siteId: "..." })`; per-request site switching is not supported. Error handling: `wix.request()` throws when the Wix API returns an error. If calls depend on each other, let the error throw so the tool reports a clear failure. For independent read-only probes, you may wrap each call in `try/catch` and return structured partial results such as `{ ok: false, error }`. When running independent calls in parallel, use `Promise.allSettled` rather than `Promise.all` so that a single failure does not discard the other results. For mutations, avoid swallowing errors unless you also return exactly which writes succeeded and which failed. Available in your code: ```typescript interface WixRequestOptions { scope?: "site" | "account"; // Defaults to "site" with ExecuteWixAPI siteId, otherwise "account" method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE"; url: string; // Prefer method.publicUrl from SearchWixAPISpec, e.g. "https://www.wixapis.com/stores/v1/products/query"; paths like "/stores/v1/products/query" are resolved against https://www.wixapis.com body?: unknown; headers?: Record<string, string>; // Do NOT set Authorization, wix-site-id, or wix-account-id } interface WixResponse<T = unknown> { status: number; data: T; json(): Promise<T>; // Fetch-compatible alias for data } declare const wix: { request<T = unknown>(options: WixRequestOptions): Promise<WixResponse<T>>; }; declare const siteId: string | undefined; // Tool-level siteId passed to ExecuteWixAPI, if any. ``` Your code MUST be an async function expression that returns the result: ```javascript async () => { const response = await wix.request({ method: "GET", url: "https://www.wixapis.com/<account-level-endpoint>" }); return response.data; } ``` The response is available as `response.data`. For compatibility with fetch-style code, `await response.json()` returns the same data. Return compact, task-focused data instead of raw API responses. For list/query/search endpoints, especially "list all" tasks or APIs that may return many items, paginate in code and map each item to the fields needed for the task. Include IDs, metadata, nested fields, or raw response fragments when they are needed to complete the task, disambiguate entities, verify mutations, or answer the user. If the user asks for names and types, return only names and types. For hundreds of items, avoid verbose JSON objects because repeated keys waste tokens; return compact strings such as `"Name - TYPE"` joined with newlines, or small tuples such as `["Name", "TYPE"]`. If the user asks for a specific output value, include that value explicitly in the returned object so the final answer can report it. If you need to filter by a field, verify the endpoint supports that filter in the method docs/schema or related "Supported Filters and Sorting" docs; otherwise retrieve a bounded page and filter in JavaScript. When looking up an item by user-provided name, paginate/search until you find an exact name match; never update or delete the first result unless it exactly matches. Example — site-level request with compact output: ```javascript async function() { const response = await wix.request({ method: "POST", url: "https://www.wixapis.com/<site-level-endpoint>", body: { query: { cursorPaging: { limit: 100 } } } }); const items = response.data.items ?? response.data.results ?? []; return { count: items.length, items: items.map(item => item.name + " - " + item.type).join("\ ") }; } ``` Example — account-level request: ```javascript async function() { const response = await wix.request({ scope: "account", method: "POST", url: "https://www.wixapis.com/<account-level-endpoint>", body: { query: { cursorPaging: { limit: 50 } } } }); return response.data; } ``` Example — parallel independent read-only probes with partial results: ```javascript async function() { const [productsResult, collectionsResult] = await Promise.allSettled([ wix.request({ scope: "site", method: "POST", url: "https://www.wixapis.com/<products-query-endpoint>", body: { query: { cursorPaging: { limit: 10 } } } }), wix.request({ scope: "site", method: "POST", url: "https://www.wixapis.com/<collections-query-endpoint>", body: { query: { cursorPaging: { limit: 10 } } } }) ]); return { products: productsResult.status === "fulfilled" ? { ok: true, count: (productsResult.value.data.items ?? productsResult.value.data.products ?? []).length } : { ok: false, error: String(productsResult.reason) }, collections: collectionsResult.status === "fulfilled" ? { ok: true, count: (collectionsResult.value.data.items ?? collectionsResult.value.data.collections ?? []).length } : { ok: false, error: String(collectionsResult.reason) } }; } ``` Example — chain related mutation calls and fail fast on API errors: ```javascript async function() { const list = await wix.request({ scope: "site", method: "POST", url: "https://www.wixapis.com/<query-endpoint>", body: { query: { cursorPaging: { limit: 20 } } } }); const items = list.data.items ?? []; const match = items.find(item => item.name === "Target name"); if (!match) { return { error: "NOT_FOUND", available: items.map(item => ({ id: item.id, name: item.name })) }; } const updated = await wix.request({ scope: "site", method: "PATCH", url: `https://www.wixapis.com/<update-endpoint>/${match.id}`, body: { item: { id: match.id, revision: match.revision, name: "Updated name" } } }); return { id: updated.data.item?.id, name: updated.data.item?.name, revision: updated.data.item?.revision }; } ```
    Connector
  • Fetch statistically-validated leading/lagging relationships for an indicator. Source: the five-filter leading-indicator scanner (cross-correlation → first-differenced CCF → multi-crisis validation → Granger causality → out-of-sample validation). Returns two lists: `as_leader` (pairs where this indicator precedes its follower) and `as_follower` (pairs where another indicator precedes this one). Only fully-validated pairs are included — partial matches are not surfaced. Most of the 96 indicators return empty lists; currently six pairs clear the full gauntlet.
    Connector

Matching MCP Servers

Matching MCP Connectors

  • Verified Latin American data for autonomous AI agents — sanctions screening (OFAC+SARLAFT+CNBV+COAF+UAF), entity enrichment (RUES/CNPJ/RFC), central bank rates (DTF/TIIE/Selic/TRM/UF), and market intelligence. EU AI Act Art.13 compliant. $0.02–$0.10 USDC via x402 on Base and Solana.

  • Read-only MCP for U.S. household distress: 96 indicators, ADI composite, 3,144 counties.

  • Return today's free sports betting projections published by Olympus Bets Analytics. Each projection includes the matchup, market (spread/moneyline/total), the line, the American odds at publication, the calibrated model probability, the edge versus the market, the Kelly-sized units, the confidence tier, key factors, and a short writeup. These are PUBLIC projections — the same set published on https://app.olympus-bets.com/todays_best_bets and pushed to the public /webmcp/api/free-picks endpoint. Premium tier projections are not exposed here. Args: league: Optional league filter (e.g. "NBA", "NHL", "MLB", "CBB", "NFL", "SOCCER", "LOL", "GOLF"). Omit to return all leagues. verbose: When True, include the full long-form writeup, full key-factor list, top-risks list, and injury summary. Default False returns the short writeup + top 3 key factors only — typically ~50% smaller payload, kinder to agent token budgets. Set verbose=True when an agent specifically wants the detail (e.g., user asked "explain this pick"). Returns: ``{date, total, leagues_active, projections: [...]}``
    Connector
  • Verify any package on live registries before install — and plan upgrades from GitHub release notes. One tool, 5 tasks via task: check (default), upgrade, security, migrate, debug. Each task returns focus, summary, data, hint, related_tasks, next_calls, meta. Use for frameworks (next, react, vite, express), payments (stripe), auth (next-auth, @clerk/nextjs, passport), databases (prisma, drizzle-orm, pg), and any dep on npm/PyPI/cargo/gem/go/maven/nuget/packagist/pub/hex/cocoapods/spm. Version resolution: pass version/from_version, or source:github:owner/repo to read the pinned version from package.json via GitHub API (primary path for hosted MCP upgrades). Workflow: get_project_context({ topic: "integrations" }) → check_package({ task: "check" }) → task=security if vulnerable → task=upgrade with from_version when bumping. task=upgrade|migrate parses GitHub releases for breaking_changes, migration_steps, code_example, advisories. DO NOT use for repo orientation (get_project_context), lockfile transitive audit (npm audit), API docs (Context7), or install verification (project_memory). Read-only.
    Connector
  • Get synsets (word meanings) for a Danish word, returning a sorted list of lexical concepts. DanNet follows the OntoLex-Lemon model where: - Words (ontolex:LexicalEntry) evoke concepts through senses - Synsets (ontolex:LexicalConcept) represent units of meaning - Multiple words can share the same synset (synonyms) - One word can have multiple synsets (polysemy) This function returns all synsets associated with a word, effectively giving you all the different meanings/senses that word can have. Each synset represents a distinct semantic concept with its own definition and semantic relationships. Common patterns in Danish: - Nouns often have multiple senses (e.g., "kage" = cake/lump) - Verbs distinguish motion vs. state (e.g., "løbe" = run/flow) - Check synset's dns:ontologicalType for semantic classification DDO CONNECTION AND SYNSET LABELS: Synset labels are compositions of DDO-derived sense labels, showing all words that express the same meaning. For example: - "{hund_1§1; køter_§1; vovhund_§1; vovse_§1}" = all words meaning "domestic dog" - "{forlygte_§2; babs_§1; bryst_§2; patte_1§1a}" = all words meaning "female breast" Each individual sense label follows DDO structure: - "hund_1§1" = word "hund", entry 1, definition 1 in DDO (ordnet.dk) - "patte_1§1a" = word "patte", entry 1, definition 1, subdefinition a - The § notation connects directly to DDO's definition numbering system This composition reveals the semantic relationships between Danish words and their shared meanings, all traceable back to authoritative DDO lexicographic data. RETURN BEHAVIOR: This function has two possible return modes depending on search results: 1. MULTIPLE RESULTS: Returns List[SearchResult] with basic information for each synset 2. SINGLE RESULT (redirect): Returns full synset data Dict when DanNet automatically redirects to a single synset. This provides immediate access to all semantic relationships, ontological types, sentiment data, and other rich information without requiring a separate get_synset_info() call. The single-result case is equivalent to calling get_synset_info() on the synset, providing the same comprehensive RDF data structure with all semantic relations. Args: query: The Danish word or phrase to search for language: Language for labels and definitions in results (default: "da" for Danish, "en" for English when available) Note: Only Danish words can be searched regardless of this parameter Returns: MULTIPLE RESULTS: List of SearchResult objects with: - word: The lexical form - synset_id: Unique synset identifier (format: synset-NNNNN) - label: Human-readable synset label (e.g., "{kage_1§1}") - definition: Brief semantic definition (may be truncated with "...") SINGLE RESULT: Dict with complete synset data including: - All RDF properties with namespace prefixes (e.g., wn:hypernym) - dns:ontologicalType → semantic types with @set array - dns:sentiment → parsed sentiment (if present) - synset_id → clean identifier for convenience - All semantic relationships and linguistic properties Examples: # Multiple results case results = get_word_synsets("hund") # Returns list of search result dictionaries for all meanings of "hund" # => [{"word": "hund", "synset_id": "synset-3047", ...}, ...] # Single result case (redirect) result = get_word_synsets("svinkeærinde") # Returns complete synset data for unique word # => {'wn:hypernym': 'dn:synset-11677', 'dns:sentiment': {...}, ...}
    Connector
  • Instant community signal — no registration, no key. Just slug + direction. Use when you want to quickly express trust (up) or distrust (down) on any entity. Community favors are 0.1x weight. For 10x weight, use nanmesh.trust.review instead.
    Connector
  • Fetch a compact snapshot of an American Default economic indicator by slug. Returns latest value, unit, frequency, direction, pre-computed aggregates (period averages, extremes, sustained runs), editorial prose (when available), and canonical APA / MLA / Chicago / news-copy citations. Raw historical series is NOT included — use https://americandefault.org/api/indicators/{slug}.json for the full data. Slug examples: 'the-buffer' (personal savings rate), 'mortgage-delinquency', 'initial-unemployment-claims-sa'.
    Connector
  • Run a raw Overpass QL query against OpenStreetMap. Use for complex spatial queries the helper tools can't express. Example: `[out:json][timeout:25]; area["name"="Berlin"][admin_level=4]->.a; node["amenity"="library"](area.a); out body;`. Returns the raw Overpass JSON (elements array with node/way/relation).
    Connector
  • Returns current dynamic toll rates for WA express lanes and tolled facilities: SR 99 (WSDOT Tunnel), SR 520 Bridge, I-405 Express Lanes, I-90 Two-Way Express Lanes, and SR 167 HOT Lanes. Rates are time-banded and change dynamically based on traffic conditions.
    Connector
  • Answer an odds question about a fixture in ONE call (natural language in, worked line out). Resolves the fixture, picks the consensus line, the best price per outcome across books, and de-vigged fair odds from the sharpest book — returning a ready-to-read ``summary`` plus the full ``comparison``. Prefer this over chaining find_match → compare_lines. Args: query: natural-language fixture, e.g. "Arsenal vs Man City" or a single team. market_type: "1x2", "asian_handicap" (default) or "totals". period: "full_time" (default) or "half_time". 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. verbosity: "full" (default) or "terse". "terse" empties the per-book ``books`` array inside ``comparison`` to save tokens; the ``summary`` and worked numbers are kept either way. On an ambiguous query, ``status`` is "ambiguous" and ``ask_user`` carries a disambiguation prompt — do not assume a match; ask the user or re-call with a more specific query. A ``decision`` block (``safe_to_proceed`` / ``ask_user`` / ``next_action``) pre-computes the go/no-go — branch on it instead of re-judging the result.
    Connector
  • Slate Diff Compute what changed since a previously-stored snapshot. Body shape: { "slate_id": 32867, "date": "2026-05-11", "sport": "NBA", "site": "FD", "previous": { "v": "v1", "players": [{"id","name","status","salary","proj"}, ...], "odds": [{"game","ou","spread","home_ml","away_ml"}, ...] } } Returns a structured diff: which players changed status / salary / projection, which games moved spread or O/U, which players were added or removed from the pool. The thresholds for "changed": - status: any non-empty difference (Q→OUT, ''→OUT, GTD→IN, etc.) - salary: any integer delta - projection: |delta| >= 0.5 fantasy points - odds spread: |delta| >= 0.5 - odds ou: |delta| >= 0.5 - odds ml: |delta| >= 10 (American odds noise floor) No auth required — read-only computation off in-memory current snapshot plus the caller-supplied previous one. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **422**: Validation Error Content-Type: application/json **Example Response:** ```json { "detail": [ { "loc": [], "msg": "Message", "type": "Error Type", "ctx": {} } ] } ```
    Connector
  • Create a shareable Word Aligner diagram that shows which words match across two or more stacked lines of text (a translation and its source, an interlinear gloss, IPA, etc.). Returns a URL that opens the interactive diagram, plus a preview image. Use this when the user wants to translate a phrase and show word correspondences, align a translation with its source (including RTL scripts like Hebrew or Arabic), or build a Leipzig-style interlinear gloss. Word indices are 0-based token positions. Tokenize each line the same way the tool does before assigning indices: - Whitespace always splits ("I have been going" -> I[0] have[1] been[2] going[3]). - The characters in settings.tokenSplitChars (default ".-|") also split and are then removed from the rendered text, so "go.PST.IPFV" becomes three tokens (go, PST, IPFV) and the dots disappear. For Leipzig glosses set tokenSplitChars to "-|" to keep the dots. - Punctuation stays attached by default ("Hello, world!" -> Hello,[0] world![1]). - In RTL lines, word 0 is the logically first word (rightmost on screen); index in reading order. Each alignment is [lineA, wordA, lineB, wordB]; the two lines must be vertically adjacent (|lineA - lineB| = 1). To express many-to-one, list each target word as its own tuple. Tokens that share a connection group get the same color automatically.
    Connector
  • Find synonyms for a Danish word through shared synsets (word senses). SYNONYM TYPES IN DANNET: - True synonyms: Words sharing the exact same synset - Context-specific: Different synonyms for different word senses Note: Near-synonyms via wn:similar relations are not currently included The function returns all words that share synsets with the input word, effectively finding lexical alternatives that express the same concepts. Args: word: The Danish word to find synonyms for Returns: Comma-separated string of synonymous words (aggregated across all word senses) Example: synonyms = get_word_synonyms("hund") # Returns: "køter, vovhund, vovse" Note: Check synset definitions to understand which synonyms apply to which meaning (polysemy is common in Danish).
    Connector
  • Manual fallback for creating canvas and adding elements. ⚠️ IMPORTANT: Call get_guide first and follow its instructions! Use this tool only when the user's request is not a good fit for Mermaid. If the request can be represented in Mermaid, use add_elements_from_mermaid instead. If room_id is NOT provided - creates a NEW canvas and returns url plus room_id. If the user did not explicitly mention an existing board/canvas/room, do NOT ask for a room_id; create a new canvas instead. If a previous Canvs tool result or assistant message in the same conversation contains a room_id, reuse it for follow-up requests like 'add to it' or 'same board'. If you only have a room URL, extract room_id from https://[host]/?room=[room_id] or https://[host]/gdrive?id=[room_id]. If the user refers to a previous board but no usable room_id is available, create a new canvas instead of asking for the URL by default. If room_id IS provided - adds elements to that canvas. If the canvas is displayed as an inline widget in the interface, do NOT include the url in your reply. If no widget is shown, share the url so the user can open the canvas.Use cases: wireframes, UI mockups, freeform illustrations, standalone shapes, and manual layouts that Mermaid does not cover well. Do not use this tool for diagrams that Mermaid can express. Element types: rectangle, ellipse, diamond, arrow, line, freedraw, text, image. Rich text: the text field supports limited HTML for text elements and rectangle/ellipse/diamond shape labels. Supports the rich-text plugin HTML subset: <b>/<strong>, <i>/<em>, <u>, <br>, <div>/<p>, <ul>/<ol>/<li>, <a href>, <font color>, and <span style="color, background/background-color, font-size, font-family">. Use textAlign for left/center/right alignment; avoid unsupported HTML/CSS. TEXT IN SHAPES: use containerId on text element pointing to shape id. ARROWS: Position at EDGE of source shape. Auto-bound within 30px. Colors: strokeColor, backgroundColor (hex).
    Connector
  • CONSENT REQUIRED BEFORE CALLING THIS TOOL. Before submitting a loan application, you MUST display the following disclosure to the user verbatim and obtain their explicit agreement (e.g. they say "I agree", "I consent", or "Yes"). Do NOT call this tool until the user has explicitly agreed. DISCLOSURE: "By submitting this application, you: (1) consent to and agree with IncredibleFi's Terms of Service, Privacy Policy, Credit Authorization Agreement, E-Consent, Arbitration Notice, Advertiser Disclosure, and Personal Loan Notice; (2) certify that all information herein is true and complete; (3) provide written instructions under the Fair Credit Reporting Act for Acqscale, Inc. (IncredibleFi.com) and its Marketplace Partners with whom Acqscale, Inc. (IncredibleFi.com) connects you to obtain your consumer credit report from contracted Credit Bureau(s) associated with your pre-qualification for credit inquiry; (4) understand your information will be presented to a network of lenders and/or lending partners who will review and verify your information to determine if you may qualify for a loan, and that lenders and financial service providers may share your personal information including approval and funded status; and (5) provide express consent to recurring communication at the telephone number provided by Acqscale, Inc. (IncredibleFi.com) and its Marketing Partners. Consent is not required to purchase any goods or services." Once the user has explicitly agreed, set tcpaConsent to true and submit the application. This tool always returns a URL for the user: either a direct lender match or curated loan options. May return "additional_information_needed" with extra fields to improve matching.
    Connector
  • Get real-time air cargo disruption status at major US and international freight hub airports. Returns FAA ground delays, ground stops, arrival and departure delays with estimated minutes, closure status, disruption score, and traffic collapse detection. Covers major cargo hubs including Memphis (FedEx), Louisville (UPS), Anchorage, Chicago O'Hare, Los Angeles, Miami, New York JFK, and Dallas-Fort Worth. Used by air freight forwarders, express carriers, and logistics planners to reroute time-sensitive shipments around airport disruptions.
    Connector