modelcontextprotocol / modelcontextprotocol/typescript-sdk

[v2] _resetTimeout never updates startTime, so totalElapsed keeps accumulating from the original

Open
#2,816 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

v2
Dominant language
TypeScript
Stars
13.4k
Forks
2.2k
Avg merge
3d 15h
Merged PRs (30d)
4

Description

What happened?

The timer isn't reset when a progress notification arrives, so a long-running tool call will timeout even though progress notifications are being sent.

The inspector SDK migration guide suggests that the behavior of MCP_REQUEST_TIMEOUT_RESET_ON_PROGRESS is "always on; no longer configurable", but this bug makes that untrue.

What did you expect?

Each progress notification should cause the MCP tool call request timeout to reset.

Code to reproduce

See originally reported issue here

SDK version

2.0.0

Area

Client

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the v2 client’s _resetTimeout entry point and trace how progress notifications reach the MCP tool call timeout. Compare the behavior with the migration guide’s MCP_REQUEST_TIMEOUT_RESET_ON_PROGRESS description. Done means each progress notification resets the timeout so a long-running call with ongoing progress does not time out.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.