Market data tools for
CrewAI agents.

TickerDB provides pre-computed financial context via MCP tools. CrewAI's MCP integration lets your crew access market data tools directly — give your analyst agent real market awareness.

Connect in a few lines.

CrewAI supports MCP tool servers via MCPServerHTTP. Point it at TickerDB's remote MCP server and attach it to your crew.

python
# Connect CrewAI to TickerDB's MCP server
from crewai import Agent, Crew
from crewai.mcp import MCPServerHTTP

analyst = Agent(
    role="Market Analyst",
    goal="Analyze market conditions",
)

crew = Crew(
    agents=[analyst],
    tasks=[],
    mcps=[MCPServerHTTP(
        url="https://mcp.tickerdb.com/mcp",
        headers={"Authorization": "Bearer tdb_your_api_key"},
        streamable=True,
    )],
)

Give your crew market expertise.

Assign TickerDB tools to specialized crew members. Your analyst monitors the watchlist, your researcher gets detailed summaries, your strategist checks historical events.

python
# Build a crew with market data tools
from crewai import Agent, Task, Crew
from crewai.mcp import MCPServerHTTP

analyst = Agent(
    role="Market Analyst",
    goal="Monitor watchlists and flag state changes",
)

researcher = Agent(
    role="Research Analyst",
    goal="Get detailed summaries on flagged tickers",
)

scan_task = Task(
    description="Check the watchlist for any notable state changes",
    agent=analyst,
)

research_task = Task(
    description="Analyze the top 3 results in detail",
    agent=researcher,
)

crew = Crew(
    agents=[analyst, researcher],
    tasks=[scan_task, research_task],
    mcps=[MCPServerHTTP(
        url="https://mcp.tickerdb.com/mcp",
        headers={"Authorization": "Bearer tdb_your_api_key"},
        streamable=True,
    )],
)
result = crew.kickoff()

Track state changes effortlessly.

Most market data APIs return point-in-time snapshots. TickerDB tracks state transitions — your agent sees what changed, not just what is.

python
# Task a crew member with detecting state changes
monitor_task = Task(
    description="Check my watchlist for state changes and summarize what moved",
    agent=analyst,
)
json
{
  "timeframe": "daily",
  "run_date": "2026-03-28",
  "changes": {
    "AAPL": [
      {
        "field": "rsi_zone",
        "from": "neutral",
        "to": "oversold"
      },
      {
        "field": "trend_direction",
        "from": "uptrend",
        "to": "downtrend"
      }
    ]
  },
  "ticker_context": {
    "AAPL": {
      "last_changed_date": "2026-03-28"
    }
  },
  "tickers_checked": 2,
  "tickers_changed": 1
}

What your agent sees.

Every tool returns categorical facts — not raw OHLCV data. Your agent can branch on "oversold" without needing to know what RSI > 70 means.

json
{
  "ticker": "NVDA",
  "data_status": "eod",
  "as_of_date": "2026-04-11",
  "trend": {
    "direction": "strong_uptrend",
    "ma_alignment": "aligned_bullish"
  },
  "momentum": {
    "rsi_zone": "overbought",
    "macd_state": "expanding_positive",
    "direction": "accelerating"
  },
  "volatility": {
    "regime": "normal",
    "regime_trend": "stable"
  },
  "fundamentals": {
    "valuation_zone": "fair_value",
    "pe_vs_historical_zone": "premium",
    "last_earnings_surprise": "beat"
  }
}

What your agent can call.

Every tool returns pre-computed market-state data: categorical facts plus supporting metadata your agent can reason about immediately.

get_summary

Full market-state snapshot for a single asset: trend, momentum, volatility, volume, extremes, fundamentals, and support/resistance.

get_search

Multi-field filtering across all assets. Build complex queries with arbitrary filter combinations.

get_schema

All queryable fields with types, values, and descriptions. Always free.

get_watchlist

Latest EOD summary data for all tickers in your saved watchlist.

get_watchlist_changes

Field-level diffs for your watchlist since the last pipeline run.

create_webhook

Register a webhook URL for watchlist change notifications.

list_webhooks

List your registered webhook URLs.

delete_webhook

Remove a registered webhook.

Data your crew actually understands.

Categorical, not numerical

TickerDB returns "rsi_zone": "oversold" instead of raw RSI values. Your crew reasons on categories it already understands — no prompt engineering required.

One tool per question

Each tool answers a specific question your agent might ask. "What's oversold?" is one tool call, not a chain of raw data fetches and computations.

Tiny context footprint

A TickerDB response uses a fraction of the tokens you'd need to pass raw OHLCV data. Your crew keeps more context for reasoning, less spent on input.

Start building.

Try for free. No credit card required.