feat: add progress notifications for all tools via MCP progressToken#136
feat: add progress notifications for all tools via MCP progressToken#136saiprasaad2002 wants to merge 2 commits into
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
| }; | ||
|
|
||
| case "tavily_research": | ||
| await this.reportProgress(progressToken, "Enabling Deep Research through Internet for detailed information"); |
There was a problem hiding this comment.
Missing progress notification for tavily_map tool
Medium Severity
The tavily_map case is the only tool without a reportProgress call. All four other tools (tavily_search, tavily_extract, tavily_crawl, tavily_research) have progress reporting wired in, and the PR description explicitly states progress was added to "all five tools." This means tavily_map users won't receive any progress notification despite a progressToken being available.
| break; | ||
|
|
||
| case "tavily_crawl": | ||
| await this.reportProgress(progressToken, `Crawling the url: ${args.url} for relevant informatioin`); |
There was a problem hiding this comment.
|
You have used all of your free Bugbot PR reviews. To receive reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial. |
|
#135 Linking this PR with the issue raised |


Summary
Adds real-time progress notifications for all tools using the MCP
notifications/progressprotocol, allowing clients to display livestatus updates during tool execution.
Changes
reportProgress()helper that sendsnotifications/progressnotifications when a
progressTokenis present inrequest.params._metatavily_search,tavily_extract,tavily_crawl,tavily_map, andtavily_researchprogressTokenis provided, so clients thatdon't send one are unaffected
Motivation
Clients like Claude Desktop and other MCP-compatible hosts support
progress callbacks but had no visibility into tool execution status.
This is especially impactful for
tavily_research, which can run forup to 15 minutes. Users now see live poll updates instead of a silent
wait.
Equivalent to
Python FastMCP's
context.report_progress()— same concept, nowavailable for the JS server.
Note
Low Risk
Low risk: adds optional MCP
notifications/progressemissions gated on_meta.progressToken, without changing Tavily API request/response handling. Main risk is minor client-side noise or incompatibility if hosts mishandle progress notifications.Overview
Adds a
reportProgress(progressToken, message)helper that sends MCPnotifications/progressand no-ops when no token is provided.Updates
CallToolRequestSchemahandling to readrequest.params._meta?.progressTokenand emit pre-execution status messages fortavily_search,tavily_extract,tavily_crawl, andtavily_research.Written by Cursor Bugbot for commit d35a735. This will update automatically on new commits. Configure here.