AletaIndex Narrative Intelligence
OfficialThe AletaIndex Narrative Intelligence server provides financial narrative analysis and risk assessment for stocks, with two core capabilities:
Get Narrative Intelligence for Stocks (
get_narratives): Retrieve structured narrative data for up to 10 tickers per request, including persistent story threads ("global narratives") with titles, dominance scores, and sentiment; daily article clusters showing how narratives evolve; individual articles with relevance scores; and sentiment trajectories (e.g., Escalating, Stable, Declining) over custom date ranges (default: last 7 days).Analyze Portfolio Narrative Risk (
get_portfolio_risk): Assess narrative risk across up to 50 holdings by grouping narratives into macro themes (e.g., "AI Regulation", "Interest Rate Sensitivity"). Identifies concentrated narrative exposure across multiple positions, provides weighted exposure scores per theme based on portfolio allocation, and returns an overall portfolio narrative concentration score.
Coverage: Free tier includes 10 tickers (TSLA, NVDA, AAPL, MSFT, AMZN, GOOGL, META, AMD, NFLX, JPM); paid plans cover 109 tickers. Accessible via MCP integration or direct REST API.
AletaIndex Narrative Intelligence API
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.

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.
Related MCP server: SentimentAlpha
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
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
API Reference — endpoints, parameters, response schemas
Data Model — narrative hierarchy explained
MCP Quickstart — agent integration in 2 minutes
Direct API Guide — REST integration guide
Example Prompts — prompt templates for trading agents
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AletaIndex/aletaindex-fin-narratives'
If you have feedback or need assistance with the MCP directory API, please join our Discord server