feat: add built-in NimbleSearchTool for real-time web search#4466
feat: add built-in NimbleSearchTool for real-time web search#4466ilchemla wants to merge 1 commit intocrewAIInc:mainfrom
Conversation
Co-Authored-By: Claude <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
This PR is being reviewed by Cursor Bugbot
Details
Your team is on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle for each member of your team.
To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.
| ): | ||
| item["content"] = ( | ||
| item["content"][: self.max_content_length_per_result] + "..." | ||
| ) |
There was a problem hiding this comment.
Truncation exceeds configured content limit
Low Severity
_truncate_content slices content to max_content_length_per_result and then appends "...", so returned content can exceed the configured maximum. This breaks the stated contract of max_content_length_per_result and can cause downstream prompt-size budgeting to be slightly inaccurate.


Summary
Add NimbleSearchTool to crewai-tools, providing AI agents with real-time web search capabilities powered by the Nimble Search API.
Key Features
Implementation Details
NimbleSearchToolwith sync/async supportFiles Changed
lib/crewai-tools/src/crewai_tools/tools/nimble_search_tool/- Tool implementationlib/crewai-tools/tests/tools/nimble_search_tool_test.py- Test suiteTesting
All 9 unit tests passing:
✅ Ready for review
Note
Medium Risk
Introduces a new third-party API integration and dependency extra, including interactive install prompting and outbound HTTP calls; existing tools are largely untouched beyond export surface and dependency metadata.
Overview
Adds a built-in
NimbleSearchToolthat performs real-time web search via the Nimble Search API, supporting both sync (_run) and async (_arun) execution with runtime overrides (result count, deep vs fast mode, answer inclusion, time/domain filters) and init-time settings (parsing format, locale/country), plus content truncation to limit token usage.Wires the tool into the public exports (
crewai_tools.__init__andcrewai_tools.tools.__init__), adds a new optional dependency extranimble-python(and updatesuv.lock), and includes new documentation and unit tests covering initialization, filters, truncation, and missing-client/package error paths.Written by Cursor Bugbot for commit ff6ea47. This will update automatically on new commits. Configure here.