Skip to main content
Glama
602,784 tools. Updated 2026-09-23 14:19

"Laravel Nova" matching MCP tools:

  • Authoritative 'what fired and when' stream — wraps the `alert_history` table (one row per incident, both legacy and modern) and `alert_outlet_log` (per-dispatch ledger keyed by history_id). Default mode: lists incidents newest-first. Each row is one incident with opened_at / last_event_at / resolved_at framing the lifecycle, plus aggregated outlet_types[], dispatch_count, and failed_count. `status` is computed from resolved_at: 'open' if null, 'resolved' otherwise. Drill-down mode: pass `incident_id` (the `alert_history.id`, NOT `alert_id`) to switch the call to /api/alert-history/{id}/log and return the per-outlet dispatch ledger for that one incident. Use this for 'did the email actually go' / 'what did the webhook payload look like' / 'which outlets failed' follow-ups. Filters (default mode, all client-side, AND-combined): status (open|resolved|all, default all), severity (int or array — scheme is 1-5, lower=worse), device_id, source (legacy|modern|all), hours (1-168, default 24, applied against last_event_at), search (substring on alert_label/subject). Important caps: the upstream endpoint returns at most 500 rows ordered by last_event_at DESC. We can't reach older rows than that. `meta.upstream_cap` reports this so the LLM can warn the user when results may be truncated. `severity_label` is added server-side so the LLM doesn't memorize the scale. Pagination is over the post-filter result. Tag-scope is enforced by Laravel — tag-restricted users see only incidents for devices in their slug set. Permission: alerts. Examples: alerts_history({status: 'open', severity: [1,2], hours: 1}) alerts_history({device_id: 42, hours: 24}) alerts_history({incident_id: 9182}) // dispatch ledger
    ConnectorNo auth
  • Search Open Food Facts by full-text query, structured tag filters, or both at once. Returns a summary list with barcodes, product names, brands, Nutri-Score, NOVA group, and categories — enough for triage and selection, not full label data. Use off_get_product on the returned barcodes for complete details. A text query and tag filters combine: every word of the query must match the product name, generic name, categories, labels, or brand, and every filter provided must hold (e.g. query "dark chocolate" with labels_tag "en:organic" and countries_tag "en:france" returns organic chocolate sold in France); numeric nutrient_filters express per-100 g thresholds such as sugars below 8 g and combine the same way; additives_tag is the one exception, filtering only on searches carrying neither query nor nutrient_filters. Tag filter values are canonical tag IDs (e.g. "en:organic", "en:no-gluten") — use off_browse_taxonomy to resolve human terms to tag IDs. A case variant, synonym, or singular of a tag is resolved to its canonical ID where Open Food Facts recognizes it; anything else is matched exactly. exclude_allergens and exclude_traces drop products that declare an allergen or a "may contain" trace, but a product with no allergen or trace data entered passes them, so confirm a candidate with off_get_product before relying on it. At least one search parameter is required. The two paths read different indexes: a search carrying query is answered by the text index, a snapshot that lags the live database, while a tag-only search reads the live database and is current — so a recently contributed product can be missing from a text search and present in the same search without query. Data is crowd-sourced; result count reflects contributed products, not all products in the market. Data under ODbL 1.0 — cite Open Food Facts in downstream use.
    ConnectorNo auth
  • Atualiza uma transação existente (parcial — campo omitido/vazio mantém o valor atual). Se amount, type ou accountId mudarem, reverte o efeito de saldo da versão antiga e reaplica com os novos valores (retorna 400 se a nova conta não tiver saldo suficiente para EXPENSE/TRANSFER). Não reajusta parcelas irmãs (currentInstallment/totalInstallments) nem faturas de cartão — para mudanças que afetam cartão, prefira excluir e recriar. Dispara recálculo de projeções e insights (best-effort).
    ConnectorOAuth
  • Recent WAN speedtest results — answers 'is the internet healthy?'. Wraps GET /api/getSpeedTestHistory. Returns rows ordered by timestamp desc. Each row carries the upstream's SpeedtestLog shape — typically {id, timestamp, download_mbps, upload_mbps, latency_ms, jitter_ms, server, ...}, but any new columns added on the Laravel side flow through automatically. The tool doesn't reshape the row contents — just filters by time window and limits the return. Lower priority than ping/traceroute/netflow for general 'internet slow' investigations, but the right tool when the user specifically asks about WAN throughput trends or recent speedtest runs. Filters (client-side): hours (1-720, default 168 = 7d), limit (1-100, default 25). The upstream endpoint returns the full history with no server-side cap — narrow with hours rather than fetching unbounded. Permission: tools. Example: speedtest_history({hours: 24})
    ConnectorNo auth
  • Entry-point tool. Lists every tracking container the user can access across all connected servers. Each container is one tracked website or app. USE WHEN: - Starting any session — you need a container_id before calling get_report, get_summary, list_events, or list_sessions. - The user asks "which sites / accounts can I see?" or names a brand without giving a trc_ ID. - You need the server_name for multi-server setups. - **OAuth fallback path of the agent install contract** (https://www.tracklution.com/agent-install.md, Turn 4 Step 2) — after the user completes browser-OAuth, call this tool to enumerate the user's containers and resolve the (container_id, container_hash) pair you need for onboarding tools (get_installation_scripts, verify_and_score, create_login_link, ...). Match against the user's website URL via the `domain` field (compare by host name — `domain` may be `null` on freshly-created containers, skip those). Returns container IDs (trc_...), container hash (dashboard-URL identifier AND secret half of the dual-key auth-token cache lookup; pass as `container_hash` on every onboarding-tool call — may be `null` on legacy Laravel deploys that pre-date the field, in which case fall back to register_and_provision with auth_token + website_url), titles, domains, currency, timezone, and active status.
    ConnectorOAuth
  • Side-by-side nutrition and scoring comparison for 2–10 products by barcode. Returns a normalized table of energy (kcal/100g), fat, saturated fat, sugars, salt, protein, fiber, Nutri-Score, NOVA group, and Green-Score. Designed for "which of these cereals is healthiest?" or "compare these pasta brands" workflows. Missing nutrition data for any product is preserved as absent — comparisons are not imputed. A batch is not all-or-nothing: barcodes that resolve are returned even when others fail, with confirmed-missing barcodes listed in not_found and failed fetches listed separately in failed. Scores carry regional formula caveats. Data under ODbL 1.0 — cite Open Food Facts in downstream use.
    ConnectorNo auth

Matching MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Connects AI assistants to Laravel Nova resources, allowing them to discover resources, read records, and perform authorized operations while enforcing existing Nova permissions and per-token restrictions.
    MIT

Matching MCP Connectors

  • Resolve a human term to the canonical Open Food Facts tag ID that off_search_products filters on. Covers categories, labels/certifications, allergens, additives, countries, NOVA groups, and Nutri-Score grades. Pass a search term to resolve against the Open Food Facts vocabulary, which holds tens of thousands of tags; omitting it returns only a small reference list for each facet except NOVA groups and Nutri-Score grades, which are complete. Most tag IDs use the "en:" prefix (e.g. "en:organic", "en:no-gluten", "en:crustaceans"); NOVA groups return bare digits "1"-"4" and Nutri-Score grades bare letters "a"-"e". Pass the id through to off_search_products exactly as returned. Category tags are frequently plural ("kombucha" resolves to "en:kombuchas"), so use the returned id rather than constructing one.
    ConnectorNo auth
  • Return an enemy faction to neutral standing (Requires `manage_diplomacy` permission. Idempotent: succeeds even if the target was not an enemy. Does not end active wars — use faction_propose_peace for that. Accepts faction ID or 4-character faction tag (e.g. NOVA).)
    ConnectorNo auth
  • Adiciona um ponto no histórico de valor de um investimento (`id` = id do investimento/equity, não da avaliação). Sempre insere uma nova linha, mesmo se já houver avaliação na mesma data — não sobrescreve nem deduplica. `date` é opcional (default agora); use pra registrar uma avaliação retroativa. Efeito colateral: o `value`/`cost` do investimento em si também é atualizado para os valores desta avaliação, então ela passa a ser o valor 'atual' retornado por list_equities. Diferença de update_equity: use esta ferramenta pra registrar histórico com data específica sem tocar em outros campos do investimento (nome, ticker etc.); use update_equity quando quiser editar o investimento e deixar o valor atualizado datado de hoje.
    ConnectorOAuth
  • Contas recorrentes de despesa ativas (aluguel, luz, etc.) cuja última ocorrência lançada neste mês veio bem acima (>20%) da média das ocorrências dos últimos 6 meses. Exige pelo menos 2 ocorrências históricas para comparar — recorrente nova ou sem histórico suficiente não entra. Lista vazia se nada passar do limiar; ordenado do maior desvio % para o menor.
    ConnectorOAuth
  • Lista contratações da Lei 14.133 publicadas no PNCP (via Dados Abertos). Endpoint `/modulo-contratacoes/1_consultarContratacoes_PNCP_14133`. Cobre pregões eletrônicos, dispensas, inexigibilidades e demais modalidades da Nova Lei de Licitações no governo federal. **Atenção semântica**: o filtro `codigo_modalidade_dados_abertos` usa a tabela de modalidade do SIASG/Dados Abertos, NÃO o cheat sheet PNCP de `compras_pncp_modalidades`. Os payloads retornam ambos os campos (`codigoModalidade` do Dados Abertos e `modalidadeIdPncp` do PNCP) — use `modalidadeNome` para o nome amigável. Cache 15 min.
    ConnectorNo auth
  • List configured alert definitions across both axes of the rule engine. Modern alerts (table `alerts`, class-scoped: syslog_log / event_log / eve_log / device_down / storage) and legacy alerts (per-device tracker thresholds, surfaced via the `_hell` view) are fetched, normalized, merged, filtered, and paginated. Wraps GET /api/alerts (modern) and POST /api/getAlerts (legacy). Both endpoints return their full catalog; this tool applies the filters and pagination client-side, so the LLM doesn't need to know which axis a filter applies to. Output rows carry a `source` discriminator and a synthetic `id` string (e.g. "modern:42" / "legacy:17") so dedup is unambiguous; the original numeric id is on `raw_id`. Modern rows carry `class`, `severity`, and last-evaluated stats. Legacy rows carry `type` (tracker kind), `device_id`, and `tracker_name`. Modern rows carry NO throttle / renotify fields, on purpose: since 21.93 no modern class consults them (log-stream classes are one-fire and edge-triggered per event key; device_down and storage are stateful and diff open incidents), so they explain nothing about when a modern alert re-fires. Do not claim a modern alert is flap-damped or on a renotify timer — it isn't. Legacy trackers DO still renotify on a timer, but that config lives on the trigger and is not returned here either. `last_result_count` is NOT the same measure across classes. For syslog_log / event_log / eve_log it is the raw match count from the last evaluation BEFORE edge-trigger dedup — a steady nonzero means the pattern keeps matching, NOT that anything was notified (repeat matches of an already-seen occurrence are suppressed). For device_down it is a level: devices currently down and in scope, so nonzero means an outage is open right now. For storage it is likewise a level: volumes currently low (or held open because their reading is unreadable/stale) and in scope. Never sum or compare the two. `last_evaluated_at` is the last scheduler tick that touched the alert; legacy rows have no equivalent. For what actually fired and was delivered, use alerts_history. Filters (all optional, AND-combined): scope (modern|legacy|all, default all), class (modern only — silently ignored on legacy rows), severity (int or array), enabled (bool), device_id (legacy only — modern alerts are class-wide), search (case-insensitive substring on label). Pagination: per_page defaults to 50 (max 200), page is 1-indexed. `meta.total` is the post-filter count; `meta.has_more` flags more pages. tag-scoped server-side at the legacy axis (legacy rows for devices outside the user's slug set are filtered by Laravel before this tool sees them). Permission: alerts. Example: alerts_list({severity: 1, enabled: true, search: "router", per_page: 20})
    ConnectorNo auth
  • Devolve um artigo inteiro da Central de Ajuda da upCampo, em texto com títulos, listas e tabelas: localização no menu, campos, passo a passo e perguntas frequentes. Use depois de buscar_ajuda, quando o trecho não bastar para responder. "relacionados" lista os artigos citados neste, para seguir adiante sem nova busca.
    ConnectorOAuth
  • Generates framework-aware code fixes (Laravel Blade, Next.js App/Pages Router, HTML, PHP, Astro, Svelte) for missing titles, meta descriptions, canonical URLs, JSON-LD schemas, and WebMCP discovery links with unified diff preview. USAGE GUIDELINES: - Use after audit tools detect specific SEO, schema, or WebMCP issues in a source file. - Do NOT use for general code refactoring unrelated to metadata, schema, or SEO tags. - Always run 'seo_validate_code_fix' immediately after applying changes to verify syntax and prevent duplicate tags. BEHAVIORAL TRANSPARENCY: - Non-destructive by default: Returns unified diff preview without modifying files. - Modifies disk ONLY when 'applyDirectly' is explicitly set to true.
    ConnectorNo auth
  • EU-wide public intercity transit router. Accepts PLACE NAMES (not coordinates). Returns multi-leg itineraries via Transitous. CRITICAL FOR AGENTS: - This tool handles geocoding internally. Do NOT pre-geocode or look up coordinates. - Do NOT call this tool multiple times with different spellings. Call it ONCE. - If a location isn't found, present the error message and STOP. TEMPORAL HANDLING: This tool returns live real-time schedules only (no date parameter). If user asks for 'tomorrow' or a future date, pass it as --requested-date. The tool will add an explanatory note about schedule patterns. EXAMPLES: - --from "Ljubljana, Slovenia" --to "Maribor, Slovenia" - --from "Podbrdo" --to "Nova Gorica" --requested-date "2026-06-05" --limit 3 - --from "Bled" --to "Trieste, Italy" --modes "BUS WALK" FAILURE MODES (present directly to user, do not retry): - LOCATION_NOT_FOUND → Check spelling - NO_ROUTES_FOUND → Try different modes or check locations are in Europe - ROUTING_FAILURE → Upstream API error, try again later
    ConnectorNo auth
  • Propose a mutual alliance with another faction (Requires `manage_diplomacy` permission. Cannot propose with factions you're at war with or already allied with. Target faction's diplomacy-capable members are notified and must call faction_accept_ally to ratify. Accepts faction ID or 4-character faction tag (e.g. NOVA).)
    ConnectorNo auth
  • Generate a PDF from a preview. Call with no args first: if multiple previews exist, returns needs_selection + previews (title + preview_id) — ask the user which one, then call again with preview_id. If only one preview exists, generates it immediately. Returns pdf_url when generated.
    ConnectorNo auth
  • Accept a peace proposal (Requires `manage_diplomacy` permission. Ends the war. Use faction_info to see pending peace proposals. Accepts faction ID or 4-character faction tag (e.g. NOVA).)
    ConnectorNo auth
  • Look up a packaged food by its barcode and get the fields that answer "can this person eat this?" — ingredients, allergens, traces, additives, Nutri-Score, NOVA processing group and per-100g nutrition. Data is from Open Food Facts, which is crowd-sourced and openly licensed: coverage is uneven by country and a product can be listed with most nutrition empty, so every response carries a completeness flag and missing values are null rather than estimated. A barcode not in the database returns not_found and is NOT charged. Costs $0.005 USDC per call via x402 on Base.
    ConnectorNo auth