Skip to main content
Glama

Particle Alert Update

particle_alert_update
Destructive

Update an existing alert. Only the fields you pass change; the entities and notifications lists, when provided, replace the whole set (pass a single entity slug from the resolve tools, same as particle_alert_create — an alert watches exactly one entity). A KEYWORD_MENTION alert takes a new keyword instead of entities. Use is_active to pause or resume an alert without deleting it. An alert's kind is fixed at creation — to change it, create a new alert.

Notification changes affect future recurring email delivery to external recipients; resuming an alert restarts delivery to its configured destinations. Alert emails follow delivery_cadence until paused or deleted. Only recipients verified for your organization receive alert emails; pending recipients may be saved but stay silent until verified.

The optional filters object replaces the alert's filter set wholesale — omit to leave the existing filters unchanged, send {} to clear all filters. Same axes as particle_alert_create.filters: languages, relevance (EVERYTHING/RELEVANT), source_popularity (ANY/POPULAR), speaker_roles (PODCAST_SPEAKER alerts only — sending it on an ENTITY_MENTION alert returns unprocessable_entity), and speaker_statement_characteristics (ENTITY_MENTION alerts only; it applies to matches detected after the update).

Alerts are not covered by zero data retention: the alert's definition and its matched results are stored as part of the alerts feature.

Input Schema

NameRequiredDescriptionDefault
titleNoNew title.
filtersNoReplace the alert's filter set wholesale. Omit to leave the existing filters unchanged; send an empty object {} to clear all filters. Same four axes as particle_alert_create.filters (languages, relevance, source_popularity, speaker_roles).
keywordNoReplacement phrase for a KEYWORD_MENTION alert; omit to leave it unchanged. Not accepted on other kinds. Matches already recorded keep the phrase they fired on.
alert_idYesAlert id to update.
entitiesNoReplacement watch target as a single entity slug (from the resolve tools). When provided, replaces the entire existing watch list — exactly one entity; omit to leave entities unchanged. Not accepted on KEYWORD_MENTION alerts.
is_activeNoPause (false) or resume (true) the alert.
descriptionNoNew description.
notificationsNoReplacement recipients for recurring alert emails. Only recipients verified for your organization receive alert emails; pending recipients stay silent until verified. When provided, replaces the entire existing set; omit to leave them unchanged.
output_formatNoOutput serialization. 'markdown' (default) returns the LLM-facing rendering. 'json' returns the structured payload as JSON text — use only for programmatic chaining where exact field extraction matters; the JSON shape is larger and noisier for an LLM to read.
delivery_cadenceNoNew delivery cadence.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / filters / properties / speaker_statement_characteristics
      Added value: +{
      +  "description": "ENTITY_MENTION alerts only — sending it on a PODCAST_SPEAKER or KEYWORD_MENTION alert returns unprocessable_entity. Keeps a match only when one of its mention lines was said the way you ask, the same filter particle_podcast_find_mentions takes: {'sentiment': ['negative']} for criticism of the watched entity, {'specificity': ['specific'], 'temporal_orientation': ['future']} for concrete predictions about it, {'certainty': ['confident']} for confident claims. Labels on one axis OR together, axes AND. Mention lines the filter does not accept are not marked as mentions and do not count. Put how something is said here, never in the alert's title or keyword.",
      +  "properties": {
      +    "certainty": {
      +      "description": "How sure the speaker sounds. 'confident' for flat assertions and high conviction; 'hedged' for maybe, I think, it could, and other hedging; 'neutral' for neither.",
      +      "items": {
      +        "enum": [
      +          "hedged",
      +          "neutral",
      +          "confident"
      +        ],
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "sentiment": {
      +      "description": "The statement's tone. 'positive' for optimistic, bullish, approving or praising lines; 'negative' for skeptical, bearish, critical or worried ones; 'neutral' for lines that clearly lean neither way.",
      +      "items": {
      +        "enum": [
      +          "negative",
      +          "neutral",
      +          "positive"
      +        ],
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "specificity": {
      +      "description": "Whether the line commits to something concrete. 'specific' for names, numbers, dates and mechanisms (concrete claims); 'vague' for generalities; 'neutral' for neither.",
      +      "items": {
      +        "enum": [
      +          "vague",
      +          "neutral",
      +          "specific"
      +        ],
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "temporal_orientation": {
      +      "description": "Where the line points in time. 'future' for predictions, forecasts, plans and expectations; 'past' for looking back; 'present' for how things are now.",
      +      "items": {
      +        "enum": [
      +          "past",
      +          "present",
      +          "future"
      +        ],
      +        "type": "string"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / notifications / description
      Previous value: -"Replacement notification emails. When provided, replaces the entire existing set; omit to leave them unchanged."New value: +"Replacement recipients for recurring alert emails. Only recipients verified for your organization receive alert emails; pending recipients stay silent until verified. When provided, replaces the entire existing set; omit to leave them unchanged."
  3. Changed2 schema fields changed
    • changedInput schema / properties / entities / description
      Previous value: -"Replacement watch target as a single entity slug (from the resolve tools). When provided, replaces the entire existing watch list — exactly one entity; omit to leave entities unchanged."New value: +"Replacement watch target as a single entity slug (from the resolve tools). When provided, replaces the entire existing watch list — exactly one entity; omit to leave entities unchanged. Not accepted on KEYWORD_MENTION alerts."
    • addedInput schema / properties / keyword
      Added value: +{
      +  "description": "Replacement phrase for a KEYWORD_MENTION alert; omit to leave it unchanged. Not accepted on other kinds. Matches already recorded keep the phrase they fired on.",
      +  "maxLength": 100,
      +  "type": "string"
      +}
  4. First observed

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag this as destructive, non-read-only and open-world, and the description adds real context beyond them: wholesale replacement of entities/notifications, the fact that filter objects replace rather than merge, ZDR exclusion, kind-dependent unprocessable_entity errors, and email verification gating. However, it never states what the response looks like or whether the caller can see prior values before overwriting a set — gaps that matter for a destructiveHint mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well front-loaded, but long and partly redundant: the filters paragraph restates the speaker_roles / speaker_statement_characteristics restrictions that already appear verbatim in the schema descriptions. The delivery/verification paragraph repeats the `notifications` param description. Tightening would preserve meaning with less duplication.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers the tricky parts an agent needs for a 10-param destructive mutation with nested objects: replacement semantics, kind constraints, pause semantics, filter clearing, and error conditions. Missing only the return shape (no output schema exists) and whether alert_id is org-scoped, which keeps it from a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so the baseline is 3; the description earns extra credit by adding cross-parameter semantics the schema cannot express — keyword vs entities mutual exclusivity by alert kind, {} clearing filters, and is_active meaning pause/resume rather than delete. It does repeat a fair amount of the schema's own enum/filter prose, which caps it below 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ('Update an existing alert') and immediately clarifies the lifecycle boundary against particle_alert_create ('an alert's kind is fixed at creation — to change it, create a new alert'). An agent can distinguish update from create/delete/get/list without consulting any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states partial-update semantics ('Only the fields you pass change'), which params replace wholesale, and the kind-specific rule that KEYWORD_MENTION takes `keyword` while entity alerts take `entities`. It also routes the agent to particle_alert_create for kind changes and names resolve tools for slugs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources