Skip to main content
Glama

Actionable-now feed

alphai_actionable_now
Read-onlyIdempotent

Breaking, decision-grade news from the last few hours. The primary filter is the enricher's actionability score, and the gate is strict: by default only actionability='high' (a time-sensitive development — fresh guidance cut, halted trading, breaking M&A, surprise print) qualifies. Big-but-not-urgent stories scored 'medium' (shape a position over days/weeks) never appear at the default floor no matter how high their novelty — pass min_actionability='medium' to include them, or use alphai_trending / alphai_ticker_news for the broader tape. Market-wide macro releases (an FOMC decision, a CPI/jobs print) qualify and carry no tickers. An empty list on quiet nights/weekends is expected — it means no high-actionability prints in the window, not an error; widen hours or min_actionability before concluding nothing happened. The time window is over each article's PUBLICATION time, not the underlying event's date, so a fresh pick-up of an older event can appear; min_novelty (not the window) is what drops post-event recaps of already-public stories. Ordered novelty-first; syndicated reprints collapsed by story (dedupe=false to keep all), and each collapsed item reports story_id (the story root's uid — the same key alphai_trending and the search tools report for that story), sources_count and sources. Most stories run at a single outlet, so sources_count is usually 1; a value above 1 is the signal, not the number itself. Each item carries the full AI analysis inline — no follow-up alphai_article call needed for depth. Informational and AI-generated — not investment advice.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hoursNoLook-back window in hours; default 6.
limitNoStories; capped at 20 Free/Basic, 50 Pro.
dedupeNoCollapse syndicated reprints by story (default true).
min_noveltyNoMin information_novelty 1-10; default 7.
min_actionabilityNoActionability floor. 'high' (default) = only act-today items; 'medium' also includes stories that shape a position over days/weeks.high

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / properties / result / items / properties / search_match
      Added value: +{
      +  "anyOf": [
      +    {
      +      "description": "Per-item evidence from the text path: ``score`` orders the page (cover\ndensity × recency; comparable within one response, not a probability),\n``terms_matched`` is set in broadened mode, ``context`` marks the matched\nwords in the summary with ``**``.",
      +      "properties": {
      +        "context": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "default": null
      +        },
      +        "score": {
      +          "type": "number"
      +        },
      +        "terms_matched": {
      +          "anyOf": [
      +            {
      +              "type": "integer"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "default": null
      +        }
      +      },
      +      "required": [
      +        "score"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
  2. Changed1 schema field changed
    • addedOutput schema / properties / result / items / properties / filing
      Added value: +{
      +  "anyOf": [
      +    {
      +      "description": "Structured SEC 8-K filing block (``source_type == \"sec_form8k\"`` items on\nthe news tools).\n\nA read-only projection of the 8-K sidecar\n(``apps.data.models.EightKEventModel``) — same fields and semantics as the\nREST ``/api/news/`` block (openapi.yaml: ``EightKFiling``): ``items`` is\nevery item code the filing carries (the ``item`` filter matches any of\nthem; empty for a header-only filing), ``primary_item`` the one that drove\nthe category, ``accession_number`` the id to cite, ``filed_at`` EDGAR's\nacceptance time, ``event_date`` the filing's own date of report and\n``exhibit_url`` the press-release exhibit the summary was built from.\nDates are ISO strings like the insider block; empty sidecar strings are\n``null``, never ``\"\"``.",
      +      "properties": {
      +        "accession_number": {
      +          "type": "string"
      +        },
      +        "event_date": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "default": null
      +        },
      +        "exhibit_url": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "default": null
      +        },
      +        "filed_at": {
      +          "type": "string"
      +        },
      +        "items": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "primary_item": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "default": null
      +        }
      +      },
      +      "required": [
      +        "items",
      +        "accession_number",
      +        "filed_at"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
  3. Changed6 schema fields changed
    • changedInput schema / properties / limit / description
      Previous value: -"Stories; capped at 10 Basic / 50 Pro."New value: +"Stories; capped at 20 Free/Basic, 50 Pro."
    • addedOutput schema / properties / result / items / properties / created_at
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / result / items / properties / earnings
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": true,
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
    • addedOutput schema / properties / result / items / properties / insider
      Added value: +{
      +  "anyOf": [
      +    {
      +      "description": "Structured SEC Form 4 event block (``alphai_insider_news`` items only).\n\nAggregate of the news row's whole transaction group — same semantics as the\nREST ``/api/news/insider/`` block (openapi.yaml: ``InsiderEvent``): shares and\nvalue are GROUP sums (a 10b5-1 ladder is one event), ``avg_price_usd`` is\nvalue-weighted over priced tranches, ``is_10b5_1`` is the group OR, the\nlast fill dates the event. ``side`` is the signal label: buy (P) / sell (S)\n/ other (everything else, incl. D — sale to issuer, a buyback/redemption,\nnot an open-market disposition); the raw ``transaction_code`` rides along.\nMoney/share fields are decimal STRINGS (\"25000\", \"187.32\") — flat, precise,\nschema-simple; null when the filing prices no tranche.\n\n``filed_at`` is when EDGAR accepted the filing and ``late_filing`` marks the\nones that missed the SEC's two-business-day deadline; the rule lives in\n``_is_late_filing`` in ``repository.py`` (ported from the backend's\n``apps.insider.services.filing_lateness``). Field reference for both\nsurfaces: ``backend/openapi.yaml`` (``InsiderEvent``).",
      +      "properties": {
      +        "avg_price_usd": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "default": null
      +        },
      +        "filed_at": {
      +          "type": "string"
      +        },
      +        "insider_name": {
      +          "type": "string"
      +        },
      +        "insider_title": {
      +          "type": "string"
      +        },
      +        "is_10b5_1": {
      +          "type": "boolean"
      +        },
      +        "is_director": {
      +          "type": "boolean"
      +        },
      +        "is_officer": {
      +          "type": "boolean"
      +        },
      +        "is_ten_percent_owner": {
      +          "type": "boolean"
      +        },
      +        "late_filing": {
      +          "type": "boolean"
      +        },
      +        "shares": {
      +          "type": "string"
      +        },
      +        "side": {
      +          "type": "string"
      +        },
      +        "total_value_usd": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "default": null
      +        },
      +        "transaction_code": {
      +          "type": "string"
      +        },
      +        "transaction_date": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "side",
      +        "transaction_code",
      +        "shares",
      +        "is_10b5_1",
      +        "insider_name",
      +        "insider_title",
      +        "is_officer",
      +        "is_director",
      +        "is_ten_percent_owner",
      +        "transaction_date",
      +        "filed_at",
      +        "late_filing"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
    • addedOutput schema / properties / result / items / properties / source_type
      Added value: +{
      +  "default": "",
      +  "type": "string"
      +}
    • changedOutput schema / properties / result / items / required
      Previous value: -[
      -  "uid",
      -  "title",
      -  "url",
      -  "source",
      -  "source_domain",
      -  "summary",
      -  "category",
      -  "relevance_score",
      -  "time_published"
      -]New value: +[
      +  "uid",
      +  "title",
      +  "url",
      +  "source",
      +  "source_domain",
      +  "summary",
      +  "category",
      +  "relevance_score",
      +  "time_published",
      +  "created_at"
      +]
  4. Changed1 schema field changed
    • changedInput schema / properties / limit / description
      Previous value: -"Stories. 10 Basic / 50 Pro (tools.bulk)."New value: +"Stories; capped at 10 Basic / 50 Pro."
  5. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already mark this as read-only, idempotent, and non-destructive, but the description adds substantial behavioral context: the time window is based on publication time rather than event date, dedupe collapses syndicated reprints, results are ordered novelty-first, and each item carries full AI analysis inline. It also discloses the meaning of sources_count and the expected empty-list behavior, going far beyond the structured annotations.

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

Conciseness4/5

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

The content is dense and front-loaded, with every sentence earning its place by addressing a real decision or edge case. However, it is a single long paragraph rather than structured sections, which reduces scannability for an agent. It earns a 4 rather than a 5 because the length could be tightened or structured without losing information.

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

Completeness5/5

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

Given the tool's complexity, the description is remarkably complete: it covers default behavior, parameter changes, sibling routing, temporal semantics, dedupe behavior, sourcing signals, empty-result interpretation, macro releases, and inline analysis payloads. The output schema exists, so the description does not need to explain return shape, and nothing material is missing for correct invocation.

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 100%, so the baseline is 3, but the description adds meaningful parameter semantics: it explains the min_actionability threshold difference between 'high' and 'medium', clarifies that min_novelty (not the window) filters post-event recaps, and ties dedupe to story-level collapse. The limit parameter is not discussed, but its schema description is self-explanatory.

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?

The description clearly states this is a feed of breaking, decision-grade news from the last few hours, filtered primarily by actionability. It distinguishes itself from alphai_trending and alphai_ticker_news by explaining the strict high-actionability default and how medium-actionability stories are excluded. The verb and resource are specific enough that an agent knows exactly what this tool returns.

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?

The description gives explicit when-to-use guidance: use this for time-sensitive, high-actionability developments, and lower min_actionability to 'medium' for stories that shape positions over days/weeks. It also names alternatives (alphai_trending, alphai_ticker_news) for the broader tape, and explains that empty results on quiet nights/weekends are expected rather than errors. This is model routing guidance, not just a definition.

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.