CrewAI

OutdatedAudit Done
View Session

Health

Outdated

Benchmark

14/100

SDK Version

>=1.8.7 (pyproject); 1.14.20 (uv.lock)

Latest: 2.12.1

Audit Status

Audit Done

Started May 11, 2026

Approval

Not requested

Latest Audit Result

CrewAI's EXASearchTool (in deprecated crewAI-tools repo) is a minimal search-only wrapper around exa-py. It supports the /search endpoint with type 'auto' (configurable) and basic content retrieval via the deprecated search_and_contents() helper. The SDK version in the lockfile (1.14.20) is significantly behind PyPI latest (2.12.1). The tool only passes through 4 of ~18 available search parameters (type, start_published_date, end_published_date, include_domains). It does NOT use any deprecated/sunset Exa API features (no startCrawlDate/endCrawlDate, no /research, no resolvedSearchType, no highlightScores). However it calls search_and_contents() which is deprecated in exa-py >=2.x. The repo itself is deprecated in favor of crewAI/lib/crewai-tools. Declared capabilities (search endpoint, auto type, text content) are confirmed implemented.

Health: outdated
Current SDK: >=1.8.7 (pyproject); 1.14.20 (uv.lock)
Latest SDK: 2.12.1

Missing Features (3)

  • exa-py SDK version is behind: pyproject allows >=1.8.7, uv.lock resolves 1.14.20, latest is 2.12.1 — a major version behind
  • DEPRECATED: When content=True, calls exa-py search_and_contents() which is deprecated in exa-py 2.x; should migrate to search(..., contents={...})
  • Repository itself is deprecated — README warns users to use https://github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools instead

Marked outdated since May 11, 2026

Missing Features (10)

  • exa-py SDK version is behind: pyproject allows >=1.8.7, uv.lock resolves 1.14.20, latest is 2.12.1 — a major version behind
  • DEPRECATED: When content=True, calls exa-py search_and_contents() which is deprecated in exa-py 2.x; should migrate to search(..., contents={...})
  • Repository itself is deprecated — README warns users to use https://github.com/crewAIInc/crewAI/tree/main/lib/crewai-tools instead
  • Migrate content path from deprecated search_and_contents(query, summary=...) to search(query, contents={...}) using the modern contents dict shape
  • Expose num_results parameter — currently hardcoded to SDK default with no user override
  • Expose exclude_domains parameter — include_domains is supported but exclude_domains is not
  • Expose include_text/exclude_text filtering parameters
  • Expose category parameter for specialized indexes (company, people, research paper, news, etc.)
  • Expose highlights content option — only text and summary are currently available, not highlights
  • Expose user_location (geolocation) parameter for region-biased results