Featured

Deploy OpenClaw in 60 seconds β€” 20% off logoDeploy OpenClaw in 60 seconds β€” 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger β†’
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger β†’
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free β†’
6,000+ web scrapers for your AI agent, start free logo6,000+ web scrapers for your AI agent, start free

Apify gives your agent live web data: 6,000+ prebuilt scrapers and actors, MCP-ready. Sign up free with $5 in usage credits.

Try Apify free β†’
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data β€” no proxies, no parsers, no maintenance.

Start building free β†’
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it β€” secured from day one.

Get it set up for you β†’
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free β†’
Reach 48,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here β†’

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

AletaIndex Narrative Intelligence MCP server](https://glama.ai/mcp/servers/AletaIndex/aletaindex-fin-narratives/badges/score.svg)](https://glama.ai/mcp/servers/AletaIndex/aletaindex-fin-narratives) 🐍 ☁️ 🍎πŸͺŸπŸ§ - Financial narrative intelligence for AI agents.

README.md

AletaIndex Narrative Intelligence API

![PyPI](https://pypi.org/project/narrative-intelligence-mcp/) ![Python](https://pypi.org/project/narrative-intelligence-mcp/) ![License: MIT](LICENSE) ![Smithery](https://smithery.ai/server/jamie-vw4h/aletaindex) ![Glama](https://glama.ai/mcp/servers/AletaIndex/aletaindex-fin-narratives)

Give your AI agent a financial narrative brain.

AletaIndex tracks how financial stories evolve across thousands of news sources in real time β€” clustering articles into structured narratives, measuring sentiment momentum, and mapping narrative risk across portfolios. Available for 109 tickers across all major sectors.

Instead of raw news feeds or simple sentiment scores, your agent gets narrative-level intelligence: what the market is talking about, how strongly, and whether it's shifting.

!Dominant Narrative Evolution β€” TSLA 180-day view showing 5 persistent narrative threads, article volume, and daily return overlay

---

What Your Agent Can Do

πŸ’‘ For best results, paste this at the start of your conversation:

You have access to the Aleta Index MCP, which provides narrative intelligence
derived from institutional news sources.

When analyzing stocks, prioritize the narrative layer: global narratives,
daily topics, sentiment scores, mention counts, sentiment trends, and
behavioral patterns. The narrative layer aggregates signal across hundreds
of sources and contains sufficient information for analysis β€” avoid reading
individual article bodies unless specifically necessary.
You: "What narratives are driving NVDA right now? Any sentiment shifts?"

Agent: NVDA is currently dominated by two narratives:
  1. "AI Infrastructure Supercycle" β€” 47 articles, sentiment +0.68, trending up
  2. "Export Control Headwinds" β€” 23 articles, sentiment -0.41, stable

  Sentiment on "Export Control Headwinds" has improved +0.12 over the past week,
  suggesting the market is pricing in less risk from the latest policy signals.

No prompt engineering required. The agent knows how to query the data automatically.

---

Three Ways to Integrate

Option A β€” MCP Server via PyPI (Local install, recommended)

One-line config via uvx. Works with Claude Code, Claude Desktop, Cursor, Windsurf, and any MCP-compatible agent. β†’ MCP Quickstart

Option B β€” MCP Directories (Zero install)

One click on Smithery or Glama. Works with Claude, Cursor, Windsurf, and any MCP-compatible agent β€” no local setup required. β†’ Add on Smithery Β· Add on Glama

Option C β€” REST API

Direct HTTP calls. Works with any language or framework. β†’ API Reference

---

Pricing

| Tier | Tickers | History | Credits | Price | |------|---------|---------|---------|-------| | Free Trial | 10 tickers | 90 days | 500 (one-time) | Free, 7 days | | Plus | All 109 tickers | 180 days | 2,500/month | $99/mo | | Scale | All 109 tickers | Full history | Custom | Custom β€” contact us |

Free tickers: TSLA NVDA AAPL MSFT AMZN GOOGL META AMD NFLX JPM

β†’ Get your API key

---

Quick Example

import requests
from datetime import date, timedelta

API_KEY  = "nk_your_key_here"
BASE_URL = "https://aletaindex-narrative.com"

to_date   = date.today()
from_date = to_date - timedelta(days=6)  # 7-day window (inclusive)

resp = requests.get(
    f"{BASE_URL}/v1/narratives/comprehensive",
    headers={"X-API-Key": API_KEY},
    params={
        "tickers":   "NVDA",
        "from_date": from_date.isoformat(),
        "to_date":   to_date.isoformat(),
    },
)

data = resp.json()
for narrative in data["results"][0]["global_narratives"]:
    sentiment = narrative["sentiment"]
    print(narrative["title"], "-", sentiment["sentiment_label"], f"({sentiment['avg_sentiment']:.2f})")

Example response (truncated):

{
  "results": [
    {
      "ticker": "NVDA",
      "global_narratives": [
        {
          "narrative_id": 142,
          "title": "AI Infrastructure Supercycle",
          "dominance_score": 0.847,
          "is_active": true,
          "daily_topics": [
            {
              "event_date": "2026-05-10",
              "article_count": 14,
              "sentiment": {
                "avg_sentiment": 0.71,
                "sentiment_label": "Positive",
                "trajectory": "Escalating"
              }
            }
          ]
        },
        {
          "narrative_id": 89,
          "title": "Export Control Headwinds",
          "dominance_score": 0.312,
          "is_active": true,
          "daily_topics": [
            {
              "event_date": "2026-05-10",
              "article_count": 6,
              "sentiment": {
                "avg_sentiment": -0.38,
                "sentiment_label": "Negative",
                "trajectory": "Stable"
              }
            }
          ]
        }
      ]
    }
  ]
}

---

Documentation

See related servers & alternatives β†’

Related MCP servers

Browse all β†’

Related guides

Hand-picked reading to help you choose and use AI & ML servers.