Skip to content

MCP continuously crashes with timeout errors when executing long running Tinker commands #129

@mathiaswillburger

Description

@mathiaswillburger

Laravel Package Version

1.0.17

Laravel Version

12.24.0

PHP Version

8.4

System Info

Windows 11, VSCode

Description

Issue Description

The MCP server repeatedly crashes when executing Tinker commands, requiring manual restarts. The server consistently hits the 30-second PHP execution timeout limit and terminates with exit code 255.

The tinker command Sonnet is trying to execute is including various things like clearing the cache, creating a job, using a service to upload data, etc. So it takes some time to complete.

Expected Behavior

The MCP server should handle Tinker commands without timing out and maintain a stable connection for extended development sessions.

Suggested Solutions

I probably could update the PHP execution time locally, but I feel that this is something the user shouldnt worry about and could be done by boost. --> Increase PHP execution timeout: Configure max_execution_time or use set_time_limit(0) for the MCP server process

Steps To Reproduce

Actual Behavior

  • Server starts successfully and discovers the tools
  • After approximately 30 seconds of operation, the server crashes with a fatal PHP timeout error
  • The process exits with code 255
  • Manual restart is required to restore functionality
  • This pattern repeats consistently

Log Sample

2025-08-14 20:08:12.925 [info] Connection state: Running
2025-08-14 20:08:13.455 [info] Discovered 16 tools
2025-08-14 20:12:27.238 [warning] [server stderr] PHP Fatal error:  Maximum execution time of 30 seconds exceeded in C:\xxxxxxx\vendor\laravel\mcp\src\Server\Transport\StdioTransport.php on line 57
2025-08-14 20:12:27.246 [warning] Failed to parse message: "\r\n"
2025-08-14 20:12:27.246 [warning] Failed to parse message: "   Symfony\\Component\\ErrorHandler\\Error\\FatalError \r\n"
2025-08-14 20:12:27.247 [warning] Failed to parse message: "\r\n"
2025-08-14 20:12:27.247 [warning] Failed to parse message: "  Maximum execution time of 30 seconds exceeded\r\n"
2025-08-14 20:12:27.247 [warning] Failed to parse message: "\r\n"
2025-08-14 20:12:27.247 [warning] Failed to parse message: "  at C:\\xxxxxxx\\vendor\\laravel\\mcp\\src\\Server\\Transport\\StdioTransport.php:57\r\n"
2025-08-14 20:12:27.247 [warning] Failed to parse message: "     53▕     {\r\n"
2025-08-14 20:12:27.248 [warning] Failed to parse message: "     54▕         stream_set_blocking(STDIN, false);\r\n"
2025-08-14 20:12:27.248 [warning] Failed to parse message: "     55▕ \r\n"
2025-08-14 20:12:27.248 [warning] Failed to parse message: "     56▕         while (! feof(STDIN)) {\r\n"
2025-08-14 20:12:27.248 [warning] Failed to parse message: "  ➜  57▕             if (($line = fgets(STDIN)) === false) {\r\n"
2025-08-14 20:12:27.248 [warning] Failed to parse message: "     58▕                 usleep(10000);\r\n"
2025-08-14 20:12:27.249 [warning] Failed to parse message: "     59▕ \r\n"
2025-08-14 20:12:27.249 [warning] Failed to parse message: "     60▕                 continue;\r\n"
2025-08-14 20:12:27.249 [warning] Failed to parse message: "     61▕             }\r\n"
2025-08-14 20:12:27.249 [warning] Failed to parse message: "\r\n"
2025-08-14 20:12:27.250 [warning] Failed to parse message: "\r\n"
2025-08-14 20:12:27.250 [warning] Failed to parse message: "   Whoops\\Exception\\ErrorException \r\n"
2025-08-14 20:12:27.250 [warning] Failed to parse message: "\r\n"
2025-08-14 20:12:27.250 [warning] Failed to parse message: "  Maximum execution time of 30 seconds exceeded\r\n"
2025-08-14 20:12:27.250 [warning] Failed to parse message: "\r\n"
2025-08-14 20:12:27.251 [warning] Failed to parse message: "  at C:\\xxxxxxxx\\vendor\\laravel\\mcp\\src\\Server\\Transport\\StdioTransport.php:57\r\n"
2025-08-14 20:12:27.251 [warning] Failed to parse message: "     53▕     {\r\n"
2025-08-14 20:12:27.251 [warning] Failed to parse message: "     54▕         stream_set_blocking(STDIN, false);\r\n"
2025-08-14 20:12:27.251 [warning] Failed to parse message: "     55▕ \r\n"
2025-08-14 20:12:27.251 [warning] Failed to parse message: "     56▕         while (! feof(STDIN)) {\r\n"
2025-08-14 20:12:27.252 [warning] Failed to parse message: "  ➜  57▕             if (($line = fgets(STDIN)) === false) {\r\n"
2025-08-14 20:12:27.252 [warning] Failed to parse message: "     58▕                 usleep(10000);\r\n"
2025-08-14 20:12:27.252 [warning] Failed to parse message: "     59▕ \r\n"
2025-08-14 20:12:27.252 [warning] Failed to parse message: "     60▕                 continue;\r\n"
2025-08-14 20:12:27.252 [warning] Failed to parse message: "     61▕             }\r\n"
2025-08-14 20:12:27.253 [warning] Failed to parse message: "\r\n"
2025-08-14 20:12:27.253 [warning] Failed to parse message: "  1   C:\\xxxxxxxx\\vendor\\filp\\whoops\\src\\Whoops\\Run.php:520\r\n"
2025-08-14 20:12:27.253 [warning] Failed to parse message: "      Whoops\\Run::handleError(\"Maximum execution time of 30 seconds exceeded\", \"C:\\xxxxxxxx\\vendor\\laravel\\mcp\\src\\Server\\Transport\\StdioTransport.php\")\r\n"
2025-08-14 20:12:27.253 [warning] Failed to parse message: "\r\n"
2025-08-14 20:12:27.254 [warning] Failed to parse message: "  2   [internal]:0\r\n"
2025-08-14 20:12:27.254 [warning] Failed to parse message: "      Whoops\\Run::handleShutdown()\r\n"
2025-08-14 20:12:27.255 [warning] Failed to parse message: "\r\n"
2025-08-14 20:12:27.280 [info] Connection state: Error Process exited with code 255
2025-08-14 20:14:25.626 [info] Stopping server laravel-boost
2025-08-14 20:14:25.703 [info] Starting server laravel-boost

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions