Connect an AI agent (MCP)
TRAI runs a read-only Model Context Protocol server so AI agents can query and monitor its data — the same stored data the dashboard shows, with an as-of timestamp on every result. Public-source screening research, not investment advice. There are no write tools.
Endpoint
https://rva.guru/trai/api/mcp
- Transport: Streamable HTTP (stateless; JSON-RPC over POST). Works with 2025-era and 2026-07-28 MCP clients. No legacy SSE endpoint.
- Auth: none by default (data is already public). Limit: 120 requests/hour per IP; tool results are capped at 60,000 characters.
- Resources:
trai://status,trai://latest,trai://regime,trai://scorecard,trai://strategy,trai://reports/latest,trai://zeitgeist.
Client config
Cursor, Claude Code, VS Code and other clients with remote (HTTP) MCP support:
{
"mcpServers": {
"trai": { "url": "https://rva.guru/trai/api/mcp" }
}
}Claude Code CLI: claude mcp add --transport http trai https://rva.guru/trai/api/mcp
Claude Desktop and other stdio-only clients (via mcp-remote):
{
"mcpServers": {
"trai": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://rva.guru/trai/api/mcp"]
}
}
}Inspect it in a browser UI: npx @modelcontextprotocol/inspector, then choose transport “Streamable HTTP” and enter the URL above.
Tools
get_status | Freshness/health of the latest run and every dataset, latest Daily Overview, knowledge-base counts, deployed commit |
get_changes_since | New runs, names entering/leaving buckets, regime switches, regenerated datasets, new reports/notes/proposals since a time |
get_latest_run | Latest engine run: regime snapshot, ranked buckets with ranking rule, risk rules |
lookup_ticker | Everything TRAI stores about one symbol |
get_run_history | Stored runs, or one historical run |
get_scorecard | Walk-forward and live scorecard |
get_regime | Regime model score, labels, history (same as /api/regime) |
get_earnings | Upcoming earnings and earnings-reaction statistics |
get_correlations | Correlation clusters and pairs |
get_macro | Rates and sector rotation |
get_options_vol | Options-implied vol, VRP, implied earnings moves |
get_intraday_patterns | Intraday profile and opening-range stats |
get_daily_overview | Daily Overview recap |
get_zeitgeist | Zeitgeist overview, rap lyrics + plain-English translation |
get_methods_glossary | Methods, formulas and glossary |
search_knowledge | Search research reports and company/sector notes |
list_research_reports | Hourly research reports |
get_research_report | Read one report (paged) |
get_strategy_proposals | Strategy proposals from strategy.md |
ask_trai | Natural-language question to Ask TRAI (shares the 20/hour Ask limit) |
Monitoring pattern: call get_status, then periodically get_changes_since with the time of your previous check. Runs are pre-market (~8:45 ET) and post-close (~4:20 ET) on weekdays; research reports land hourly. See Methods for how every number is computed.