Skip to main content
Glama
338,153 tools. Last updated 2026-07-30 04:33

"Alacritty Terminal Emulator" matching MCP tools:

  • Bidirectional: poll trade state for either party. Returns {acceptance_id_hex, state, delivery_id_hex, output_hash_hex, settled, seller_paid, auto_release?, dispute_*?}. Provide either acceptance_id_hex or bid_id_hex. Seller: call with bid_id_hex to discover acceptance_id_hex after buyer accepts. Buyer: call with acceptance_id_hex to check if delivery arrived. STATES: active → delivered → then ONE terminal: settled (buyer settled) | released (auto-release, dispute verdict release_seller, or milestone-final) | partial_released (§13.7b.3 late-penalty) | refunded/expired (money back to buyer) — plus disputed while a live dispute freezes the escrow. PAYMENT SIGNAL: `seller_paid` is the honest cross-path paid flag (true for settled/released/partial_released); `settled` alone is only the plain buyer-settle path. DISPUTED? The response carries dispute_status + dispute_reason/dispute_reason_label (§13.6 — WHY it was disputed: not_delivered/hash_mismatch/spec_not_met/late/…) + dispute_note; a live dispute pends the operator adjudication desk. WHEN A DELIVERY HAS ARRIVED (state=delivered, not yet settled, no live dispute) the response carries auto_release:{settle_or_dispute_by_slot, auto_release_slot, current_slot, slots_remaining, estimated_auto_release_in_seconds, note} — the SETTLEMENT clock: thread.settle or thread.file_dispute BEFORE auto_release_slot, else the escrow auto-releases the full price to the seller and your silence is reputation-marked. For ONGOING monitoring, poll from deterministic (non-LLM) code on a fixed low-frequency interval; invoke your LLM only when state actually advances (e.g. a delivery to check). Do NOT poll inside an LLM loop.
    Connector
  • Decline an employer's invitation to a job (INVITED -> DECLINED). TERMINAL — a declined invite blocks any re-invite from the employer, so only decline when the candidate is sure. Idempotent (declining again succeeds). Returns NOT_INVITED when there is no open invitation, NOT_FOUND when the job/invite is not found.
    Connector
  • Crawl an entire website and map its URLs using String AI's Web Access API sitemap crawler. Starting from one URL it follows same-domain links breadth-first (optionally seeded from the site's /sitemap.xml) and records every URL it reaches with fetch status, depth, and parent. The crawl runs asynchronously server-side, so it handles whole sites that a single web_access_fetch call cannot. **Best for:** discovering all pages/URLs of a site (site audits, building scraping worklists, coverage checks) before fetching individual pages with web_access_fetch. **Not for:** reading one page's content (use web_access_fetch) or open-ended web queries (use web_access_search). This single tool drives the whole job lifecycle through `action`: **1. `submit` — quote a crawl (nothing is crawled or billed yet).** Requires `url`. Optional: `maxPages` (1–10000, default 10), `maxDepth` (1–100, default 2), `pathPrefix` (only crawl URLs whose path starts with this, e.g. "/docs"), `budgetUsd` (spend ceiling; the crawl stops with status token_cap_exceeded if it would exceed it), `useSitemap` (also seed the site's root /sitemap.xml — one extra billed page, but finds pages links miss). Returns `jobId`, `estimatedPages`, and `estimatedCostUsd` with status `awaiting_approval`. ```json { "action": "submit", "url": "https://example.com", "maxPages": 200, "maxDepth": 3 } ``` **2. `approve` — start the quoted crawl (requires `jobId`).** This is the billing-consent step: pages are billed as they are fetched, capped by the quote/budget. Before approving a non-trivial `estimatedCostUsd`, confirm the spend with your user. Fails with status 402 if the account balance cannot cover the quote; a 409 partial_state error means an earlier approve was interrupted — just call approve again. **3. `status` — poll progress (requires `jobId`).** Statuses: `awaiting_approval` → `running` → terminal `completed` | `failed` | `canceled` | `token_cap_exceeded` (budget hit before maxPages; collected results are still readable). While running it returns `pending` and `processed` counts; a `partial_state` status means an interrupted approve — call approve again to repair it. Status never includes the URL list — page that with `results`. Poll every few seconds for small crawls; give hundreds-of-pages crawls tens of seconds between polls. **4. `results` — page through discovered URLs (requires `jobId`).** Optional `limit` (default 1000, max 5000) and `offset`; `total` tells you when to stop paging. Each entry has `url`, `statusCode` (0 = discovered but not fetched), `depth`, `parentUrl`, `isSitemap`, `sourceType`, and an `error` when that page failed. `discoveredUrls` (links found on the page) is only present for ~1h after completion; afterwards results come from durable storage which omits it — everything else stays available. **5. `cancel` — stop a running or pending job (requires `jobId`).** Already-terminal jobs return a 409 error. Pages already fetched stay billed and readable via `results`. **6. `list` — recent crawl jobs for the account.** Optional `limit` (default 20, max 100) and `offset`. Use it to find a jobId you lost or check for an equivalent recent crawl before paying for a new one. **Typical workflow:** submit → check estimatedCostUsd → approve → poll status until terminal → results (paged). A 404 on any jobId action means the job doesn't exist or belongs to another account; a 403 on submit means the target domain is blocked for this account (contact support@usestring.ai). **Returns:** the JSON envelope for the chosen action (quote, status, URL page, job list) alongside a one-line summary.
    Connector
  • Retrieve the 5-hour Z.ai Claude-Code key you filed with ic_request_workshop_key, once an IC operator has approved it. Poll with the request_id that ic_request_workshop_key returned. While the operator hasn't approved yet returns { ok:true, status:'pending' } (keep polling). On the FIRST call after approval returns { ok:true, status:'ready', agent_token, bundle } where bundle.copy_paste is the paste-and-go Claude Code setup block. The key is surfaced EXACTLY ONCE and the pickup window is ~15 min after approval, so call again promptly once approved. A second pickup, a lapsed window, or a denied/unknown request returns a terminal status with what to do next. You can only retrieve your OWN request. Args: { request_id }. Required scope: keys:request.
    Connector
  • Retrieve the weekly-token Z.ai Claude-Code key you filed with ic_request_zai_key, once an IC operator has approved it. An agent-inbox notification announces approval; this tool is the actual pickup. Poll with the request_id that ic_request_zai_key returned. While unapproved returns { ok:true, status:'pending' } (keep polling). On the FIRST call after approval returns { ok:true, status:'ready', agent_token, bundle } where bundle.copy_paste is the paste-and-go Claude Code setup block. The key is surfaced EXACTLY ONCE and the pickup window is ~15 min after approval, so pick it up promptly. The key itself does not expire (weekly token budget, resets Monday). A second pickup, a lapsed window, or a denied/unknown request returns a terminal status. You can only retrieve your OWN request. Args: { request_id }. Required scope: keys:request.
    Connector
  • Dispatch a single atomic image generation. Sibling of `lamina_create` (the agentic router) — use this when you already know which model fits, or when no app fits the brief. WORKFLOW: (1) `lamina_models_list({ modality: "image" })` → pick a model. (2) `lamina_models_describe({ modelId })` → read its flat `paramSchema`. (3) `lamina_generate_image({ model, prompt, params })` → dispatch, get runId. (4) `lamina_status({ runId, wait: true })` → poll until completed; the response has `output.url`. ONE TOOL, BOTH OPERATIONS: • Text-to-image — call with just `prompt` (and any text-mode params). The model id you picked is the only thing that selects the operation. • Image-to-image (edit / remix / background-swap / etc.) — call the same tool, but include a source image in `params`. Hybrid models (nano-banana-pro, gpt-image-2, gemini-2.5-flash-image, seedream-4.5, flux-2-flex, nano-banana-2, gpt-image-1, gpt-image-1.5) flip to image-to-image automatically when `params.imageUrls` is a non-empty array (or `params.imageUrl` is set for single-source models like flux-pro-kontext). Edit-only models (bria-bg-remove, ideogram-character, ideogram-v3-remix/reframe/replace-background, flux-pro-kontext, ideogram-character-remix) only have image-to-image — `params.imageUrls`/`imageUrl` is required. INPUTS: • `model` (required): a model id from `lamina_models_list`. Don't invent it. • `prompt` (required for most models; check `paramSchema.prompt.required` from `lamina_models_describe`; absent from `paramSchema` for prompt-less models like `bria-bg-remove` and `ideogram-v3-reframe`): natural-language brief; ≤2000 chars. • `params` (model-specific): every key MUST be declared in the chosen model's `paramSchema` (call `lamina_models_describe` first). Unknown keys are rejected with a structured `invalid_params` error; each error has `field` + `allowed`/`range`/`got` so you can correct on retry. Omitted optional keys fall back to schema defaults. • `webhookUrl` (optional): HTTPS URL. On terminal status Lamina POSTs `{runId, status, model, prompt, resolvedParams, output, errorMessage, completedAt}` HMAC-signed. RESPONSE: `{runId, status: "queued"|"completed", model, mode, prompt, resolvedParams}`. `mode` is the resolved value ("text-to-image" | "image-to-image"). The `runId` is the fal_request_id — pass it to `lamina_status`. SYNC vs ASYNC: identical contract. Vertex-backed models (`imagen-4.0-*`, `gemini-2.5-flash-image`) complete in seconds and return `status: "completed"` on the first poll. fal-backed models queue and take 5–60s. `lamina_status({ wait: true })` handles both transparently. ERROR HANDLING: validation failures return `code` + `details.errors[]` with `field` + `error` + `allowed`/`range`/`got`. Common codes: `model_not_supported`, `mode_not_supported`, `invalid_params`, `dispatch_failed`.
    Connector

Matching MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables management of visible, interactive terminal sessions across platforms (macOS, Windows, Linux, WSL). Supports creating, executing commands, capturing output, and managing multiple terminal windows simultaneously.
    Last updated
    5
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to interact with terminal-based TUI applications by capturing visual terminal output as PNG screenshots and simulating keyboard input through a virtual X11 display.
    Last updated
    4
    2
    Apache 2.0

Matching MCP Connectors

  • Live geopolitical and markets intelligence wire: 35k+ wire items, event threads, 55k+ articles.

  • BTC Decision Terminal for AI Agents — live vault-backed signals, on-chain proof, cross-chain swap. Verify in real time.

  • Link WhatsApp to Local MCP by showing a QR code right here in the chat — no Terminal needed. Call this, then on your phone open WhatsApp → Settings → Linked Devices → Link a Device, and scan the QR shown. After you scan, WhatsApp tools (whatsapp_list_chats, whatsapp_read_messages, …) start working. If WhatsApp is already linked, it just reports that.
    Connector
  • Get the current user's CoreClaw account balance and traffic quota. WHEN TO USE: Use when the user asks for balance, remaining traffic, quota, billing state, or whether they can run jobs. 中文触发: 当用户要在 CoreClaw 中查询、运行、重跑、停止、导出或查看对应 worker/run/task 数据时使用。 WHEN NOT TO USE: Do not use public web search or code search for private CoreClaw platform data. Do not call excluded internal worker-version or internal-detail APIs. RETURNS: JSON with balance and balance_expiration_at. WORKFLOW: Terminal call or preflight before run_worker.
    Connector
  • Update a key result for the company operator and any agent owning KR progress (progress, assignment, due date, rename, measure binding). Use when work moves a Key Result and you need to log current value, reassign, rename, or bind a measure source. Prefer key_result_id — the parent objective is resolved from the KR row (no fuzzy title search). Title match is a fallback; resolution uses the EXISTING title even when renaming in the same call. A missing/archived KR returns one terminal recovery with live alternatives — do not retry the same args. [write-tier — first use may require a manager's approval; a from-now-on approval makes future calls seamless, a just-once approval re-asks next time.]
    Connector
  • Permanently delete this account. TERMINAL, not reversible. Admin scope (WP-LIFE). Pass confirm="delete" (guards an accidental call). Revokes ALL your keys (every key 401s), deletes your hooks, webhook, deliveries, jobs, and idempotency rows, KEEPS the immutable financial ledger, and ANONYMIZES your outcomes into the shared corpus. A second call 401s naturally. Export first: GET /v1/usage/export?format=json. Returns {deleted, retained:{financial_events, anonymized_outcomes}, note}. Errors: unauthorized, forbidden, invalid_request, rate_limited.
    Connector
  • Generate a short (~4s) HOOK opener clip that plays BEFORE the product appears in a Meta ad. WHAT IT DOES: product category (+ optional vertical/theme) → LLM hook brief → text-to-video dispatch of a category-relevant human action (person knocking, kicking a football, applying makeup). The clip deliberately shows NO product, logo, price or text — it exists to stop the scroll; the product reveal comes after. WORKFLOW: (1) `lamina_generate_hook({ product, aspectRatio })` → dispatch, get runId. (2) `lamina_status({ runId, wait: true })` → poll; `output.url` is the clip. INPUTS: • `product` (required): `{ category (required), vertical? }`. `category` drives the action; `vertical` (e.g. "Forward", "Lux", "M Now") tunes the subject + tone. • `theme` (optional): `{ label?, cue? }` — thematic event to reflect. • `aspectRatio` (optional, default `9:16`). • `durationSeconds` (optional, default `4`; clamped to 4–12, the model floor/ceiling). • `model` (optional): video model id override. • `webhookUrl` (optional): HTTPS URL POSTed on terminal status. RESPONSE: `{ runId, status, model, aspectRatio, durationSeconds, brief, prompt, negativePrompt }`.
    Connector
  • Compose a NARRATED, MULTI-SHOT video from a script — NOT a single ~5s clip. Use this when you need a coherent minute-ish demo / explainer with voiceover: it synthesizes the narration, storyboards it into beats, generates a continuity-chained shot per beat, and renders with transitions + Ken-Burns + captions via Remotion. (For a single short clip, use `lamina_generate_video`.) WORKFLOW: (1) `lamina_compose_video({ script })` → dispatch, get `runId`. (2) `lamina_compose_video({ runId, wait: true })` → block until done; or poll `{ runId }`. Composition takes minutes. INPUTS: • `script` (required to start): the narration to speak (a hook + one insight + a CTA; ≤~90s). The transcript/chapters derive from this, so the video stays coherent with its text. • `title` / `generationBrief` (optional): title + a one-paragraph visual brief for the shots. • `direction` (optional): free-text creative direction ("open on the product, fast cuts, end on the logo") — steer the render WITHOUT naming models. • `sections` (optional): structured per-span hints `[{ text?, hint, mustShow? }]` for a prescriptive storyboard. • `format` / `inputs` (optional): pick a format (else auto-routed); `inputs` supplies a format's required assets (e.g. `{ presenterImage }`). • `aspectRatio` (optional): `16:9` | `9:16` | `1:1` | `4:5` | `4:3` (default 16:9). • `voiceId` (optional): ElevenLabs voice id. Omit and the narration director picks a voice whose tone fits the script. • `expressive` (optional): true → adds v3 audio tags for stronger, more human inflection. (Prosody/pacing is always applied.) • `brandProfileId` (optional): steer the render on-brand — the brand DNA conditions the style bible, the narration voice (Brand Kit), and the caption color/font. Omit for a generic look. Fail-soft: a brand miss never blocks the render. • `idempotencyKey` (optional): dedupe retries — the same key returns the same run (no double charge). • `runId` (+ optional `wait`): pass a prior runId to poll instead of starting a new run. TIP: call `lamina_compose_plan({ script })` first to preview the format + cost + storyboard for free before committing. RESPONSE: dispatch → `{ runId, status: "running" }`. Poll → `{ status, progress: { stage, current?, total? } }`. Terminal → `{ status: "completed", result: { videoUrl, durationSeconds, shotCount } }` or `{ status: "failed", error }`. Invalid input → an error with a machine-readable `reason` (e.g. `MISSING_REQUIRED_INPUT`, `SCRIPT_TOO_LONG`).
    Connector
  • Returns live cross-asset context in one call: DXY (broad USD), VIX (equity-vol risk regime), and the US 10Y yield — each with level, short-horizon (5-day) change, asof, and source — plus a transparent risk_tone (risk_on / neutral / risk_off) derived from a documented VIX+DXY heuristic. Reads the server-side market-snapshot foundation; works with no terminal connected (incl. MT4). Degrades transparently: unavailable inputs are listed in missing_inputs, never zeroed; risk_tone is 'unknown' unless both VIX and DXY are present. Returns MARKET_CONTEXT_UNAVAILABLE only when no input can be sourced. This is the raw-feed reader that get_risk_regime (a composite score) is not. Requires the `analytics` capability (Team+ tier).
    Connector
  • Wait for a video to reach a terminal state (completed / failed / preview), then return it. Polls safely at the API-suggested interval for up to ~20 seconds per call (HTTP requests are time-capped). If it does not finish in time it returns { timed_out: true } with the latest status — simply call it again with the same id to keep waiting. It never blocks indefinitely or over-polls.
    Connector
  • Poll for the user's answer to a previously created question. Use it in three cases: after ask_user with wait set to false, after an ask_user call that returned timedOut, or with the linkedCorrelationId from a send_notification that embedded an askQuestion. Each call blocks until the answer arrives or timeoutMs expires (default 30 seconds, max 55). Questions live for 10 minutes in Redis, so when a call comes back { answered: false }, retry with the same correlationId up to 3 times with timeoutMs 55000 to give the user time to reach their phone; only then treat the question as unanswered and fall back to asking in the terminal. Returns { answered: true, value } once the user responds, where value is "yes"/"no" for confirm, the chosen option for select, or the typed text for input.
    Connector
  • Revoke a fullmakt — withdraw an agent's delegated authority for a Norwegian company and retire the agent principal. Part of AGT-02 Fullmakt Rails (the revocation leg; broker with request_fullmakt, inspect with check_fullmakt). A fullmakt is a legally-grounded, scoped, revocable company→agent authority delegated through an Altinn systembruker, and this is how you take it back. Given ONLY the agent_principal_id (the system_user_id and org_number are read server-side from the principal's write-once binding and the delegation row — a client cannot redirect the revoke at someone else's delegation), Apier revokes the delegation bound to that systembruker and flips the principal to terminal `revoked` (a revoked principal is never resurrected — create a new one to act again). Because the `delegations` table is append-only, revocation is revoke-by-insert: a `status='revoked'` marker row supersedes the original, and every Apier read + enforcement surface (permission state, fullmakt state, actions/execute) honours the marker immediately — LOCAL revocation is authoritative for Apier's own gating. Idempotent: revoking an already-revoked principal/delegation is a 200 no-op. `data.warnings` carries NAMED outcome tokens, each with its own meaning — `principal_revoke_failed` (the delegation IS revoked but the principal flip failed; re-inspect and retry), `delegation_not_found` (no live delegation existed behind the principal; the principal revocation still proceeded), `upstream_revoke_unconfirmed` (best-effort Altinn-side propagation returned no ack — expected while the upstream flow is pending live partner validation) — read the specific token rather than treating any non-empty array as a local failure. Input: { agent_principal_id (uuid), reason? (1–500 chars, audit-only) }. Failure modes: FULLMAKT_PRINCIPAL_NOT_FOUND (404); SCOPE_INSUFFICIENT if the key is not scoped read:altinn; VALIDATION_FAILED on a malformed input. Required scope: `read:altinn`. Supports Idempotency-Key on the underlying route.
    Connector
  • Return terminal xDaLa session start result, lean result summary, and audit events. Read-only preparation/result lookup only; the MCP does not sign, submit, or execute, and users sign locally in Workbench/wallet/local signer. For completed handoffs, prefer result.results[].owner/sessionId/pid over XRC-729 contract owner facts when identifying the actual session owner/starter.
    Connector
  • Sign a release OR refund authorization for an open escrow once the outcome is reported/verified. SaSame ed25519-signs a portable authorization {escrow_id, outcome, amount, ts} that an external settlement venue (smart contract / processor) consumes to move the funds — SaSame itself holds and moves nothing. Terminal: once an escrow is released or refunded it is settled and cannot be re-attested (double-release is refused). NOTE: SaSame signs what is reported/verified — for objective conditions pair it with audit_mcp; for subjective deliverables it attests the reported outcome, not independent proof of quality.
    Connector
  • Poll the progress of a Concept Diagnostic intake started with start_free_diagnostic. Pass the intake_id and token that call returned. Statuses: pending_confirmation (founder hasn't clicked the emailed link yet — nothing is generated), generating (founder confirmed; the study is being researched and written), ready (done — includes a tokenized report link to share ONLY with the founder), on_file (the founder already had a diagnostic on file — nothing new was generated and no link is shared here; terminal, stop polling), expired (the intake lapsed; start a fresh one). Poll every 30-60 seconds at most.
    Connector
  • Next SEPTA Regional Rail trains from an origin station to a destination station in Philly — direct trains and connecting itineraries (with transfer station), departure/arrival times, and live delay status. Answers "when is the next train from X to Y" in Philadelphia. Example: septa_next_to_arrive({ orig: "Suburban Station", dest: "Airport Terminal B", n: 3 })
    Connector