Summary
When adding BlockRun MCP to Grok bot with the normal npx config, first-time users can see the MCP server show as unavailable because Grok's default MCP startup timeout is too short for a cold npx install.
Repro
On a clean machine/cache:
grok mcp add blockrun -- npx -y @blockrun/mcp@latest
grok mcp doctor blockrun
Observed:
blockrun (stdio: npx -y @blockrun/mcp@latest)
✓ command found (/usr/bin/npx)
✓ server started (0.0s)
✗ server timed out (no response within 30s)
→ try increasing startup_timeout_sec in config.toml
In the Grok UI this appears as:
Cause
Grok waits about 30 seconds for the MCP server to handshake. With the npx -y @blockrun/mcp@latest form, the first run may need to download/install the package and its dependency tree before the MCP server can start.
In testing on the shared testbed, cold npx startup took around 42-46 seconds. After the npm cache was warm, it started fast enough and passed.
Suggested docs
For Grok users who want the non-global npx install, document this config:
[mcp_servers.blockrun]
command = "npx"
args = ["-y", "@blockrun/mcp@latest"]
enabled = true
startup_timeout_sec = 120
This allows the first cold install to complete and handshake successfully.
Alternative
Users can avoid the cold npx startup cost by installing globally:
npm install -g @blockrun/mcp@latest
grok mcp add blockrun -- blockrun-mcp
That makes Grok launch the already-installed blockrun-mcp binary directly.
Why this matters
New users following the simple grok mcp add blockrun -- npx -y @blockrun/mcp@latest instruction may think BlockRun MCP is broken when it is only timing out during first install. Adding Grok-specific instructions would make the first-run experience clearer.
Summary
When adding BlockRun MCP to Grok bot with the normal
npxconfig, first-time users can see the MCP server show as unavailable because Grok's default MCP startup timeout is too short for a coldnpxinstall.Repro
On a clean machine/cache:
Observed:
In the Grok UI this appears as:
Cause
Grok waits about 30 seconds for the MCP server to handshake. With the
npx -y @blockrun/mcp@latestform, the first run may need to download/install the package and its dependency tree before the MCP server can start.In testing on the shared testbed, cold
npxstartup took around 42-46 seconds. After the npm cache was warm, it started fast enough and passed.Suggested docs
For Grok users who want the non-global
npxinstall, document this config:This allows the first cold install to complete and handshake successfully.
Alternative
Users can avoid the cold
npxstartup cost by installing globally:That makes Grok launch the already-installed
blockrun-mcpbinary directly.Why this matters
New users following the simple
grok mcp add blockrun -- npx -y @blockrun/mcp@latestinstruction may think BlockRun MCP is broken when it is only timing out during first install. Adding Grok-specific instructions would make the first-run experience clearer.