Aunoo Skills — Tools & Recipes

Live news intelligence for your agent over MCP. 28 tools and 10 recipe playbooks.

Quickstart. Mint a workspace key in your console, then point any MCP client at https://agentic.aunoo.ai/mcp with header Authorization: Bearer aunoo_…. Call tools with tools/call and fetch recipes with prompts/get. Topic-scoped arguments are auto-filled from the topics your key covers. Full REST reference →

Want brand monitoring?

Track how your brand, products, or competitors show up across the news — coverage volume, sentiment shifts, and alerts when something moves. Brand monitoring lives in Aunoo, the app, not the agent tools here.

Get Aunoo the app →

Connect your client

Mint a workspace key in your console, then connect any MCP client. Replace the placeholder aunoo_… with your real key.

Claude Desktop

Easiest (newer builds): Settings → Connectors → Add custom connector, paste the MCP URL, and sign in to Aunoo when prompted — OAuth, no token to copy.

https://agentic.aunoo.ai/mcp

Or via config file (any build; needs Node.js for the mcp-remote bridge). Add to claude_desktop_config.json, then fully quit & relaunch:

{
  "mcpServers": {
    "aunoo": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://agentic.aunoo.ai/mcp",
        "--header",
        "Authorization: Bearer aunoo_\u2026"
      ]
    }
  }
}

macOS ~/Library/Application Support/Claude/claude_desktop_config.json · Windows %APPDATA%\Claude\claude_desktop_config.json

Claude Code

Run this in your shell (add --scope user to make it available in every project):

claude mcp add aunoo https://agentic.aunoo.ai/mcp --transport http --header 'Authorization: Bearer aunoo_…'

ChatGPT — Custom GPT

Create a Custom GPT → Configure → Actions → import the OpenAPI schema, then set Authentication → API Key → Bearer.

OpenAPI schema URLhttps://agentic.aunoo.ai/api/v1/skills/workspace/openapi.yaml
AuthenticationAPI Key
Auth typeBearer
API key valueBearer aunoo_…

Guides

Build a situation report

Turn a breaking event into a sourced, structured brief using the Aunoo tools. Frame the topic, gather and corroborate the event, then draft in an analyst register.

  1. Frame the topic. Pull the baseline before reading event detail: get_world_state (current entities & situation), forecast_topic_trajectory (lifecycle phase + growth — is the story climbing or cresting?), forecast_sentiment_inflection (mood + change-point risk), and get_consensus (cross-source agreement, evidence quality, optimistic/pessimistic outliers, milestone forecast).
  2. Gather the event. search_news for the event; get_article_full on the 3–5 most relevant items; fetch_related_to_article on the strongest to map the coverage cluster. Find and read the primary source (company statement, regulator notice) and build a timeline from datelines.
  3. Balance the sources. Re-pull with get_topic_articles using sampling_pipeline="high_factuality" (or bias_neutral) and confirm each load-bearing claim appears across multiple regions and outlets. Tag each claim primary / multi-source / single-source.
  4. Draft in an analyst register. Bottom line → what happened → key facts → timeline → the actor's position → implications → significance → consensus & forecast → outlook → source assessment + confidence → sources. Separate what is cited from what is inferred — state causation only when a source asserts it; otherwise label the link a reported sequence.
  5. Verify. Re-query for updates, challenge the strongest claims, and confirm the primary source. Give an explicit confidence rating (High / Moderate / Low) and note what would raise it. Use Aunoo's sentiment/consensus figures verbatim, and cite the article URLs Aunoo returns.

Prefer to let your assistant drive? Fetch a recipe with prompts/get: forecast_brief (forward-looking brief), consensus_analysis (converge/diverge across coverage), or deep_dive (multi-angle research synthesis).

Analysis

forecast_sentiment_inflection

Forecast whether a topic's sentiment is about to turn — momentum, the most recent change-point (date + direction + size), and an inflection-risk flag with a projected sign-flip date. Computed (CUSUM change-point + slope), not summarized. Use it to tell whether the mood is steady, shifting, or about to cross from positive to negative (or vice versa).

ParameterTypeReqDescription
topic_idintegerTopic id from the key's scope. Omit for the cross-topic 'Overall' mood.
daysintegerLookback window for the sentiment series. (default: 45)
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "forecast_sentiment_inflection", "arguments": {"topic_id": 1}}}'

forecast_topic_trajectory

Forecast a topic's lifecycle phase from its daily article-volume curve — emerging / accelerating / cresting / declining / dormant — with growth rate and, when a curve fits, a projected peak date and ceiling. Computed (logistic fit + momentum), not summarized. Use it to tell whether a story is still climbing or already past its peak.

ParameterTypeReqDescription
topic_idintegerTopic id from the key's scope. Omit for the cross-topic 'Overall' trajectory.
daysintegerLookback window for the volume curve (needs enough points to fit). (default: 45)
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "forecast_topic_trajectory", "arguments": {"topic_id": 1}}}'

get_consensus

Return Aunoo's cached cross-source consensus analysis for a topic — 3-5 categories where coverage converges, with key insights and source breakdown. Refreshed by the foresight worker; falls back to the consensus_analysis recipe when cache is missing.

ParameterTypeReqDescription
topic_idintegerTopic id from the key's scope. Omit for cross-topic 'Overall' consensus.
daysintegerBest left unset. The analysis is pre-generated for a single fixed window (currently 7 days); other values are served from that same window, not recomputed. (default: 7)
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "get_consensus", "arguments": {"topic_id": 1}}}'

get_foresight_component

Get Aunoo's ACTUAL in-app chart for a topic as a self-contained HTML document (same server-rendered SVG as the app + public share page: the S-curve with scenarios plotted on it, the H1/H2/H3 columns, consensus cards). kind='horizons' (Future Horizons) or kind='consensus' (Consensus & Outliers); pass a topic_id. Drop the returned `html` VERBATIM into an HTML artifact to show the exact same chart as the Aunoo UI — do not rebuild it. Pair with the future_horizons / consensus_outliers recipes.

ParameterTypeReqDescription
kindstring · enumWhich surface: 'horizons' (Future Horizons) or 'consensus' (Consensus & Outliers). (default: horizons) — one of: horizons, consensus
topic_idintegerTopic id from the key's scope — the chart is per-topic (rendered from that topic's cached analysis).
daysintegerBest left unset; the analysis is pre-generated for a fixed window and served from it. (default: 7)
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "get_foresight_component", "arguments": {"topic_id": 1}}}'

get_horizons

Return Aunoo's cached Three-Horizons foresight scenarios for a topic — current developments (H1), emerging shifts (H2), longer-horizon possibilities (H3). Cached; refreshed by the foresight worker.

ParameterTypeReqDescription
topic_idintegerTopic id from the key's scope. Omit for cross-topic Overall horizons.
daysintegerBest left unset. The forecast is pre-generated for a single fixed window (currently 7 days); other values are served from that same window, not recomputed. (default: 7)
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "get_horizons", "arguments": {"topic_id": 1}}}'

get_polarization_index

Measure how far apart the left and right are framing a topic — a 0–100 score for how separable left- vs right-leaning coverage is in embedding space, plus a trend (widening / narrowing / stable) vs. the prior window. Computed (linear-probe AUC), not summarized. Use it to spot stories fragmenting into incompatible narratives; a widening gap is an early flashpoint signal.

ParameterTypeReqDescription
topic_idintegerTopic id from the key's scope. Omit for the cross-topic 'Overall' index.
daysintegerWindow per side; the trend compares it to the prior equal window. (default: 14)
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "get_polarization_index", "arguments": {"topic_id": 1}}}'

get_trust_signals

The five per-article Trust Signals Aunoo shows in the app — ① Source (outlet bias / factual record / credibility) ② Claims (per-claim verdicts when the article has been validated, else how many other outlets carry the story) ③ Origin (AI-generated-content detection) ④ Spread (how many outlets republished it and whether one owner carries most of them) ⑤ Owner (who ultimately owns the outlet). Read-only and free: it reports what has already been measured and starts no new analysis. A signal with tone 'neutral' and rating '—' was NOT measured — that is not a clean result. Takes one article_id or up to 25 article_ids. To fact-check an article that has no claim verdicts yet, call validate_article; to see who else ran the story, get_story_coverage.

ParameterTypeReqDescription
article_idintegerArticle id — for a single article
article_idsarrayUp to 25 article ids, rated in one call
window_hoursintegerLook-back for the Claims and Spread republication counts (default: 72)
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "get_trust_signals", "arguments": {}}}'

get_trust_signals_for_urls

The same five Trust Signals as get_trust_signals, for articles named by URL rather than by Aunoo article id — up to 25 urls. A URL Aunoo holds gets all five stations. Any other URL gets ① Source and ⑤ Owner rated from the outlet domain (Media Bias/Fact Check record, beneficial-owner map) and neutral ② Claims ③ Origin ④ Spread, marked in_corpus=false. Neutral means NOT measured, not clean. Read-only and free. Use this when you hold an article from elsewhere; use get_trust_signals when you have an Aunoo article id.

ParameterTypeReqDescription
urlstringArticle URL — for a single article
urlsarrayUp to 25 article URLs, rated in one call
window_hoursintegerLook-back for the Claims and Spread republication counts (in-corpus articles only) (default: 72)
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "get_trust_signals_for_urls", "arguments": {}}}'

render_horizons_chart

Render the Three-Horizons foresight as a PNG chart — the same S-curve visual as the in-app Future Horizons page (current H1 declining, transition H2 cresting, future H3 rising) over a forward year axis. Returns an image the assistant can show directly. To EMBED the real chart in an HTML/JSX artifact, pass format='data_uri' — the response then includes image_data_uri, a data:image/png;base64 string you drop into <img src> (no need to recreate the chart). Use get_horizons for the scenario text.

ParameterTypeReqDescription
topic_idintegerTopic id from the key's scope. Omit for the cross-topic Overall chart.
daysintegerBest left unset. The forecast is pre-generated for a single fixed window (currently 7 days); other values are served from that same window, not recomputed. (default: 7)
formatstring · enum'image' (default): inline PNG image block, for showing the chart directly in chat. 'svg': returns image_svg, a compact (~8 KB) self-contained SVG with every scenario plotted on the curve — paste it into an HTML/JSX artifact; BEST for building a report (small + reliable, scales crisply). 'data_uri': returns a base64 PNG string (larger; can be too long to paste reliably). (default: image) — one of: image, svg, data_uri
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "render_horizons_chart", "arguments": {"topic_id": 1}}}'

Coverage

get_story_coverage

Coverage read for a news article: who else is running the SAME story, and Aunoo's verdict on how it's moving — reach (niche / regional / wide / viral), coordination (none / suspected / confirmed), and spread (organic / forced / mixed), with a plain-English headline. Pass url (preferred) or article_id. Returns: same_story_articles (the authoritative 'who else is running this' set — a vetted near-copy cluster, NOT raw similarity), coordination_events, a propagation_summary (recurrence / expectedness / ownership spread), and the verdict. The reach/coordination axes are computed from the same-story set, so they don't get inflated by topically-similar lookalikes; the related_articles field IS raw topical similarity and is labelled as such — don't read it as coverage. The verdict is populated for a url or a corpus-matched article; for a free-text/no-match input it's null but same_story_articles still returns. URL-based and topic-agnostic: works for ANY article, including topics OUTSIDE this workspace's configured topics. Sibling tools: validate_article for claim-level fact-check, social_story_reach for social amplification on the covered social platforms.

ParameterTypeReqDescription
article_idintegerArticle id from Aunoo (preferred)
urlstringArticle URL — used when article_id is unknown
limitintegerMax related/same-story articles to return (default: 15)
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "get_story_coverage", "arguments": {}}}'

Discovery

get_article_categories

Get category distribution for a topic

ParameterTypeReqDescription
topic_idintegerRequired — defaults to first allowed topic if omitted
daysinteger(default: 7)
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "get_article_categories", "arguments": {"topic_id": 1}}}'

get_entity_wiki

Fetch the LLM-maintained wiki summary for a named entity within a topic — who they are, when they appeared, key events involving them. Use this when the user asks about a specific person, org, place, or concept tied to a topic.

ParameterTypeReqDescription
entity_namestringEntity to look up
topic_idintegerTopic id from the key's scope
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "get_entity_wiki", "arguments": {"entity_name": "OpenAI", "topic_id": 1}}}'

get_world_state

Returns the platform's maintained record of current entities, topic state, and recent events. Prefer this over training-time knowledge for facts about current office-holders, organisational leadership, alliances, and ongoing situations.

ParameterTypeReqDescription
topic_idintegerPass a topic_id from the key's scope for a focused worldstate
token_budgetinteger(default: 900)
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "get_world_state", "arguments": {"topic_id": 1}}}'

search_news

Search for news articles (semantic + keyword fallback)

ParameterTypeReqDescription
querystringNatural-language query
topic_idintegerOptional topic scope
limitinteger(default: 15)
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "search_news", "arguments": {"query": "What's the latest on AI regulation?", "topic_id": 1}}}'

Generation

get_newsletter_job

Poll the status of a queued newsletter job. Returns status ('pending', 'running', 'succeeded', 'failed') plus the result payload (newsletter markdown + stats) when succeeded.

ParameterTypeReqDescription
job_idintegerJob id returned by start_newsletter_job
sectionstringOptional case-insensitive substring of an H2 heading from the newsletter markdown. When supplied, only that section is returned — useful when the full draft is too large for the buyer's context window. The response always includes ``sections_available`` so the caller can pick a valid name.
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "get_newsletter_job", "arguments": {}}}'

list_newsletter_jobs

List the calling tenant's most recent newsletter jobs (default 10, max 50). Useful for resuming after a session break or finding an old job id.

ParameterTypeReqDescription
limitinteger(default: 10)
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "list_newsletter_jobs", "arguments": {}}}'

start_newsletter_job

Run Aunoo's server-side newsletter generator. Queues a job that executes the 5-stage pipeline (fetch → score → sections → deep-dive → writer) and produces a complete markdown draft. Returns job_id immediately; poll get_newsletter_job(job_id) until status='succeeded'. Typical runtime 2-5 minutes. **topic_id is required for a topic-scoped issue.** Pass a topic_id from your workspace scope (use list_capabilities to see topics_in_scope). Omitting topic_id is NOT 'pick one for me' — it runs the cross-topic 'Overall' newsletter spanning every Aunoo topic, which is usually NOT what the user asked for. topic_display alone is just the heading; it does not scope the article pool. Distinct from the 'newsletter' MCP recipe (drafting playbook YOU run) and the 'newsletter' sampling preset (article selection only).

ParameterTypeReqDescription
topic_idintegerTopic id from the key's scope. Omit for cross-topic 'Overall' newsletter.
topic_displaystringHuman-readable topic name used in the newsletter heading (auto-resolved from topic_id if omitted)
days_backintegerNewsletter window in days (default: 7)
template_slugstringOptional saved newsletter-template slug. Omit for the free-form / 'auto' path.
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "start_newsletter_job", "arguments": {"topic_id": 1}}}'

Introspection

list_capabilities

Return a chat-friendly summary of what this Aunoo connection can do — packs in scope, tool catalogue, named recipes, and a 'how to get started' hint. Call this when the user asks 'what can you do' / 'what's available' / 'how do I get started'.

No parameters.

Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "list_capabilities", "arguments": {}}}'

Retrieval

fetch_related_to_article

Return articles semantically similar to a given article id via pgvector KNN.

ParameterTypeReqDescription
article_idintegerSeed article id
limitinteger(default: 8)
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "fetch_related_to_article", "arguments": {}}}'

follow_up_query

Combine previous context with new query results

ParameterTypeReqDescription
querystringFollow-up natural-language query
previous_contextarrayArticles already in the conversation context (passed back so dedup works)
topic_idintegerOptional topic scope
limitinteger(default: 10)
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "follow_up_query", "arguments": {"query": "What's the latest on AI regulation?", "topic_id": 1}}}'

get_article_full

Fetch a single article by id with full content (no 2000-char truncation). Scoped to the api key's allowed_topic_ids.

ParameterTypeReqDescription
article_idintegerArticle id
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "get_article_full", "arguments": {}}}'

get_topic_articles

Fetch articles for a specific topic with optional sampling

ParameterTypeReqDescription
topic_idintegerTopic id; optional if the key covers one topic
limitinteger(default: 30)
daysinteger(default: 7)
sampling_pipelinestring · enumOptional article-SELECTION strategy (filter + sampler chain). Picks WHICH articles to return, not how to use them. Valid: all_topics_default · balanced_topics · bias_neutral · diverse · high_factuality · latest · newsletter · quality_first · semantic_search. Use 'newsletter' for a quality-gated deduped set you'll summarise; 'high_factuality' for MBFC-high outlets only; 'bias_neutral' for centre-leaning sources. Distinct from the MCP 'newsletter' RECIPE (prompts/get(newsletter)) — that's the multi-step drafting playbook, not a selection strategy. — one of: all_topics_default, balanced_topics, bias_neutral, diverse, high_factuality, latest, newsletter, quality_first, semantic_search
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "get_topic_articles", "arguments": {"topic_id": 1}}}'

search_articles_by_keywords

Keyword search across title, content, and summary

ParameterTypeReqDescription
keywordsstringKeyword or phrase
topic_idintegerOptional topic scope
limitinteger(default: 15)
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "search_articles_by_keywords", "arguments": {"topic_id": 1}}}'

semantic_search_and_analyze

Vector search for semantically similar articles

ParameterTypeReqDescription
querystringNatural-language query
topic_idintegerOptional topic scope
limitinteger(default: 10)
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "semantic_search_and_analyze", "arguments": {"query": "What's the latest on AI regulation?", "topic_id": 1}}}'

Validation

get_validation_job

Poll the status of a queued validation job. Returns status ('pending', 'running', 'succeeded', 'failed') plus the full validation report (verdict, confidence, claims, corroboration, …) in result when succeeded.

ParameterTypeReqDescription
job_idintegerJob id returned by start_validation_job
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "get_validation_job", "arguments": {}}}'

start_validation_job

Queue an independent article fact-check as a background job and return a job_id immediately. Runs the same engine as validate_article but in the worker with no tool-window limit, so it completes reliably on large/complex articles (where validate_article can time out). Poll get_validation_job(job_id) every ~25 s until status='succeeded'. Typical runtime 1-2 minutes. Pass article_id (preferred) or url. URL-based: works for ANY article, including topics OUTSIDE this workspace's configured topics. Corroboration is corpus-bound — an off-topic story shows no corpus corroboration even if widely covered; read web_evidence for the open-web picture.

ParameterTypeReqDescription
article_idintegerArticle id from Aunoo (preferred)
urlstringExternal URL — used when article_id is unknown
forcebooleanSkip cache and re-run subagents (default: False)
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "start_validation_job", "arguments": {}}}'

validate_article

Run an independent fact-check on a news article: extracts claims, verifies each against source reputation, corroboration across outlets, external fact-check archives, and synthesises a verdict (e.g., 'corroborated', 'contested', 'unverifiable') with a confidence score. Runs inline with a ~25 s budget; subsequent calls on the same article hit the cache and return fast. For a large or claim-dense article that may exceed the tool window, prefer start_validation_job + get_validation_job (same engine, no time limit) — and if this tool returns a timeout, switch to the job tools rather than retrying. URL-based: works for ANY article, including topics OUTSIDE this workspace's configured topics (unlike the topic-scoped search tools). Note: corroboration is checked against Aunoo's indexed corpus, so an article on a topic Aunoo doesn't index shows zero corpus corroboration even when widely covered elsewhere — read the web_evidence field for open-web coverage, don't read empty corpus corroboration as 'uncorroborated'.

ParameterTypeReqDescription
article_idintegerArticle id from Aunoo (preferred)
urlstringExternal URL — used when article_id is unknown
forcebooleanSkip cache and re-run subagents (default: False)
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "validate_article", "arguments": {}}}'

Recipes prompts/get

Named multi-step playbooks. Fetch one and the response is a set of instructions your assistant follows, using the tools above.

deep_dive

Research-style multi-angle dive on a question. Walks the buyer's assistant through grounding via WORLD STATE, primary article retrieval, entity wikis, full-body fetch, and Aunoo's Deep response format (400-800 words, 3+ sources).

ArgumentReqDescription
query✓The user's question to research.
topic_idTopic id from the key's allowed scope. Defaults to the first allowed.
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "prompts/get", "params": {"name": "deep_dive", "arguments": {"query": "What's the latest on AI regulation?"}}}'

consensus_analysis

Identify 3-4 consensus categories where coverage converges + where it diverges. Cross-source synthesis for news consumers.

ArgumentReqDescription
topic_idTopic id from the key's allowed scope.
daysTime window to analyse (default 30).
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "prompts/get", "params": {"name": "consensus_analysis", "arguments": {}}}'

future_horizons

Standardized, VISUAL Three-Horizons foresight for a topic: pulls get_horizons + the canonical S-curve, then renders Aunoo's future-horizons component as an artifact (HTML/text fallback). Use this to SHOW horizons, not just describe them.

ArgumentReqDescription
topic_idTopic id from the key's allowed scope.
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "prompts/get", "params": {"name": "future_horizons", "arguments": {}}}'

consensus_outliers

Standardized, VISUAL Consensus & Outliers for a topic: pulls get_consensus, then renders Aunoo's consensus component (sentiment mix + agreement + minority outliers) as an artifact (HTML/text fallback). Use this to SHOW consensus, not just describe it.

ArgumentReqDescription
topic_idTopic id from the key's allowed scope.
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "prompts/get", "params": {"name": "consensus_outliers", "arguments": {}}}'

foresight_report

Build ONE cohesive, on-brand report artifact for a topic — orchestrates the full foresight set: the Three-Horizons chart (Aunoo SVG) + scenarios, the computed volume / sentiment / polarization signals, and Consensus & Outliers, assembled into a single React/HTML report. Use this for a COMPLETE report; the per-surface recipes (future_horizons, consensus_outliers) each cover one section.

ArgumentReqDescription
topic_idTopic id from the key's allowed scope.
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "prompts/get", "params": {"name": "foresight_report", "arguments": {}}}'

newsletter

Multi-step playbook for drafting a topic-scoped newsletter in Aunoo's house voice. Plans 5-8 sections, deep-dives one, assembles markdown with inline citations. Distinct from the 'newsletter' SAMPLING preset on get_topic_articles (which only selects articles), and from start_newsletter_job (server-side generator that produces the final draft). Use this recipe when YOU (the assistant) are doing the drafting; use start_newsletter_job when you want Aunoo's generator to produce the draft.

ArgumentReqDescription
topic_idTopic id from the key's allowed scope.
styleVoice preset: atlantic | brief | weird (default atlantic).
audienceAudience hint, e.g. analyst | executive | builder.
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "prompts/get", "params": {"name": "newsletter", "arguments": {}}}'

correspondent_brief

Short-form briefing (200-300 words) in the voice of a named Aunoo correspondent persona. Pulls fresh articles matching the persona's signal, evaluates each against the persona's mandate, surfaces top matches with excerpts.

ArgumentReqDescription
personaOne of: escalation_monitor, zero_day_tracker, ai_regulation_watch, market_disruption_alert, quantum_breakthrough_detector. Defaults to ai_regulation_watch.
topic_idTopic id from the key's allowed scope.
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "prompts/get", "params": {"name": "correspondent_brief", "arguments": {}}}'

forecast_brief

Forward-looking outlook for a topic built from Aunoo's three COMPUTED forecast signals: volume trajectory (lifecycle phase + projected peak), sentiment inflection (is the mood turning, with a projected flip date), and narrative polarization (are left and right diverging). Grounds each in current coverage and synthesises a short observational brief. Distinct from get_horizons (scenario narratives) and consensus_analysis (current convergence) — this reads the trend lines and says where they point.

ArgumentReqDescription
topic_idTopic id from the key's allowed scope. Defaults to the first allowed.
daysLookback for the trajectory + sentiment signals (default 45; polarization always uses 14).
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "prompts/get", "params": {"name": "forecast_brief", "arguments": {}}}'

investigation

Rigorous, evidence-first investigation + fact-check of a claim, article, or URL. Grounds via WORLD STATE, gathers primary sources, then runs Aunoo's claims validator — including the correct async path (validate_article inline; on timeout, start_validation_job + poll get_validation_job) — weighs provenance (independent corroboration vs syndication), and delivers a verdict with confidence and caveats. Distinct from deep_dive (synthesis, no fact-check) — this one adjudicates.

ArgumentReqDescription
subject✓The claim, article, or URL to investigate and fact-check.
topic_idTopic id from the key's allowed scope. Defaults to the first allowed.
depthquick | standard | deep (default standard) — controls how many primary sources to pull.
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "prompts/get", "params": {"name": "investigation", "arguments": {"subject": "…"}}}'

story_reach

Trace how a story spread on the covered social platforms and how it was received, and present it as a structured reach card (Spread → Top amplifiers → Reception). Wraps social_story_reach (quick) or start_social_reach_job + get_social_reach_job (deep: follower-weighted reach, fresh-account surge, coordination cohorts, reply reception). Needs the Social module on this connection. Observational — reach/reception are evidence, not a per-account verdict.

ArgumentReqDescription
subject✓The article URL to trace across the covered social platforms.
depthstandard | deep (default standard) — deep adds follower-weighted reach, fresh-account surge, cohorts, and reply reception via the async job.
Example call
curl -s https://agentic.aunoo.ai/mcp \
  -H 'Authorization: Bearer aunoo_…' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "prompts/get", "params": {"name": "story_reach", "arguments": {"subject": "…"}}}'