Thanks to visit codestin.com
Credit goes to github.com

Skip to content

fix: bound MCP tool observation windows - #56

Merged
nilsavenholt merged 1 commit into
custom/v2.35.3from
fix/mcp-observation-window
Sep 11, 2026
Merged

fix: bound MCP tool observation windows#56
nilsavenholt merged 1 commit into
custom/v2.35.3from
fix/mcp-observation-window

Conversation

@nilsavenholt

Copy link
Copy Markdown
Member

Summary

  • bound assistant-visible MCP observation to a shared 60-second budget across workspace readiness, process start acknowledgement, and process observation
  • keep Agent-tracked processes independent of MCP request lifetime and return recoverable process state instead of approaching the external ~300s deadline
  • make build/template provisioner logs cursor-based with bounded waits, job status, completion, and pagination state
  • add a 75-second Remote MCP safety watchdog as a last-resort guard for any handler that misses the 60-second contract
  • document the behavior directly in MCP tool descriptions/schemas and cover the published tools/list contract in E2E tests

Validation

  • focused codersdk/toolsdk timeout/process/log tests: pass
  • coderd/mcp alias/schema compile tests: pass
  • go test ./agent/agentproc -count=1: pass
  • go vet ./codersdk/toolsdk ./coderd/mcp: pass
  • coder-slim_linux_amd64 build: pass
  • git diff --check: pass
  • full MCP/toolsdk integration and golden generators are locally blocked by missing /var/run/docker.sock
  • full golangci-lint was killed with exit 137 by workspace resource pressure; CI should run it with normal runner resources

Behavior contract

The 60-second limit is an MCP observation budget, not a process execution timeout. Durable processes and provisioner jobs continue independently. Assistants are instructed in the MCP schema to recover with process_output/process_list or cursor-based log reads rather than re-running work.

@nilsavenholt
nilsavenholt force-pushed the fix/mcp-observation-window branch from e703bc5 to bf89960 Compare September 11, 2026 13:41
@nilsavenholt
nilsavenholt merged commit c0848fb into custom/v2.35.3 Sep 11, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants