Skip to main content
Glama
605,399 tools. Updated 2026-09-24 00:20

"Sanity" matching MCP tools:

  • Occurrence tally (total + per-book breakdown) for the identical query concord_lemma would match. count.Total always equals len(concord_lemma(...)) - use this to sanity-check a concordance result, or when only the number matters.
    ConnectorNo auth
  • Straight-line (great-circle) distance matrix from coordinates. FREE. Typical input {"points": [{"id": "depot", "lat": 51.5, "lon": -0.12}, {"id": "A", "lat": 51.52, "lon": -0.1}]} returns {"matrix": [[0, 2.6], [2.6, 0]], "unit": "km", "kind": "straight-line (haversine), not road distance"}. Use when you have no road matrix and a straight-line approximation is acceptable, or to sanity-check one. Not road routing: real driving distances are longer and the difference is not uniform. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "points must be a list of at least two <value> objects"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
    ConnectorNo auth
  • CALL when the user asks what's active right now, what's trending this week, how fresh the feed is, or is planning SIEM / blocklist ingestion — this is the quick "is it worth pulling the full feed" check. Live shape report on the DugganUSA STIX 2.1 threat feed for a chosen lookback window (1-7 days). Returns total indicator count, top malware families, top source feeds, type breakdown (ip/domain/url/hash/cidr), and top countries. Use this BEFORE pulling the full STIX bundle to gauge feed depth and freshness, plan SIEM ingestion budget, or sanity-check that a campaign you read about is actually in our corpus. Does NOT return the full bundle — for that, fetch `https://analytics.dugganusa.com/api/v1/stix-feed` with the same Bearer key. The bundle is STIX 2.1 / TAXII 2.1 with Splunk ES, OPNsense, Suricata, and Unbound DNS sinkhole plugins. Authentication required (Bearer token). Anonymous callers get a clear 401 with the registration URL. Example: `{"days": 7}` returns the last week's feed shape — useful for capacity planning and spot-checking recent ingest tags.
    ConnectorNo auth
  • Run the same M/M/c configuration through BOTH the closed-form Erlang-C formula AND the discrete-event simulator, returning a side-by-side comparison with deltas. Use this when the user is validating QueueSim's engine against textbook values, learning queueing theory by watching simulation converge on the formula, or auditing a result that 'feels off' — agreement within ~5%% is the canonical sanity check for an M/M/c run. Pure-Exponential M/M/c only; the closed-form Erlang-C is undefined for other service distributions. Large deltas usually mean the simulation run was too short for steady-state — raise simulationDays. ANTI-FABRICATION: both sides come from real computation — closed-form is deterministic, simulation is stochastic but engine-backed. Quote both verbatim. Do not synthesize an 'average of the two' or recompute the formula from training-data recall.
    ConnectorNo auth
  • Get the solver's oracle USD prices per (chain, token). For quoting with sodax_get_solver_quote, filter chainId='146': chainId-146 addresses pass the quote service's compatibility check, while spoke-chain (non-146) addresses are rejected with 'not compatible with the quote service'. Caveat: passing that check (being listed/priced) does NOT guarantee a swap route — canonical bridged *_ASSET hub tokens and major stablecoins route most reliably, while many wrapped/derivative/money-market entries (e.g. WBTC, waLocBTC, SONIC_SODA_ASSET) are priced but frequently return 'No path was found', and routability is pair/amount/liquidity-dependent. Also useful for sanity-checking quote amounts against the USD prices the solver uses.
    ConnectorNo auth
  • Structurally validate a draft EU invoice and report machine-readable issues (schema problems, VAT-id format, date sanity, BIS 3.0 completeness, computed totals). Full report, never fails fast. Not legal approval. Validation and readiness only; never sends a Peppol invoice and gives no legal, fiscal or compliance guarantee.
    ConnectorNo auth

Matching MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Deterministic JSON validation and repair for AI agents. Validates, repairs, schema-checks, and diffs JSON so long-running agents don't corrupt their session state with malformed writes.
    MIT

Matching MCP Connectors

  • SanityOAuth

    Direct access to your Sanity projects (content, datasets, releases, schemas) and agent rules

  • Deterministic JSON repair for LLM agents. Strips prose preambles, fixes malformed control characters, repairs truncated structures, and validates against JSON Schema — no LLM calls, no retries. Stops session poisoning in long-running agents.

  • Use this when you want to lint the SHAPE of a submission (DSL spec, candles or trades) for free before spending a check, so a typo never costs you one. A format check only -- it gives no buy/sell advice. Free payload lint -- fix your submission BEFORE spending a check. Validates the SHAPE of what you are about to submit, with the same machine-readable failure vocabulary the paid tools use: DSL schema validity, OHLCV sanity (finite positive prices, aligned series, strictly increasing timestamps), per-symbol data presence, trade-row types, and an honest size warning when the sample is below the paid gates' evidential floor. Send the same spec/ohlcv_by_symbol/trades you would send to assay_gauntlet or assay_signal; get back ok plus named findings (dsl_invalid, timestamps_not_monotonic, ohlcv_non_finite_or_non_positive, ohlcv_series_misaligned, symbol_data_missing, trades_rows_invalid, sample_below_engine_floor) with plain-language details. Shape lint only -- a clean preflight is NOT evidence of an edge and never blesses a signal; it just means your paid check will not bounce on format. Code-computed, no ledger write, no account needed. NOT financial advice. Price: free.
    ConnectorNo auth
  • Eén deterministische review-tool voor concept-teksten van een raadslid/fractiemedewerker. Geen LLM, geen DB, <10ms. Kies de modus via `soort`: - `vragen` — scherpt concept schriftelijke/mondelinge vragen aan: flagt suggestief/sturend, meervoudig, gesloten ja/nee, vage kwantoren, en ongefundeerde vragen + 'scherper'-suggestie. - `notitie` / `commissienotitie` / `fractienotitie` — sanity-review (maximaal 10 opmerkingen): ontbrekend voor/tegen-eindoordeel, strategische opstelling, bronnen zonder paginanummer, ontbrekende samenvatting/vragen/bolletjes en suggestieve vragen — gegroepeerd op ernst (hoog/midden/laag). - `spreektekst` — rubriek met cijfer (1-10) + deelscores + verbeterpunten + duur-vs-spreektijd (opening, standpunt, onderbouwing, weerlegging, oproep, lengte ~130 wpm). - RvO-format check: `motie` | `motie_vreemd` | `amendement` | `schriftelijke_vragen` | `mondelinge_vragen` | `initiatiefvoorstel` | `interpellatieverzoek` — valideert structuur + RvO-regels (ontbrekend dictum, geen raadsvoorstel-ref bij amendement, gesloten vragen bij schriftelijke vragen, etc.). Gebruik dit na `genereer_raadsstuk` of op een handgeschreven concept. Gebruik wanneer: het raadslid een concept heeft geschreven en wil weten wat scherper kan. NIET om corpus te doorzoeken → `zoek_raadshistorie`. Retourneert: markdown met concrete verbeterpunten passend bij `soort`, gegroepeerd op ernst. **Positie in de drafting-keten:** roep aan ná `genereer_raadsstuk`; verwerk de bevindingen in het concept en sla daarna op met `sla_fractie_artifact_op(artifact_type=<doc_type>)`.
    ConnectorNo auth
  • Backtest a cost-alert condition BEFORE creating it: replays the `condition` against the last `lookbackDays` (default 45) of data and reports how many times it would have fired. Takes the same queries + condition + dedup as create_alert (no notification channel needed). The dedup window is per groupBy value; delivery stays one message listing newly eligible groups. Returns the evaluation window, `firingDays` (distinct days the condition held), `firingRows` (per-group fires), `notificationsCount` (days on which at least one newly eligible group would notify) and a sample of firing dates with per-group `state`. Use this to sanity-check a condition/threshold (and tune dedup) before calling create_alert. EXAMPLE: "Would 'alert if 7-day AWS spend tops $50k' have fired this month?" → { queries: [{ type: "cost", name: "a", metricId: "cost", currency: "USD", filterCel: "cos_provider in [\"AWS\"]" }], condition: "rollingSum(a, 7, DAY) > 50000", dedup: { kind: "CALENDAR", calendarUnit: "WEEK" }, lookbackDays: 30 }
    ConnectorOAuth
  • What freelancers with a given skill LIST as their hourly rate, as a distribution rather than an average. Use this to sanity-check a rate before quoting, or to see whether a posted budget is above or below what the market asks. `skill` is matched loosely against profile titles, so "django", "react native" and "smm" all work; `country` optionally narrows to one market, spelled as it appears on a profile ("United States", "Poland"). Returns p25 / median / p75 / p90, the share holding Top Rated, and the sample size. AGGREGATE ONLY — never a name, never a row. Nothing is returned below a floor of five freelancers, because a statistic over fewer than that describes an individual; you get `insufficient_data` instead of a number. These are LISTED rates, what freelancers ask. It is not what buyers paid — for that, ask get_buyer_quality about a specific client.
    ConnectorOAuth
  • What freelancers with a given skill LIST as their hourly rate, as a distribution rather than an average. Use this to sanity-check a rate before quoting, or to see whether a posted budget is above or below what the market asks. `skill` is matched loosely against profile titles, so "django", "react native" and "smm" all work; `country` optionally narrows to one market, spelled as it appears on a profile ("United States", "Poland"). Returns p25 / median / p75 / p90, the share holding Top Rated, and the sample size. AGGREGATE ONLY — never a name, never a row. Nothing is returned below a floor of five freelancers, because a statistic over fewer than that describes an individual; you get `insufficient_data` instead of a number. These are LISTED rates, what freelancers ask. It is not what buyers paid — for that, ask get_buyer_quality about a specific client.
    ConnectorOAuth
  • Fast aggregate summary of the account's converted leads (Smart Leads) — counts and rates only, no lead rows. ALSO KNOWN AS: leads summary, lead totals, lead overview, MQL rate, lead-to-MQL conversion, smart leads summary. KEYWORDS: LEAD COUNT, LEAD TOTALS, HOW MANY LEADS, LEADS SUMMARY, LEAD OVERVIEW, SMART LEADS, CONVERTED LEADS, MQL RATE, LEAD-TO-MQL, MQLS, UNIQUE LEADS, UNIQUE DOMAINS, LEAD CHANNEL MIX, LEADS BY CHANNEL, ENRICHMENT COVERAGE, SYNCED TO MARKETING AUTOMATION, LEAD QUALITY BASELINE, LEAD AUDIT BASELINE, PIPELINE FROM LEADS, TRIGGERED OPPORTUNITIES, INFLUENCED OPPORTUNITIES, LEAD SANITY CHECK USE FOR: "How many leads do we have?", MQL rate and lead-to-MQL sanity checks, channel mix of leads (Facebook/Instagram/LinkedIn/Google Ads/display), enrichment coverage, leads synced to marketing automation, unique leads vs unique company domains, pipeline tie-back (triggered/influenced opportunities and amounts). ALWAYS call this FIRST in a lead audit to set the baseline before pulling rows with get_converted_leads. NOT FOR: Inspecting individual leads or job-title/ICP distributions (use get_converted_leads); campaign performance metrics (use experiment_performance_stats). RETURNED DATA: total | totalFacebook, totalInstagram, totalLinkedin, totalGoogleAds | fullyEnriched, autoEnriched, unenriched | syncedToMa | uniqueLeads, uniqueDomain | mqls, uniqueMqls, mqlRate, uniqueMqlRate | influencedOpps, triggeredOpps, influencedAmount, triggeredAmount. RULES: - Accepts the same filters as get_converted_leads (no pagination/sort) — scope by campaignName/channels/startDate+endDate to summarize a slice. - mqlRate is a useful lead-quality indicator, but clients define MQL criteria differently and it rarely matches a true MQL — treat it as a secondary signal next to job-title/ICP fit. - uniqueDomain vs total shows lead concentration: many leads from few domains can mean a few companies dominate the results.
    ConnectorAPI key
  • Compares two people on Pythagorean Life Path numbers derived from their names and birth dates and returns a score, tier label, narrative, strengths, challenges, and advice. WORKFLOW: BEFORE: RECOMMENDED — asterwise_get_numerology_profile per person — sanity-check Life Paths before comparing. AFTER: None. INPUT CONTRACT: Four strings (two names, two dates) are passed through without local guards. DO NOT CONFUSE WITH: asterwise_get_compatibility — sidereal koota scoring, not numerology integers. asterwise_get_numerology_profile — single-person profile, not dyad scoring. Full output and error contract: https://docs.asterwise.com/mcp/tools/get-numerology-compatibility/
    ConnectorOAuth
  • Honest-range annual solar production estimate (kWh/year ± band, with assumptions) for a ZIP code, from either a proposed system size (kW) or a monthly bill. Use to sanity-check installer quotes or size a system before talking to anyone. [20 anonymous calls/caller/24h; then 100 free calls/key/30d; active Builder required for sustained informational use]
    ConnectorNo auth
  • Honest-range annual solar production estimate (kWh/year ± band, with assumptions) for a ZIP code, from either a proposed system size (kW) or a monthly bill. Use to sanity-check installer quotes or size a system before talking to anyone. [20 anonymous calls/caller/24h; then 100 free calls/key/30d; active Builder required for sustained informational use]
    ConnectorNo auth
  • Quick lookup of the single cheapest provider for a resource type, with optional minimum amount filter. CAVEAT: this returns a single representative price per provider, not broken down by duration tier — short rentals (5min) and long rentals (30 days) have very different per-unit prices and this tool does not distinguish between them. For an accurate per-tier comparison, use get_prices(duration=N) where N is the exact rental duration in seconds (e.g. 3600 for 1h, 86400 for 1d, 2592000 for 30d). Use get_best_price only when you need the absolute floor price as a quick sanity-check. No auth required.
    ConnectorNo auth
  • Dry-run a rule's condition_expr against a SYNTHETIC trigger payload — reports whether it WOULD have fired, but NEVER dispatches the action (no report generated, no team run, no message sent, no inbox write). Use this immediately after create_rule to sanity-check the condition before it starts evaluating against real events. Pass `sample_payload_override` to test against specific field values (e.g. `{price_change_pct: 12}`).
    ConnectorNo auth
  • Echo strings through the daemon via DERO.Echo. Useful for round-trip sanity checks. When to call: when you need to confirm that string payloads reach the daemon intact (e.g. before debugging a malformed call to a more complex tool). PREFER dero_daemon_ping for a lighter-weight liveness probe. Input Requirements (CRITICAL): - `words` MUST be a non-empty array of strings. Output: the echoed string concatenated by the daemon.
    ConnectorNo auth
  • Byte-level integrity proof: re-downloads every file from storage, recomputes content hashes, rebuilds the merkle tree, and compares the result against the persisted attestation. Returns match=True when storage bytes still match the recorded hashes, match=False when they have drifted. Cost: scales with total locker bytes (re-downloads everything). Slower than nukez_verify — reach for this only on audits, post-migration sanity checks, or when you suspect drift between storage and the persisted manifest. For routine integrity checks, nukez_verify is the right tool (sub-second, structural). Requires payer authorization (a signed locker:read envelope): signer-mode deployments sign automatically via the SDK; keyless deployments get action_required='sign_envelopes' with the exact envelope spec, then re-call with envelope=<signed result>.
    ConnectorNo auth
  • Judge whether a specific asking price for a PC part is good, by comparing it against tracked market data. Use when someone asks 'is $X a good price for Y' or wants a listing sanity-checked. Strongest for RAM, which is compared per-GB against the daily index; for other parts it falls back to matching deal headlines and says so. Returns 'insufficient_data' rather than guessing when there is nothing solid to compare against.
    ConnectorNo auth
  • Return the revenue projection for an idea: financial model, growth scenarios and unit economics. Use it to sanity-check whether the business can make money before investing further. Read-only and free; pass an ideaId you own.
    ConnectorNo auth