Crawler Summary

Multi-agent-stock-analysis answer-first brief

Multi-agent stock research system using CrewAI, FastAPI, React and MCP (Model Context Protocol) Stock Research Agent AI-powered multi-agent stock research system using **CrewAI** framework Features - **Multi-Agent System**: 6 specialized AI agents running in parallel - **Natural Language Queries**: ask in plain English like "How is Apple doing?" and the system will understand which company you mean - **Structured Outputs**: Type-safe Pydantic models for all agent responses - **Real-time Data**: fetch stock pric Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.

Freshness

Last checked 4/15/2026

Best For

Multi-agent-stock-analysis is best for crewai, multi-agent workflows where OpenClaw compatibility matters.

Not Ideal For

Contract metadata is missing or unavailable for deterministic execution.

Evidence Sources Checked

editorial-content, GITHUB REPOS, runtime-metrics, public facts pack

Claim this agent
Agent DossierGITHUB REPOSSafety: 66/100

Multi-agent-stock-analysis

Multi-agent stock research system using CrewAI, FastAPI, React and MCP (Model Context Protocol) Stock Research Agent AI-powered multi-agent stock research system using **CrewAI** framework Features - **Multi-Agent System**: 6 specialized AI agents running in parallel - **Natural Language Queries**: ask in plain English like "How is Apple doing?" and the system will understand which company you mean - **Structured Outputs**: Type-safe Pydantic models for all agent responses - **Real-time Data**: fetch stock pric

OpenClawself-declared

Public facts

4

Change events

1

Artifacts

0

Freshness

Apr 15, 2026

Verifiededitorial-contentNo verified compatibility signals

Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.

Trust evidence available

Trust score

Unknown

Compatibility

OpenClaw

Freshness

Apr 15, 2026

Vendor

Lechihoang

Artifacts

0

Benchmarks

0

Last release

Unpublished

Executive Summary

Key links, install path, and a quick operational read before the deeper crawl record.

Verifiededitorial-content

Summary

Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.

Setup snapshot

  1. 1

    Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.

  2. 2

    Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Evidence Ledger

Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.

Verifiededitorial-content
Vendor (1)

Vendor

Lechihoang

profilemedium
Observed Apr 15, 2026Source linkProvenance
Compatibility (1)

Protocol compatibility

OpenClaw

contractmedium
Observed Apr 15, 2026Source linkProvenance
Security (1)

Handshake status

UNKNOWN

trustmedium
Observed unknownSource linkProvenance
Integration (1)

Crawlable docs

6 indexed pages on the official domain

search_documentmedium
Observed Apr 15, 2026Source linkProvenance

Release & Crawl Timeline

Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.

Self-declaredagent-index

Artifacts Archive

Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.

Self-declaredGITHUB REPOS

Extracted files

0

Examples

6

Snippets

0

Languages

python

Executable Examples

mermaid

flowchart TB
    User["User Query<br/>Apple?"]
    
    Query["LLM extracts company name from query<br/>Yahoo Finance looks up ticker symbol<br/>AAPL"]
    
    subgraph Agents["6 Parallel Agents"]
        Price["Price: compute current price, daily volume, market cap<br/>use yfinance (stock data API)"]
        Financial["Financial: compute P/E ratio, EPS, revenue, dividends<br/>use yfinance"]
        News["News: search latest news, company developments<br/>use Tavily (news search API)"]
        Market["Market: compute market trends, technical indicators (RSI, MACD)<br/>use yfinance + Tavily"]
        Sentiment["Sentiment: gauge investor mood from social media & news<br/>use Tavily + social platforms"]
        Risk["Risk: compute volatility, Value at Risk (VaR), risk metrics<br/>use yfinance"]
    end
    
    Synthesis["Synthesis: gather all results from 6 agents<br/>compile into research report"]
    Result["Final Report"]
    
    User --> Query --> Price & Financial & News & Market & Sentiment & Risk
    Price & Financial & News & Market & Sentiment & Risk --> Synthesis --> Result

bash

cd stock-research-agent

uv sync

cp .env.example .env

bash

NVIDIA_API_KEY=nvapi-xxxxxxxxxxxxx
TAVILY_API_KEY=tvly-xxxxxxxxxxxxx

bash

uv run uvicorn backend.main:app --reload --port 8000

bash

cd frontend
npm install
npm run dev

bash

docker compose up --build

Docs & README

Full documentation captured from public sources, including the complete README when available.

Self-declaredGITHUB REPOS

Docs source

GITHUB REPOS

Editorial quality

ready

Multi-agent stock research system using CrewAI, FastAPI, React and MCP (Model Context Protocol) Stock Research Agent AI-powered multi-agent stock research system using **CrewAI** framework Features - **Multi-Agent System**: 6 specialized AI agents running in parallel - **Natural Language Queries**: ask in plain English like "How is Apple doing?" and the system will understand which company you mean - **Structured Outputs**: Type-safe Pydantic models for all agent responses - **Real-time Data**: fetch stock pric

Full README

Stock Research Agent

AI-powered multi-agent stock research system using CrewAI framework

Features

  • Multi-Agent System: 6 specialized AI agents running in parallel
  • Natural Language Queries: ask in plain English like "How is Apple doing?" and the system will understand which company you mean
  • Structured Outputs: Type-safe Pydantic models for all agent responses
  • Real-time Data: fetch stock prices, financial data from yfinance; search latest news from Tavily API; gather investor discussions from Reddit, Twitter, Stocktwits
  • Async Processing: Background task processing with job status tracking

Demo

Demo

Architecture

<div align="center">
flowchart TB
    User["User Query<br/>Apple?"]
    
    Query["LLM extracts company name from query<br/>Yahoo Finance looks up ticker symbol<br/>AAPL"]
    
    subgraph Agents["6 Parallel Agents"]
        Price["Price: compute current price, daily volume, market cap<br/>use yfinance (stock data API)"]
        Financial["Financial: compute P/E ratio, EPS, revenue, dividends<br/>use yfinance"]
        News["News: search latest news, company developments<br/>use Tavily (news search API)"]
        Market["Market: compute market trends, technical indicators (RSI, MACD)<br/>use yfinance + Tavily"]
        Sentiment["Sentiment: gauge investor mood from social media & news<br/>use Tavily + social platforms"]
        Risk["Risk: compute volatility, Value at Risk (VaR), risk metrics<br/>use yfinance"]
    end
    
    Synthesis["Synthesis: gather all results from 6 agents<br/>compile into research report"]
    Result["Final Report"]
    
    User --> Query --> Price & Financial & News & Market & Sentiment & Risk
    Price & Financial & News & Market & Sentiment & Risk --> Synthesis --> Result
</div>

Tech Stack

| Component | Technology | |-----------|------------| | Agent Framework | CrewAI 1.9.x | | LLM API | NVIDIA NIM (Llama 3.3 70B) | | Protocol | MCP (Model Context Protocol) | | Search API | Tavily | | Stock Data | yfinance | | Backend | FastAPI | | Frontend | React + TypeScript + Vite | | Deployment | Docker |

MCP (Model Context Protocol)

This project uses MCP to define tools that LLM agents can call:

  • stock_research: run full research on a stock (calls all 6 agents)
  • stock_get_price: fetch current stock price, volume, market cap
  • stock_get_financial_metrics: fetch P/E, EPS, revenue, dividends
  • stock_search_news: search latest news and company developments
  • stock_analyze_sentiment: gauge investor mood from news & social media
  • stock_analyze_risk: compute volatility, VaR, risk metrics
  • stock_get_price_history: fetch historical price data
  • stock_parse_query: extract company name and ticker from natural language
  • stock_extract_company: extract company name from query
  • stock_lookup_ticker: look up ticker symbol by company name

MCP standardizes how agents communicate with external APIs (yfinance, Tavily).

Quick Start

Prerequisites

  • Python 3.12+
  • uv (recommended) or pip
  • NVIDIA NIM API key
  • Tavily API key

Installation

cd stock-research-agent

uv sync

cp .env.example .env

Edit .env with your API keys:

NVIDIA_API_KEY=nvapi-xxxxxxxxxxxxx
TAVILY_API_KEY=tvly-xxxxxxxxxxxxx

Running

FastAPI Backend:

uv run uvicorn backend.main:app --reload --port 8000

Frontend:

cd frontend
npm install
npm run dev

Docker:

docker compose up --build

Usage

REST API

curl -X POST http://localhost:8000/api/research \
  -H "Content-Type: application/json" \
  -d '{"query": "How is Apple stock doing?"}'

Response (job creation):

{
  "job_id": "abc-123",
  "status": "pending",
  "message": "Research job queued"
}

Get result:

curl http://localhost:8000/api/research/abc-123

Python API

from backend.orchestrator.orchestrator import MCPOrchestrator

orchestrator = MCPOrchestrator()
result = orchestrator.execute_sync("How is Tesla doing?")

print(result.final_report)

Project Structure

stock-research-agent/
├── backend/
│   ├── main.py                    # FastAPI app entry point
│   ├── mcp_server.py              # MCP protocol server (optional)
│   ├── api/
│   │   └── routes.py              # REST API endpoints
│   ├── config/
│   │   └── settings.py             # Configuration management
│   ├── middleware/
│   │   └── rate_limiter.py        # Rate limiting
│   ├── orchestrator/
│   │   ├── orchestrator.py           # Multi-agent orchestration
│   │   └── query_analyzer.py         # NLP query parsing
│   ├── crew/
│   │   └── llm_config.py          # LLM configuration
│   ├── tools/
│   │   ├── stock_data.py          # yfinance integration
│   │   ├── tavily_search.py       # Tavily search
│   │   ├── sentiment_analysis.py  # Social sentiment
│   │   ├── risk_analysis.py       # Risk metrics
│   │   ├── entity_extraction.py   # Company name extraction
│   │   ├── ticker_lookup.py        # Ticker symbol lookup
│   │   └── utils.py               # Utilities
│   └── models/
│       ├── outputs.py              # Pydantic output models
│       └── schemas.py              # API request/response schemas
├── frontend/
│   ├── src/
│   │   ├── App.tsx
│   │   ├── components/
│   │   │   ├── ResearchForm.tsx
│   │   │   └── ResearchResult.tsx
│   │   └── index.css
│   ├── package.json
│   └── vite.config.ts
├── tests/
│   └── test_mcp.py
├── docs/
│   ├── API.md
│   ├── AGENTS.md
│   └── TOOLS.md
├── mcp.json
├── docker-compose.yml
├── pyproject.toml
└── README.md

API Endpoints

| Method | Endpoint | Description | |--------|----------|-------------| | POST | /api/research | Create research job | | GET | /api/research/{job_id} | Get job status/result |

Environment Variables

| Variable | Description | Default | |----------|-------------|---------| | NVIDIA_API_KEY | NVIDIA NIM API key | Required | | TAVILY_API_KEY | Tavily API key | Required | | NVIDIA_MODEL | LLM model name | meta/llama-3.3-70b-instruct | | MAX_REQUESTS_PER_MINUTE | Rate limit | 40 | | API_PORT | Server port | 8000 |

Testing

uv run pytest tests/test_mcp.py -v

Contract & API

Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.

MissingGITHUB REPOS

Contract coverage

Status

missing

Auth

None

Streaming

No

Data region

Unspecified

Protocol support

OpenClaw: self-declared

Requires: none

Forbidden: none

Guardrails

Operational confidence: low

No positive guardrails captured.
Invocation examples
curl -s "https://xpersona.co/api/v1/agents/crewai-lechihoang-multi-agent-stock-analysis/snapshot"
curl -s "https://xpersona.co/api/v1/agents/crewai-lechihoang-multi-agent-stock-analysis/contract"
curl -s "https://xpersona.co/api/v1/agents/crewai-lechihoang-multi-agent-stock-analysis/trust"

Reliability & Benchmarks

Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.

Missingruntime-metrics

Trust signals

Handshake

UNKNOWN

Confidence

unknown

Attempts 30d

unknown

Fallback rate

unknown

Runtime metrics

Observed P50

unknown

Observed P95

unknown

Rate limit

unknown

Estimated cost

unknown

Do not use if

Contract metadata is missing or unavailable for deterministic execution.
No benchmark suites or observed failure patterns are available.

Media & Demo

Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.

Missingno-media
No screenshots, media assets, or demo links are available.

Related Agents

Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.

Self-declaredprotocol-neighbors
GITHUB_REPOSactivepieces

Rank

70

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

Traction

No public download signal

Freshness

Updated 2d ago

OPENCLAW
GITHUB_REPOScherry-studio

Rank

70

AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs

Traction

No public download signal

Freshness

Updated 6d ago

MCPOPENCLAW
GITHUB_REPOSAionUi

Rank

70

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

Traction

No public download signal

Freshness

Updated 6d ago

MCPOPENCLAW
GITHUB_REPOSCopilotKit

Rank

70

The Frontend for Agents & Generative UI. React + Angular

Traction

No public download signal

Freshness

Updated 23d ago

OPENCLAW
Machine Appendix

Contract JSON

{
  "contractStatus": "missing",
  "authModes": [],
  "requires": [],
  "forbidden": [],
  "supportsMcp": false,
  "supportsA2a": false,
  "supportsStreaming": false,
  "inputSchemaRef": null,
  "outputSchemaRef": null,
  "dataRegion": null,
  "contractUpdatedAt": null,
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Invocation Guide

{
  "preferredApi": {
    "snapshotUrl": "https://xpersona.co/api/v1/agents/crewai-lechihoang-multi-agent-stock-analysis/snapshot",
    "contractUrl": "https://xpersona.co/api/v1/agents/crewai-lechihoang-multi-agent-stock-analysis/contract",
    "trustUrl": "https://xpersona.co/api/v1/agents/crewai-lechihoang-multi-agent-stock-analysis/trust"
  },
  "curlExamples": [
    "curl -s \"https://xpersona.co/api/v1/agents/crewai-lechihoang-multi-agent-stock-analysis/snapshot\"",
    "curl -s \"https://xpersona.co/api/v1/agents/crewai-lechihoang-multi-agent-stock-analysis/contract\"",
    "curl -s \"https://xpersona.co/api/v1/agents/crewai-lechihoang-multi-agent-stock-analysis/trust\""
  ],
  "jsonRequestTemplate": {
    "query": "summarize this repo",
    "constraints": {
      "maxLatencyMs": 2000,
      "protocolPreference": [
        "OPENCLEW"
      ]
    }
  },
  "jsonResponseTemplate": {
    "ok": true,
    "result": {
      "summary": "...",
      "confidence": 0.9
    },
    "meta": {
      "source": "GITHUB_REPOS",
      "generatedAt": "2026-04-17T04:08:03.702Z"
    }
  },
  "retryPolicy": {
    "maxAttempts": 3,
    "backoffMs": [
      500,
      1500,
      3500
    ],
    "retryableConditions": [
      "HTTP_429",
      "HTTP_503",
      "NETWORK_TIMEOUT"
    ]
  }
}

Trust JSON

{
  "status": "unavailable",
  "handshakeStatus": "UNKNOWN",
  "verificationFreshnessHours": null,
  "reputationScore": null,
  "p95LatencyMs": null,
  "successRate30d": null,
  "fallbackRate": null,
  "attempts30d": null,
  "trustUpdatedAt": null,
  "trustConfidence": "unknown",
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Capability Matrix

{
  "rows": [
    {
      "key": "OPENCLEW",
      "type": "protocol",
      "support": "unknown",
      "confidenceSource": "profile",
      "notes": "Listed on profile"
    },
    {
      "key": "crewai",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    },
    {
      "key": "multi-agent",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    }
  ],
  "flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"
}

Facts JSON

[
  {
    "factKey": "vendor",
    "category": "vendor",
    "label": "Vendor",
    "value": "Lechihoang",
    "href": "https://github.com/lechihoang/Multi-agent-stock-analysis",
    "sourceUrl": "https://github.com/lechihoang/Multi-agent-stock-analysis",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-04-15T06:04:38.476Z",
    "isPublic": true
  },
  {
    "factKey": "protocols",
    "category": "compatibility",
    "label": "Protocol compatibility",
    "value": "OpenClaw",
    "href": "https://xpersona.co/api/v1/agents/crewai-lechihoang-multi-agent-stock-analysis/contract",
    "sourceUrl": "https://xpersona.co/api/v1/agents/crewai-lechihoang-multi-agent-stock-analysis/contract",
    "sourceType": "contract",
    "confidence": "medium",
    "observedAt": "2026-04-15T06:04:38.476Z",
    "isPublic": true
  },
  {
    "factKey": "docs_crawl",
    "category": "integration",
    "label": "Crawlable docs",
    "value": "6 indexed pages on the official domain",
    "href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceType": "search_document",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:03:46.393Z",
    "isPublic": true
  },
  {
    "factKey": "handshake_status",
    "category": "security",
    "label": "Handshake status",
    "value": "UNKNOWN",
    "href": "https://xpersona.co/api/v1/agents/crewai-lechihoang-multi-agent-stock-analysis/trust",
    "sourceUrl": "https://xpersona.co/api/v1/agents/crewai-lechihoang-multi-agent-stock-analysis/trust",
    "sourceType": "trust",
    "confidence": "medium",
    "observedAt": null,
    "isPublic": true
  }
]

Change Events JSON

[
  {
    "eventType": "docs_update",
    "title": "Docs refreshed: Sign in to GitHub · GitHub",
    "description": "Fresh crawlable documentation was indexed for the official domain.",
    "href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
    "sourceType": "search_document",
    "confidence": "medium",
    "observedAt": "2026-04-15T05:03:46.393Z",
    "isPublic": true
  }
]

Sponsored

Ads related to Multi-agent-stock-analysis and adjacent AI workflows.