Aunoo Skills — Tools & Recipes
Live news intelligence for your agent over MCP. 28 tools and 10 recipe playbooks.
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.
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/mcpOr 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 URL | https://agentic.aunoo.ai/api/v1/skills/workspace/openapi.yaml |
| Authentication | API Key |
| Auth type | Bearer |
| API key value | Bearer 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.
- 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), andget_consensus(cross-source agreement, evidence quality, optimistic/pessimistic outliers, milestone forecast). - Gather the event.
search_newsfor the event;get_article_fullon the 3–5 most relevant items;fetch_related_to_articleon the strongest to map the coverage cluster. Find and read the primary source (company statement, regulator notice) and build a timeline from datelines. - Balance the sources. Re-pull with
get_topic_articlesusingsampling_pipeline="high_factuality"(orbias_neutral) and confirm each load-bearing claim appears across multiple regions and outlets. Tag each claim primary / multi-source / single-source. - 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.
- 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
analyze_sentiment_trends
Aggregate sentiment trends over time
| Parameter | Type | Req | Description |
|---|---|---|---|
topic_id | integer | Required — defaults to first allowed topic if omitted | |
days | integer | (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": "tools/call", "params": {"name": "analyze_sentiment_trends", "arguments": {"topic_id": 1}}}'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).
| Parameter | Type | Req | Description |
|---|---|---|---|
topic_id | integer | Topic id from the key's scope. Omit for the cross-topic 'Overall' mood. | |
days | integer | Lookback 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.
| Parameter | Type | Req | Description |
|---|---|---|---|
topic_id | integer | Topic id from the key's scope. Omit for the cross-topic 'Overall' trajectory. | |
days | integer | Lookback 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.
| Parameter | Type | Req | Description |
|---|---|---|---|
topic_id | integer | Topic id from the key's scope. Omit for cross-topic 'Overall' consensus. | |
days | integer | Best 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.
| Parameter | Type | Req | Description |
|---|---|---|---|
kind | string · enum | Which surface: 'horizons' (Future Horizons) or 'consensus' (Consensus & Outliers). (default: horizons) — one of: horizons, consensus | |
topic_id | integer | Topic id from the key's scope — the chart is per-topic (rendered from that topic's cached analysis). | |
days | integer | Best 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.
| Parameter | Type | Req | Description |
|---|---|---|---|
topic_id | integer | Topic id from the key's scope. Omit for cross-topic Overall horizons. | |
days | integer | Best 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.
| Parameter | Type | Req | Description |
|---|---|---|---|
topic_id | integer | Topic id from the key's scope. Omit for the cross-topic 'Overall' index. | |
days | integer | Window 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.
| Parameter | Type | Req | Description |
|---|---|---|---|
article_id | integer | Article id — for a single article | |
article_ids | array | Up to 25 article ids, rated in one call | |
window_hours | integer | Look-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.
| Parameter | Type | Req | Description |
|---|---|---|---|
url | string | Article URL — for a single article | |
urls | array | Up to 25 article URLs, rated in one call | |
window_hours | integer | Look-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.
| Parameter | Type | Req | Description |
|---|---|---|---|
topic_id | integer | Topic id from the key's scope. Omit for the cross-topic Overall chart. | |
days | integer | Best 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) | |
format | string · 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.
| Parameter | Type | Req | Description |
|---|---|---|---|
article_id | integer | Article id from Aunoo (preferred) | |
url | string | Article URL — used when article_id is unknown | |
limit | integer | Max 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
| Parameter | Type | Req | Description |
|---|---|---|---|
topic_id | integer | Required — defaults to first allowed topic if omitted | |
days | integer | (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.
| Parameter | Type | Req | Description |
|---|---|---|---|
entity_name | string | Entity to look up | |
topic_id | integer | Topic 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.
| Parameter | Type | Req | Description |
|---|---|---|---|
topic_id | integer | Pass a topic_id from the key's scope for a focused worldstate | |
token_budget | integer | (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)
| Parameter | Type | Req | Description |
|---|---|---|---|
query | string | Natural-language query | |
topic_id | integer | Optional topic scope | |
limit | integer | (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.
| Parameter | Type | Req | Description |
|---|---|---|---|
job_id | integer | Job id returned by start_newsletter_job | |
section | string | Optional 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.
| Parameter | Type | Req | Description |
|---|---|---|---|
limit | integer | (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).
| Parameter | Type | Req | Description |
|---|---|---|---|
topic_id | integer | Topic id from the key's scope. Omit for cross-topic 'Overall' newsletter. | |
topic_display | string | Human-readable topic name used in the newsletter heading (auto-resolved from topic_id if omitted) | |
days_back | integer | Newsletter window in days (default: 7) | |
template_slug | string | Optional 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
follow_up_query
Combine previous context with new query results
| Parameter | Type | Req | Description |
|---|---|---|---|
query | string | Follow-up natural-language query | |
previous_context | array | Articles already in the conversation context (passed back so dedup works) | |
topic_id | integer | Optional topic scope | |
limit | integer | (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.
| Parameter | Type | Req | Description |
|---|---|---|---|
article_id | integer | Article 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
| Parameter | Type | Req | Description |
|---|---|---|---|
topic_id | integer | Topic id; optional if the key covers one topic | |
limit | integer | (default: 30) | |
days | integer | (default: 7) | |
sampling_pipeline | string · enum | Optional 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
| Parameter | Type | Req | Description |
|---|---|---|---|
keywords | string | Keyword or phrase | |
topic_id | integer | Optional topic scope | |
limit | integer | (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
| Parameter | Type | Req | Description |
|---|---|---|---|
query | string | Natural-language query | |
topic_id | integer | Optional topic scope | |
limit | integer | (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.
| Parameter | Type | Req | Description |
|---|---|---|---|
job_id | integer | Job 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.
| Parameter | Type | Req | Description |
|---|---|---|---|
article_id | integer | Article id from Aunoo (preferred) | |
url | string | External URL — used when article_id is unknown | |
force | boolean | Skip 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'.
| Parameter | Type | Req | Description |
|---|---|---|---|
article_id | integer | Article id from Aunoo (preferred) | |
url | string | External URL — used when article_id is unknown | |
force | boolean | Skip 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).
| Argument | Req | Description |
|---|---|---|
query | ✓ | The user's question to research. |
topic_id | Topic 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.
| Argument | Req | Description |
|---|---|---|
topic_id | Topic id from the key's allowed scope. | |
days | Time 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.
| Argument | Req | Description |
|---|---|---|
topic_id | Topic 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.
| Argument | Req | Description |
|---|---|---|
topic_id | Topic 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.
| Argument | Req | Description |
|---|---|---|
topic_id | Topic 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.
| Argument | Req | Description |
|---|---|---|
topic_id | Topic id from the key's allowed scope. | |
style | Voice preset: atlantic | brief | weird (default atlantic). | |
audience | Audience 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.
| Argument | Req | Description |
|---|---|---|
persona | One of: escalation_monitor, zero_day_tracker, ai_regulation_watch, market_disruption_alert, quantum_breakthrough_detector. Defaults to ai_regulation_watch. | |
topic_id | Topic 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.
| Argument | Req | Description |
|---|---|---|
topic_id | Topic id from the key's allowed scope. Defaults to the first allowed. | |
days | Lookback 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.
| Argument | Req | Description |
|---|---|---|
subject | ✓ | The claim, article, or URL to investigate and fact-check. |
topic_id | Topic id from the key's allowed scope. Defaults to the first allowed. | |
depth | quick | 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.
| Argument | Req | Description |
|---|---|---|
subject | ✓ | The article URL to trace across the covered social platforms. |
depth | standard | 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": "…"}}}'