Skip to main content
Glama
629,465 tools. Updated 2026-10-02 10:28

"Ring" matching MCP tools:

  • Easily Create Your AR Ring or Engagement Ring Try Ons. You Only Need to Upload Images. Opt for 2D images for effortless yet high-quality virtual try-on experiences with minimal effort.
    ConnectorNo auth
  • Return a canonical definition for a primitive Eurorack / synthesis concept and its relations to other concepts in the corpus. Use this for VOCABULARY questions, not module questions — when the user is asking what a term means or how two terms relate, not which modules implement it. Typical shapes: - "Is four-quadrant mult the same as through-zero AM?" → lookup_concept("four-quadrant mult") - "What's the difference between a gate and a trigger?" → lookup_concept("gate") - "Modular signal level vs line level — when does it matter?" → lookup_concept("modular signal level") - "Are clock dividers just pulse counters?" → lookup_concept("clock divider") - "Are polyphonic patch cables TRRRRRS?" → lookup_concept("polyphonic cable") Lookup is case-insensitive across three axes, tried in order: the canonical id ("through-zero-fm"), the canonical label ("Through-Zero FM (TZFM)"), and any registered alias ("tzfm", "through zero fm"). Spaces and hyphens are matched literally; the lookup does NOT normalize whitespace beyond lowercasing. If the term doesn't match anything, the response includes up to 5 substring-matched suggestions. Args: - name (string, required, min length 2): the term to look up. Examples: "AM", "ring mod", "four-quadrant mult", "TZFM", "clock divider", "gate", "trigger". Returns: { "concept": { "id": "amplitude-modulation", "label": "Amplitude Modulation (AM)", "description": "A multiplication of two signals: the carrier...", "aliases": ["am", "amplitude modulation", "amplitude mod"], "related_concepts": [ { "related_concept_id": "ring-modulation", "related_concept_label": "Ring Modulation (RM)", "relation_kind": "commonly_confused_with", "note": "AM with a unipolar modulator preserves the carrier..." }, ... ], "source_id": null, "citation_url": "https://learningmodular.com/glossary/...", "citation_quote": "Amplitude modulation is when..." } | null, "_meta": { "query": "<the name argument verbatim>", "matched_via": "id" | "label" | "alias" | "none", "concept_suggestions": [ { "id": "...", "label": "...", "matched_via": "alias", "matched_text": "..." } ], "feedback_hint": "...?" } } Relation kinds: - "related_to" — see-also link (default; symmetric in spirit). - "subtype_of" — X is a specific case of Y (RM ⊂ AM, TZFM ⊂ linear FM). - "inverse_of" — X is the opposite of Y (clock-divider ↔ clock-multiplier). - "commonly_confused_with" — they're distinct, but people conflate them (gate vs trigger, AM vs RM, modular level vs line level). When to cite: every concept carries either source_id or citation_url + citation_quote. Surface the citation when the answer affects a decision (e.g. "the corpus cites learningmodular.com — TRS cables are physically the same connector whether carrying balanced mono or unbalanced stereo; only the destination determines the role"). When the result is null and concept_suggestions are provided, present 2–3 closest matches to the user. If none look right, the corpus genuinely doesn't carry that concept — call report_gap with kind="missing_field" and tool_name="lookup_concept" naming the term and its expected definition.
    ConnectorNo auth
  • Use this when the question is whether the site actually WORKS for a keyboard-only or switch-device user — tab order, focus traps, whether the focus ring is visible at all — which no stored scan and no static markup check can answer. Run it before claiming keyboard accessibility for a page, and again after deploying any tab-order, focus or skip-link fix. It tabs through the page the way a keyboard-only user does and reports what breaks: focus traps, elements with no visible focus indicator, focus hidden behind sticky headers, controls that cannot be reached at all, controls that ignore Enter and Space, and tab order that contradicts the visual or document order. Focus indicators are measured by comparing rendered pixels rather than CSS, because indicators come from outline, box-shadow, border and background alike. Findings carry a confidence: the order rules in particular are nudges for a human to confirm, not assertions. A focus-obscured finding names the element doing the covering, once per occluder, and counts distinct covered elements — with stops carrying the tab-stop total when the ring revisits them. A focus-trap finding that may be an open modal behaving correctly says so and says what to check by hand. The response states the viewport the walk was performed in, because the obscured and offscreen results are geometry, and endedBy says which of three things stopped the walk: the ring closing ("ring-closed"), the step ceiling ("max-steps") or the run's time budget ("time-budget"). Only the first means the ring was fully walked. Each finding's selectors array holds up to 5 examples, with count the true total and selectorsTruncated set when more were cut; full: true returns them all from the stored run. A run that lands on a bot-protection interstitial rather than the page is reported as void, never as clean, and a void run carries no stops or findings at all. Where the interstitial title is contradicted by the walk itself, the run stands and carries challengeSuspected instead: trust the walk, not the title. Read-only.
    ConnectorAPI key
  • Call this BEFORE search_available_numbers/buy_number (#2086) — do not find or buy a number for someone who has not given a reachable number. Ask for it as "the number I'll text you at whenever I take a call for you", not as a generic form field. Saves the owner's own mobile number on the business record so Kai can ring it first and so activation/forwarding follow-ups can reach a human — connecting a number alone does not prove the owner can be reached. US numbers only; normalized to E.164 and rejected if it cannot be validated as a US mobile/landline number. When ring_first is true (default), also configures ring-first routing so calls hit this cell before overflowing to the secretary — the same path used at signup. If the caller declines to give a number, pass declined=true instead of owner_phone: this records the signup as an inquiry (a KaiCalls lead, not a provisioned business+number) and you must not call find_number/buy_number for this business afterward.
    Connector
    Destructive
    OAuth
  • ENUMERATE objects in a memory — the population, not the best matches. `memory` is the slug from list_my_memories. Narrow it three ways, all optional: `class_name` to ONE exact class by canonical snake_case name (from list_classes — descendants NOT included), `class_id` for the same filter when you already hold the id, or `owned_by` to list what one PERSON object owns (approved ownerships only). Omit all three to walk every class. `limit` defaults to 50. Each row carries `status` — defer on 'unapproved'; `recall` reports how much is waiting for review. This walks the memory in storage order; it does not rank by meaning. When the question is "what do we know about X?" use semantic_search — it matches on meaning and keywords and can inline each hit's first ring with expand=1. Use list_objects when you want the population itself: everything of one class, a count, a sweep, one person's responsibilities.
    ConnectorAPI key
  • A game kit IS an engine: its manifest carries asset slots AND GameRules — the genre as a document (movement, camera, world, objective, entities, pickups, ai, hud, audio). action=list → kits of the workspace. action=get {id} → manifest + rules (lib_… id). action=create {style?, name?, rules?, slots?} → new kit, rules default to the style then merge yours. action=patch {id, rules?, slots?, prompts?, name?} → partial update; rules merge section by section, a section set to null resets it. Slot refs inside rules must point at slot ids of the kit (unknown refs are dropped, the renderer falls back to procedural). Compose a NEW genre by writing rules: e.g. movement vehicle-boost + world arena-ring + objective knockout = sumo cars, no code.
    ConnectorNo auth

Matching MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Enables AI agents to perform reliable web searches through multiple vendors with automatic failover, keyless-first access, TTL caching, and concurrent request coalescing.
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    OS keychain secrets for AI coding agents, over MCP. Anchors credentials to the native vault (macOS Keychain, Linux Secret Service, Windows Credential Vault) and exposes them through 44 policy-governed tools: per-environment values, TTL, linked rotation, encrypted transfer bundles, redacted exec, and a tamper-evident audit log. Local-first, no cloud account.
    46
    123 npm
    4
    AGPL 3.0

Matching MCP Connectors

  • Style the PUBLIC form page: colours, corner radius and custom CSS. Merges — a key you omit keeps its current value, and every other setting (submit label, success message, translations) is preserved, which is why this exists rather than writing settings through update_form_draft. Pass null for a key to clear it back to the default look. Colours are hex (#4f46e5 or #abc): `primaryColor` buttons and focus rings, `backgroundColor` the page, `cardColor` the form card, `textColor` the text — setting ANY colour switches the page to a light theme built on it, so set them together or not at all. `borderRadius` is one of none, sm, md, lg, xl. `customCss` applies only inside the page’s `.ff-public` wrapper (e.g. `.ff-public h1 { letter-spacing: 0.02em; }`), is capped at 20,000 characters, may not contain "<", may not @import, and may not use url(), a backslash, expression() or -moz-binding — invalid input is refused with the reasons and nothing is saved. The page’s stable hooks are `.ff-header` (name and description), `.ff-steps` (the step counter), `.ff-card` (the fields’ card, which already has a soft shadow and no border), `.ff-nav` (the Back/Next/Submit row) and `[data-ff-field]` per field; never put a border, ring or shadow on `form` or the wrapper — `form` also encloses the buttons, so that draws an extra box around everything. Style what the user asked for; do not invent a house style unasked. Affects the public page only (not this app), and takes effect for submitters at publish_form. Logos and org-wide branding are set in Settings, not here. Requires form:write.
    ConnectorAPI key
  • Put a cost breakdown YOU computed onto the cost-structure card. **This tool measures nothing.** It takes the slices and the method behind them as input and returns them for rendering. Call it only after you have computed the breakdown yourself and can state every field below from your own work, never to "get" a cost structure. The server derives no breakdown of its own. The chart draws the slices you state here, which is why every field below is required: the policy behind a grouping is the only thing that makes it checkable. **The card draws the ring, the legend and the month.** Everything else you state below is REQUIRED and reaches no pixel. All of it comes back to you in this tool's text result, which is what you write the prose from. The chart is the measure; the explanation is yours. REQUIRED, because a breakdown whose method is not stated cannot be checked: - `entries`: the slices, largest first, each a POSITIVE magnitude in `currency`. Send NO share: this tool derives every share from the amounts and returns them, and an entry carrying `pct` is refused as an unknown field. At most 4 named slices plus one rolled-up `Other`, because the card performs no rollup of its own - `period_start` and `period_end`: the INCLUSIVE bounds of the single calendar month covered. Never a quarter, never a span, never a month still running - `rung`: which grouping produced these categories. State it in prose too, so the reader knows whether they are looking at their own ledger's categories or Well's - `label_provenance`: whether a person owns those labels. A chart of accounts synced from an accounting tool is `machine`, not `curated`: the names came from the provider, not from anyone at the company - `coverage`: the outflow rows the elected grouping could label, against every outflow row the month held. This is the evidence the rung was elected on, and your prose states it - `convention` and `convention_counts`: which sign means money leaving, and the row counts you elected it from - `excluded`: what fell out, in four named groups. `no_asset_movement` is where CARD SPEND lands, because the transfer rule drops a row with no owned asset leg and a card charge moves a liability. It contains `no_owned_leg`, so never add them. Send an unmeasured LEG count as `null` rather than `0`, because zero says the rule removed nothing, and one cancelled leg count nulls all three. `unreadable_rows` is always measured and takes a number REFUSED rather than rendered: - an entry carrying `pct`, or any other field this schema does not name. The shares are DERIVED here from the amounts, so a share you send is a second opinion the card has no way to reconcile - entries out of descending-amount order, more than 4 named slices, or an `Other` slice that is not last - a negative `amount`: a breakdown is made of magnitudes - a `period_start`/`period_end` pair that is not exactly one whole calendar month, or that names a month which has not ended - `category_key` on any rung but `category_key`, or on the rolled-up `Other` slice, which is many categories and is therefore not one of them - any `label_provenance` but `unlabelled` on a rung that carries no category: `curated`, `machine` and `mixed` each claim that someone or something chose labels the chart never shows. The converse is NOT refused, because a rung elects over the month's rows while the provenance describes the ones that survived into the slices, so a labelled rung whose labelled rows all dropped is legitimately `unlabelled` - `rung: "uncategorised"` sent beside named category slices, which is a breakdown claiming to be the absence of one - `convention: "magnitude"`: that feed keeps direction in a field no grouping reaches, so no outflow was measured. `signed` elected from ZERO negative rows is the same finding, demonstrated rather than declared - coverage wider than the month it covers, or a labelled rung that could label no rows at all - one of `excluded.internal_transfers`, `excluded.no_owned_leg` and `excluded.no_asset_movement` `null` while the others are measured: one cancelled count nulls all three, and the refusal is filed against `excluded.no_asset_movement` - a `currency` outside ISO-4217: the code is checked against the catalog, not its shape An EMPTY `entries` array is accepted, and it means nothing is categorized for that month. Say that, rather than reporting zero spend: a month with no outflow at all is a different answer and the card says so differently. When the token authorizes one workspace, call this directly — no other tool call is needed first. When it authorizes several, this read will not guess which one you mean: pass `workspace_id` on the call.
    ConnectorNo auth
  • Connection test / health check — call this first to confirm the server is reachable. Returns server identity, deploy version, tool count, station coverage, and the update times of the realtime layers (JMA alerts, train status) so you can confirm freshness, not just liveness. No auth, no arguments, lightweight.
    ConnectorNo auth
  • Evaluates UI elements for accessibility issues that automated scanners miss. COST: $0.01 USDC via x402 on Base-compatible EVM network per call. Checks beyond what axe/Lighthouse/WAVE catch at the design stage: - Touch targets below 24×24px (WCAG 2.5.8 AA hard fail) - Touch targets below 44×44px (WCAG 2.5.5 AAA recommended) - Information conveyed by color alone without a secondary indicator (WCAG 1.4.1) - Missing focus indicators on interactive elements (WCAG 2.4.7) - Focus rings thinner than 2px (WCAG 2.4.11) - Focus ring contrast below 3:1 against adjacent background (WCAG 2.4.11) - Interactive elements below the practical usability height floor Args: - elements: Array of 1–50 UI element objects - screen_name: Optional label for the evaluation report Each element requires: element_type. Provide width_px/height_px for touch target checks. Provide uses_color_only + secondary indicator flags for 1.4.1 checks. Provide is_interactive + focus_visible + focus indicator properties for focus checks. Returns: Structured report with: - Per-element scores (0–100) and specific issues - Severity levels (critical/major/minor) with WCAG references - What automated tools miss and why - Concrete fix recommendations - Overall score and verdict (pass/needs_work/fail) - Top issues sorted by severity
    ConnectorNo auth
  • Connectivity check — returns server version and current timestamp. Use to verify MCP server is reachable before calling other tools.
    ConnectorNo auth
  • Connectivity check that confirms the Nordic MCP server process is responding. Use this at the start of a session to verify the server is reachable before making other calls. Do not use as a proxy for database health — the server can respond while the Qdrant vector database is temporarily unavailable. To confirm data availability, call search_filings directly. Returns: A greeting string: "Hello {name}! Nordic MCP server is running."
    ConnectorNo auth
  • Connection test / health check — call this first to confirm the server is reachable. Returns server identity, deploy version, tool count, station coverage, and the update times of the realtime layers (JMA alerts, train status) so you can confirm freshness, not just liveness. No auth, no arguments, lightweight.
    ConnectorNo auth
  • Ring the user's phone at full volume for up to 60 seconds, even if it's on silent or Do Not Disturb. Use this when the user asks to locate or ring their phone. Fire-and-forget: the server can't confirm the phone actually rang, only that the ring request was sent.
    ConnectorOAuth
  • Confirm that read-only QNM suite-presence stays ON (POST /v1/mesh/disable refuses MESH-DISABLE-REFUSED) — not a kill switch. Use this when a client still posts the historical disable route and needs the honest refuse. Do not use it for dropping one node or declaring an extra bearer; use mesh_leave or mesh_enable instead. Read-only refuse: suite-presence stays ON. No tethers drop. No implicit heal, no account resurrection, no wipe internals. Repeating still refuses. AZMail mesh_disable is a separate product-local mail ring. Returns MESH-DISABLE-REFUSED with enabled=true and a stay-on note.
    ConnectorNo auth
  • Confirm that read-only QNM suite-presence stays ON (POST /v1/mesh/disable refuses MESH-DISABLE-REFUSED) — not a kill switch. Use this when a client still posts the historical disable route and needs the honest refuse. Do not use it for dropping one node or declaring an extra bearer; use mesh_leave or mesh_enable instead. Read-only refuse: suite-presence stays ON. No tethers drop. No implicit heal, no account resurrection, no wipe internals. Repeating still refuses. AZMail mesh_disable is a separate product-local mail ring. Returns MESH-DISABLE-REFUSED with enabled=true and a stay-on note.
    ConnectorNo auth
  • Place an immediate test call for a reminder so the user can hear it right now. The phone will ring within seconds — only do this when the user has asked to test, and never repeatedly. It consumes one call from their quota and does not change the schedule. Args: reminder_id: Reminder to test (from list_reminders).
    Connector
    Destructive
    No auth
  • Composite: look up a DERO transaction by hash, classify its confirmation status (confirmed | mempool | unknown) and kind (sc_install | transfer_or_invocation | coinbase | unknown), extract the SC surface inline when the tx is a contract install, and stitch the right DERO tx + DVM docs pages as citations. When to call: as the FIRST step when investigating any tx by hash — the user asks "what is this tx", "is this confirmed", "what contract did this deploy", or "what does this tx do". PREFER this over chaining dero_get_transaction with dero_get_sc yourself: for SC INSTALL txs the composite already extracts the deployed function surface inline (no second RPC needed because the source is embedded in the tx record), classifies the kind so the agent does not have to inspect the raw shape, and protects against the "empty record" failure mode by surfacing structured TX_NOT_FOUND when the daemon does not know the hash. Input Requirements: - `tx_hash` is REQUIRED. Must be 64 hex chars. - `decode` is OPTIONAL (default true). Pass false to ask the daemon to skip the JSON-decoded view (raw hex still comes back; the field hint that the binary is available). - `include_sc_context` is OPTIONAL (default true). Set false to skip the inline extractScSurface call for SC install txs (useful when you only need confirmation / ring info). Output: `{ tx_hash, confirmation: { status, block_height, valid_block, invalid_blocks, in_pool }, kind, ring: { groups, first_group_size }, reward, signer_visible, native_balance, sc_install: { scid, surface, raw_code_length, has_code } | null, raw_tx_hex_length, narrative, related_docs, _diagnostics }`. `sc_install` is non-null ONLY when the tx is a contract install AND the surface extractor produced something (tx_hash IS the resulting SCID in that case). SC invocation arg decoding is NOT performed — that requires walking the binary tx blob with the DERO tx codec, which is not bundled in this MCP. The composite surfaces `raw_tx_hex_length` so the agent knows the binary is available via dero_get_transaction. On unknown hash the daemon returns an empty record and the composite returns a structured `_meta.error` with code `TX_NOT_FOUND`.
    ConnectorNo auth
  • Composite: build a fresh `deroproof…` display object for ANY chosen transaction, ring slot, and amount — including negative amounts that uint64-wrap into the trillions. The forged string is constructed locally from public chain data (no wallet, no keys, no broadcast). On an unpatched explorer it shows **Verified ✓** for the chosen amount; on the chain, nothing has changed. When to call: when a user pastes a `deroproof…` string and asks "does Verified ✓ mean the chain minted these coins?" Forge an equivalent string for the same TX with a different amount and show the result side-by-side — that is the most direct refutation. Also useful for reproducing the `docs/integrity/inflation-claim` Part 3 demonstration on arbitrary inputs. Math: `blinder = C[ring_slot] − amount × G`, then `bech32("deroproof", version || blinder || CBOR({HH: zeros, VU: uint64}))`. The tool runs the same equation `proof.Prove()` checks at `proof/proof.go:88-95` and self-verifies before returning a string. If the self-check fails, the tool throws rather than emit a string that would not verify. Input Requirements (CRITICAL): - Exactly ONE of `tx_hash` or `tx_hex` MUST be provided. `tx_hash` triggers a daemon fetch (and surfaces the receiver address); `tx_hex` skips the daemon and uses the raw bytes the caller already has. - `ring_slot` is OPTIONAL (default 0). Must be in [0, ring_size). - `amount_dero` is OPTIONAL (default "-1"). Signed decimal with up to 5 fractional digits, e.g. `"-1"`, `"1000000"`, `"-2200000.00181"`. Negative values produce uint64 wraparounds that unpatched explorers render as positive trillions. Output: `{ forged_proof_string, target_amount: { dero, atoms_signed, atoms_uint64 }, ring_slot, ring_size, ring_receiver_address, math: { C_slot_hex, amount_x_G_hex, blinder_hex }, self_check: { verified, method }, explorer_display_amount, context_note, related_docs, _diagnostics }`. `ring_receiver_address` is null when `tx_hex` was passed (the hex carries publickey pointers, not addresses). READ-ONLY: this tool never broadcasts, never touches a wallet, never mutates chain state. It computes a string from public inputs and returns it. Annotation `readOnlyHint: true` is preserved. PREFER citing the returned `related_docs` (the integrity rebuttal pages) in any agent response — readers should understand the forged string is a display-layer object, not a consensus event.
    ConnectorNo auth
  • Health check: confirm the eDiscovery Decoder News/Calc MCP server is reachable before a demo or when troubleshooting a connection. Returns server name and version. No inputs.
    ConnectorNo auth
  • FAST (~2s) bounded context packet on a topic — the retrieval layer only, no deliberation. Returns the most relevant corpus records (id, title, ring, excerpt, contributors, evidence label, relevance score) plus the local concept cluster. Your default orientation on any Omnarai topic. Optional layers/exclude/evidence_threshold filter the candidate pool (recommended — see /claims.json).
    ConnectorNo auth