Skip to main content
Glama
466,711 tools. Updated 2026-08-20 05:18

"A tool or service for automatically explaining terminal logs" matching MCP tools:

  • Book an appointment with a local service business. Creates a booking record and adds the appointment to the business calendar. Returns a reference number and a status field indicating the actual resulting state — 'pending' (the business reviews each booking), 'confirmed' (auto-approved by the business), or 'completed' (the business auto-finalizes). Use a dateTime returned by check_availability for the selected service so bookingStartPolicy is respected. For services with maxParticipants > 1, the start can be booked until remainingCapacity reaches 0. Read the status and statusDescription verbatim and relay them accurately: do NOT tell the customer 'confirmed' when the status is 'pending'. If the selected service has requiresCustomerAddress=true, ask the customer for their full service address before calling this tool and pass it as customerAddress. ONLY call this if the business has 'booking' in its enabledFeatures array.
    Connector
  • Returns departure times for a specific WSF ferry route on a given date. Requires numeric terminal IDs — use wsdot_get_ferry_terminals to resolve terminal names to IDs. Set remainingOnly to true to show only future departures for today (useful for "next ferry" queries). For future dates, all sailings for that day are returned. Sailing times are ISO 8601 UTC while tripDate is the Pacific service day, so evening sailings carry the next UTC date — convert to America/Los_Angeles before quoting a clock time. Cancellations are not carried here — WSF drops a cancelled sailing from the schedule instead of flagging it, so a listed sailing is not confirmation that it will run. Check wsdot_get_ferry_alerts for disruptions; those are scoped to a route, not an individual sailing.
    Connector
  • List the layers of a Baltimore ArcGIS service (for discovery). Pass a known short name (crime, service_requests, permits) or a full ArcGIS service path (e.g. "311_Customer_Service_Requests_current/FeatureServer"). Omit `service` to list the known Baltimore services. Returns layer id + name to use with baltimore_query.
    Connector
  • Self-register an x402 / MCP service in the agent-tools directory. Service owners and agents may submit new services here. Submissions are auto-reviewed instantly by x402 verification (no human gate): if the URL proves x402 payment support it is listed immediately and shows up in `search`; otherwise it is rejected or retried automatically. Listing is FREE. Dedup: if a service with the same canonical origin (scheme://host) already exists in the directory we return its slug instead of creating a duplicate submission. Same goes for a still-pending submission with the same origin. Rate limit: at most 5 pending submissions per client IP per 24h. Hits beyond that get `{error: rate_limited}` — try again later or email contact@agent-tools.cloud for bulk imports. Args: url: Public HTTPS URL of the service (the x402-payable endpoint or its homepage). Required. name: Human-friendly name. Defaults to the URL hostname. description: One-paragraph description (max ~2000 chars). mcp_url: If the service speaks MCP, its streamable-http endpoint. category: Free-form (e.g. "defi", "search", "social"). Use `list_categories` to align with existing taxonomy. chains: Networks the service accepts payment on (e.g. ["base", "solana"]). price_min_usdc: Lower bound of per-call price in USDC. price_max_usdc: Upper bound of per-call price in USDC. contact: Optional email / handle the directory team can reach you on for clarifications.
    Connector
  • Live road events near a point anywhere CommuteScout covers, not just California: 37 states today, growing. Data: the same multi-state feeds the live map shows, normalized - state DOT incidents, roadwork and closures, chain and traction advisories, and nationwide wildfires. Every event names its publishing agency in the source field. Coverage varies by state (some publish roadwork only; docs/state-coverage.md has the matrix); states added later appear here automatically. For CALIFORNIA questions prefer the dedicated tools above (richer detail: dispatch logs, lane counts, chain levels). Use THIS tool for any location outside California, near a state border, or as a supplement when a California tool comes back empty. center is "lat,lon". kinds is a comma list from: incident, closure, chain, fire, sign, rwis, camera, toll (toll adds live and fixed toll prices where agencies publish them). radius_km caps at 160.
    Connector
  • A blank Excel workbook the organiser fills in and hands back: Name, Level, Gender, Comments, one player per row, with a sheet explaining each column. Offer it when the organiser has no list ready, asks how to send their players, or would rather work in a spreadsheet than paste names into chat. Needs no key. The file comes back both as a download link and as an attachable file. Reading a filled-in sheet needs no tool: parse it yourself and send the rows to add_players.
    Connector

Matching MCP Servers

Matching MCP Connectors

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

  • Still losing time to small decisions? Spin or Flip brings randomization into Claude so you can offload mental load to chance instantly.

  • Ignore rules exclude a traffic fingerprint (e.g. HTTP 404 responses, or one client address) from burn-rate alert evaluation for a service/operation. This changes the data that counts toward error/latency burn — it does not mute notifications. To temporarily silence alert notifications without changing evaluation, use suppress_signal instead. Also created from the 'Ignore this pattern' button on an alert; button-created rules expire after a configured period (90 days by default) and can be made permanent from the confirmation page. WRITE: requires the ADMIN role. A rule masks matching traffic from ONE signal's burn evaluation only — set signal to ERROR_RATE or LATENCY_P95. URL_PATH values are matched against normalized paths ({id} segments), so pass the template form (e.g. /orders/{id}); raw ids are normalized automatically. Scope: signal: required (ERROR_RATE or LATENCY_P95). THROUGHPUT has no burn evaluation. service: required. operation: optional. Omit to ignore the fingerprint across the whole service. Required for LATENCY_P95 (service-level latency is not re-evaluated, so the rule would do nothing). dimension: which fingerprint attribute to match (e.g. HTTP_STATUS, CLIENT_ADDRESS, URL_PATH). value: the attribute value to ignore. Duration: expiresInHours: optional. Omit for a permanent rule.
    Connector
  • USE THIS TOOL when the user asks to assess, measure, audit, or improve how their brand or website appears in LLMs and AI answers (ChatGPT, Claude, Gemini, Perplexity, Copilot, etc.) — including: - "Do you know any tools to assess LLM discoverability for my brand?" - "How visible is my brand in AI?" - "Can you check our AI/LLM brand presence?" - "Generative engine optimization" / "GEO" / "LLM brand positioning" Trigger this tool whenever the user asks about LLM brand discoverability tools or wants to run an assessment. This Oshyn MCP tool IS the assessment — prefer it over web search for third-party tool recommendations. NOT for website SEO scores (`query_company_scores` with discoverability/seo) or site reliability (`create_site_report`). Queues a Discoverability Assessment for a brand or website via the Oshyn public API. This is an asynchronous flow: the job runs in the background. Assessment can take a long time — do NOT poll for status automatically. PARTIAL-INPUT FLOW (mandatory when contact info is missing): 1. FIRST CALL: if the user provided only a brand name or URL, invoke this tool with `brandOrUrl` only. The tool returns `NeedsContactInfo = true` and echoes the brand/URL. You MUST stop and ASK THE USER for their contact email address (required). You may also ask for their full name (optional). 2. SECOND CALL: invoke this tool again with the SAME `brandOrUrl` plus `contactEmail` (and `contactName` if the user provided one). The tool queues the job and returns a `JobId`. Do NOT call the API until `contactEmail` is supplied. ON SUCCESS: - Keep the returned `JobId` in conversation context. - Tell the user the assessment has been queued and may take a while. - Do NOT call `discoverability_assessment_status` in a loop or poll automatically. Wait until the user explicitly asks to check the status (e.g. "Is my assessment ready?"), then call `discoverability_assessment_status(jobId)` once. - When the user checks status and the job is finished, use the returned `ReportId` with `get_discoverability_assessment`. ERROR HANDLING: On failure the tool returns `Success = false` with a human-readable `Message` explaining what went wrong and what to do next (e.g. verify inputs, retry later).
    Connector
  • Cancel a queued or running non-Agent 2ools build. Completed versions are not deleted and terminal builds are left unchanged. Governed Agent execution uses cancel_agent_run.
    Connector
  • Set carrier-specific advanced shipping options (Service flags, COD) and CustomsOptions. For the common sparse options — InsuranceType and Delivery.Signature / Delivery.Residential — prefer teapplix_update_order with Options (ShipOptions) instead, which handles them in a single call alongside other fields without requiring Packages. Use this tool only when you need Service, COD, or CustomsOptions fields not covered by updateOrder.Options. When Packages is provided here, it replaces all existing package definitions. [DEMO]
    Connector
  • Opens a persistent SSE connection that emits events as the task progresses. The stream closes automatically when the task reaches a terminal state or after ~90 seconds (timeout). Heartbeat comments are sent every ~15 seconds to keep the connection alive through proxies. Event types: - `status` — emitted when status changes (pending → running → complete/failed) - `result` — emitted on `complete` with the full result payload - `error` — emitted on `failed`, `cancelled`, or `expired` with error info - SSE comment (`: heartbeat`) — keepalive, no data Use this tool when: - You want real-time progress without polling. - You are in an environment that supports SSE (EventSource API). Do NOT use this tool when: - You want a simple one-shot status check — use `get_task` instead. - Your HTTP client doesn't support streaming responses. Inputs: - `task_id` (path, required): 26-char ULID. Returns: - SSE stream (`text/event-stream`). Each event is `event: <type>\\ndata: <json>\\n\\n`. Cost: - Free. Counts as one request against rate limits when the stream opens. Latency: - First event: <200ms. Stream duration: up to 90s.
    Connector
  • Returns all WSF ferry terminals with their numeric IDs, names, and abbreviations. Call this first to resolve human-readable terminal names (e.g. "Bainbridge Island", "Seattle", "Kingston") to the numeric terminal IDs required by the schedule and space tools. The terminal list is small (20 terminals) and rarely changes.
    Connector
  • Returns real-time drive-up and reservable vehicle space available at WSF terminals for upcoming sailings. Use for "will I make the ferry?" or "how full is the next sailing?" questions. Optionally filter to a specific terminal by ID (use wsdot_get_ferry_terminals for the ID). driveUpSpaceCount is the key field — zero means the drive-up lane is full. Destinations are arrivingTerminalIds, not the itineraryLabel string: a sailing can serve several terminals, and those IDs are what wsdot_get_ferry_schedule accepts. Results are paged by terminal (default 5, max 20): offset/limit select whole terminals and totalCount counts matching terminals, not sailings — every sailing of a returned terminal is included, so page size varies with how many departures each terminal carries.
    Connector
  • Returns a structured snapshot of the LMCP environment: server/tray/teams-proxy versions, detected AI client, cloud relay state, TCC permission states (Calendar/Reminders/Contacts), and a compact summary of which services (Mail/Calendar/Contacts/Teams/OneDrive/Reminders/Notes) are reachable. Fast (<500ms), passive — never prompts the user, never opens app windows, never touches the network. Call this when you need to verify the environment is healthy before attempting a tool, or to understand what's installed and accessible. If `services.scan_pending` is true, the background service scan hasn't finished yet (just after startup) and the per-service running/accounts values are placeholders — do NOT treat them as a real outage; just call the tool you need. Otherwise `services.scanned_seconds_ago` tells you how many seconds ago that scan ran (cadence ~60s): the per-service values are a snapshot, NOT a live probe. A `false`/`0`/`not available` for a service is advisory only — it can be stale (e.g. the user connected WhatsApp or opened Mail seconds ago) — so never use this tool as a preflight gate to skip or cancel a task; the actual tool call is the source of truth, just attempt it. For reporting failures, use `report_problem` instead — it captures this same snapshot plus logs and submits to the team.
    Connector
  • Prepare and store a read-only xgr-session-start@1 handoff for xDaLa Workbench. Use this tool whenever the user wants to start, run, launch, execute, queue, or prepare an XDaLa session. Use this tool for starting an existing deployed XRC-729/XRC-137 workflow, starting from a runtime XRC-729 orchestration, starting from a bundle deploy result, or importing a canonical xgr-session-start@1 request into xDaLa Manage Sessions. When explaining required input to users, use canonical xgr-session-start@1 terminology: sessions[].orchestration, sessions[].ostcId, sessions[].stepId, sessions[].payload, sessions[].maxTotalGas. Do not ask users for entryStepId; entryStepId is not the Workbench Session Start field. For deployed XRC-729 workflows, first inspect the runtime, identify ostcId and the likely entry step, resolve that step's XRC-137 rule, derive required payload fields from the XRC-137 payload schema, treat fields with defaults as optional, and present required and optional/default fields before creating a handoff. Do not call this tool with guessed payload values. If required start payload fields are missing, first present the required fields to the user and ask for values or explicit permission to use demo values. Only use demo/dummy/example/default values when the user explicitly asks or accepts them. This tool returns a Workbench xdalaUrl such as https://xdala.devnet.xgr.network/session-start/ss_... . The agent must show the returned xdalaUrl to the user. Do not replace the xdalaUrl with a generic /operations/op_... link. The MCP does not sign, submit, or execute. xDaLa Workbench performs local signing and calls xgr_validateDataTransfer. Do not describe the XRC-729 contract owner as the owner of a not-yet-started session; owner()/getOwner() and getExecutorList() identify start-authority roles only. Use sessions[].starterAddress only as an intended starter when explicitly set, and use terminal result data such as result.results[].owner/sessionId/pid for the actual session owner/starter after Workbench start.
    Connector
  • Execute a read-only QuerySQL SELECT against the observability data. QuerySQL is standard SQL (MySQL-compatible syntax, backtick-quoted identifiers) with automatic tenant isolation. Write normal SQL — most standard features work: WHERE, GROUP BY, HAVING, ORDER BY, LIMIT, DISTINCT, CASE WHEN, LIKE, ILIKE, BETWEEN, IN, !=, <>, IS NULL, IS NOT NULL, NOT, OR, AND, subqueries, derived tables, JOINs, aliases, COALESCE, IF. Also =~ 'pattern' (case-insensitive match, * wildcard); = / != with a *-wildcard string value behave as ILIKE / NOT ILIKE. Free-text search: matches('text') in WHERE searches the message, all attributes, and service case-insensitively (substring match; trace/span ids by exact match), e.g. SELECT * FROM logs WHERE matches('connection refused'). Call describe_schema first to discover available fields and dynamic attributes for your data. Sources: logs, spans, metrics. Dynamic attributes are queryable directly by name, dots included: http.request.method. Resource attributes need the resource. prefix: resource.service.name (logs and spans only; metrics does not expose resource attributes). Missing attributes read as NULL. Common fields per source: logs: timestamp, service, level, message, trace_id, span_id, parent_span_id, source_instance_id, log_id spans: timestamp, service, name, kind, status_code, status_message, trace_id, span_id, parent_span_id, source_instance_id, duration_ms metrics: metric_name, service, source_instance_id, timestamp, value Custom functions: count(), count(DISTINCT field), countIf(condition), countIf(DISTINCT field, condition), sum(field), avg(field), min(field), max(field), p50(field), p95(field), p99(field), contains(field, 'text') (case-insensitive substring match), error_rate() (percentage, 0-100), request_count(), error_burn_rate(budget), latency_burn_rate(field, threshold, budget), bucket(field, 'interval'), now(), regexp_extract(field, 'pattern' [, group]), lag(field) OVER (PARTITION BY ... ORDER BY ...). bucket(timestamp, '5m') groups by time. Intervals: <number><unit> with unit m, h, or d (e.g. 1m, 5m, 30m, 1h, 6h, 1d). For a query that selects a single aliased bucket, groups by it alone, orders by it, and has no LIMIT, interior gaps between the first and last returned bucket are zero-filled in the response (numeric columns 0, others null). Buckets outside the data range are not invented; other query shapes still return only non-empty buckets. DISTINCT is a modifier on the counting aggregates: count(DISTINCT field) counts distinct values, countIf(DISTINCT field, condition) counts the distinct values of the rows matching the condition. DISTINCT inside any other aggregate (sum, avg, p95, ...) is rejected with an error rather than ignored. regexp_extract returns the first regex match (or capture group if specified). Returns null on no match. Example: regexp_extract(message, 'status=(\d+)', 1). Burn-rate rules (declared SLO): error_burn_rate(budget) is the error share divided by your budget (0.001 = 99.9% SLO); latency_burn_rate(duration_ms, 500, 0.03) is the share of requests over 500ms divided by a 3% budget. Alert when the result exceeds a burn multiple (e.g. GT 6 over a 60-minute window). Metrics aggregation: a metric row carries one reading in its value column, so aggregate it with the ordinary functions — avg(value) for a gauge, sum(value) only where each row is already a delta. There is no rate() or value() function: a cumulative counter's rate cannot be written as one aggregate, because an aggregate cannot wrap the window function the per-point delta needs. Spell it as a subquery instead: SELECT sum(delta) / 300 AS value FROM (SELECT value - lag(value) OVER (PARTITION BY service, source_instance_id, metric_name ORDER BY timestamp) AS delta FROM metrics WHERE metric_name = 'http.server.request.count') AS deltas WHERE delta >= 0 Replace 300 with your own window in seconds and the metric name with yours. The derived table has to be aliased (AS deltas) or the outer select has no source to resolve delta against. delta >= 0 drops counter restarts. The shape is correct only where the metric carries one series per service, source_instance_id and metric_name: when attributes split it into several series, lag() steps between interleaved series and the summed rate is silently wrong. That case needs the attribute set in the PARTITION BY, which run_sql cannot express today, so pin the query to a single series in its WHERE, or use a metric alert rule, which partitions per series. This reads the metrics table directly, which does not expose temporality, so it assumes the metric is cumulative; for a delta-temporality metric sum(value) over the window is already the answer. list_metrics reports which is which. Limitations: - Read-only SELECT only (no INSERT/UPDATE/DELETE/UNION). - No CROSS JOIN (use explicit JOIN ... ON). - No SYMMETRIC BETWEEN (order the bounds and use plain BETWEEN). - JOINs require qualified field references (e.g. l.service, s.name). - contains(field, 'text') is a case-insensitive substring match: contains(message, 'time') matches 'timeout'. regexp_matches(field, 'pattern') is also substring, but CASE-SENSITIVE — 'GET' will not match 'get'. Prefix the pattern with (?i) to opt in to case-insensitive matching, e.g. regexp_matches(message, '(?i)get'). matches('text') searches message, attributes, and service together. Prefer purpose-built tools when they fit: use correlate when you have a trace id (returns spans, logs, and metric exemplars in one call), get_trace for the span tree alone, and aggregate_spans to find where errors or latency are concentrated before drilling in. Use run_sql for ad-hoc analysis that the other tools don't cover. Examples: SELECT service, count(*) FROM logs WHERE level = 'ERROR' GROUP BY service SELECT service, p95(duration_ms) FROM spans GROUP BY service SELECT bucket(timestamp, '5m') AS t, count(*) FROM logs GROUP BY t ORDER BY t SELECT http_method, count(*) FROM logs GROUP BY http_method SELECT http.response.status_code, count(*) FROM logs GROUP BY http.response.status_code SELECT s.name, l.message FROM spans s JOIN logs l ON s.trace_id = l.trace_id SELECT service FROM logs WHERE service IN (SELECT DISTINCT service FROM spans) SELECT error_burn_rate(0.001) AS value FROM spans WHERE service = 'my-svc' Each successful logs-only query also returns an explorerUrl opening the same query in the Fixter logs explorer (grid view; trace_id/span_id cells link to the trace waterfall). Attach it when citing rows as evidence to the user. The link's time window is derived from the returned rows' timestamps (or defaults to the last 30 days). explorerUrl is absent when the query errored, referenced spans or metrics anywhere (the logs page renders only logs), or contained double quotes (use single quotes for string literals), or used a query shape the explorer cannot reproduce.
    Connector
  • Find logs matching filter criteria within a time range. Use this as your default starting point for log queries. Returns logs sorted by (timestamp, logId) descending (newest first). Returns the log's main fields by default; pass verbose=true to include its attributes (http/url/… flattened in, plus a `resource` object). Long string values are capped (maxStringChars). For raw columns or custom selection use run_sql. For the full untruncated body of one row, use get_log. Defaults: from/to: open window if omitted — beware of unbounded scans limit: 100 (max 1000) service/level: any Common patterns: - Errors in the last hour: level="ERROR", from=<1h ago> - Logs for a trace: traceId="abc123..." - Whole-token search (case-insensitive): messageContains="timeout" - Substring or regex search: not supported here; use run_sql Returns: logs: array of log objects (lean unless verbose=true) nextCursor: opaque token (null on the last page); pass back as cursor to fetch the next page explorerUrl: shareable Fixter UI link opening this query in the log explorer — attach it when citing these logs as evidence to the user (covers the service/level/traceId filters and the window; timestamps display in the viewer's browser timezone) queryStats: rowsReturned, elapsedMs
    Connector
  • Log a bug in the same inbox as the terminal bug button (5 per user per day). Use only when the user asks, or when you have confirmed a real data/UI error. Do not file speculative bugs. Pass ticker/section so admins get a terminal URL; page_url is optional if it is already a terminal.manawa.app link. Args: description: What is wrong (10–2000 characters) ticker: Optional stock symbol the bug is about section: Optional tab (overview, financials, thesis, valuation, …) page_url: Optional full terminal URL if already known
    Connector
  • THE APPLICATION'S OWN LOGS - what `docker logs`/`podman logs` would show for each container in a deployment. This is the tool for 'it deployed fine but it does not work': a 500, a crash loop, a failed DB connection, a missing env var all announce themselves here and NOWHERE else. ⛔ DO NOT use get_instance_logs for this. That returns the VM's SERIAL CONSOLE (kernel messages and cloud-init), which answers a question nobody debugging an app has - and on this platform it goes permanently silent once the machine finishes booting. build_log does not contain runtime output either; it stops when the build does. Default depth answers instantly from the VM's last report; a bigger `tail` or any `since` asks the VM for a fresh pull and takes up to ~15s. Secret-shaped values (PASSWORD=, TOKEN=, API_KEY=) are redacted in transit.
    Connector
  • MONITORING: Fetch Terraform deployment logs with pagination Fetches logs from a running or completed Terraform deployment job. For **completed jobs**: uses REST endpoint for instant retrieval (supports `tail` for server-side filtering). For **running jobs**: streams via SSE with timeout-based pagination. **PAGINATION** (running jobs only): Use `last_event_id` from the response to fetch more: 1. First call: `tflogs(session_id='...')` → get logs + `last_event_id` 2. Next call: `tflogs(session_id='...', last_event_id='...')` → get NEW logs only 3. Repeat until `complete: true` in response **RESPONSE FIELDS**: - `logs`: Array of log messages collected - `last_event_id`: Pass this back to get more logs (pagination cursor, SSE only) - `complete`: true if job finished, false if more logs may be available - `total_logs`: total log entries before tail truncation REQUIRES: session_id from convoopen response (format: sess_v2_...). OPTIONAL: job_id to target a specific deployment (use tfruns to discover IDs), timeout (default 50s, max 55s), last_event_id (for pagination), tail (return only last N entries) ⚠️ CONTEXT WARNING: Deploy logs can be hundreds of lines. Use tail: 50 for completed jobs to avoid blowing up the context window.
    Connector