[BUG]
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Bug Report: stdio MCP Source Not Starting
Date: March 3, 2026
Craft Agent Version: 0.6.0
Platform: Windows 10.0.26100
---
Issue Summary
A stdio MCP source (marketing-mind) remains inactive with status "untested" despite correct configuration and all prerequisites being met. Craft Agent appears to never attempt starting the stdio MCP subprocess.
---
Expected Behavior
When a stdio MCP source is:
- Properly configured with
transport: "stdio", command, and args - Added to workspace
enabledSourceSlugs - Has
localMcpServers.enabled: truein workspace config
The source should start on Craft Agent launch and show connectionStatus: "connected" or "failed" with an error message.
---
Actual Behavior
- Source remains inactive with
connectionStatus: "untested" - No error messages logged in config.json
- No connection attempt appears to be made
- Source never becomes active regardless of restarts
---
Environment Details
System:
- OS: Windows 10.0.26100.7840
- Node.js: v22.14.0 installed
- npx: v10.9.2 (verified working)
- PowerShell Execution Policy: RemoteSigned (set for CurrentUser)
- Node.js in system PATH: ✅ Verified
Craft Agent:
- Version: 0.6.0
- Workspace capability shows:
local-mcp: enabled (stdio subprocess servers supported) - Git Bash Path:
C:\Program Files\Git\bin\bash.exe
---
Source Configuration
File: ~/.craft-agent/workspaces/my-workspace/sources/marketing-mind/config.json
{
"id": "marketing-mind_a7f3c8e2",
"name": "Marketing Mind",
"slug": "marketing-mind",
"enabled": true,
"provider": "marketing-mind",
"type": "mcp",
"icon": "📚",
"tagline": "Content repository for marketing materials, case studies, and collateral",
"mcp": {
"transport": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp-server-svc-prod-t4xc7l2sda-uc.a.run.app/sse"
],
"authType": "none"
},
"connectionStatus": "untested",
"createdAt": 1709486340000,
"updatedAt": 1709486340000
}
Workspace Config: ~/.craft-agent/workspaces/my-workspace/config.json
{
"enabledSourceSlugs": [
"common-room",
"google-drive",
"upside",
"6sense",
"marketing-mind"
],
"localMcpServers": {
"enabled": true
}
}
---
Verification Steps Completed
- ✅ Manual Command Test: Running
npx -y mcp-remote https://mcp-server-svc-prod-t4xc7l2sda-uc.a.run.app/ssevia PowerShell works and starts the MCP server successfully
- ✅ npx Available:
powershell -Command "Get-Command npx"returnsC:\Program Files\nodejs\npx.ps1npx --versionreturns10.9.2
- ✅ PowerShell Execution Policy: Set to
RemoteSignedfor CurrentUser (required for npx.ps1 to execute)
- ✅ Node.js in PATH: Verified Node.js directory is in Windows PATH
- ✅ Workspace Configuration: Source is in
enabledSourceSlugslist andlocalMcpServers.enabledis true
- ✅ Source Enabled:
config.jsonhas"enabled": true
- ✅ Multiple Restarts: Craft Agent restarted 10+ times with no change
- ✅ Toggled Source: Disabled and re-enabled source, no effect
---
Troubleshooting Attempted
- Tried various command formats:
"npx","npx.cmd","C:/Program Files/nodejs/npx.cmd","C:/PROGRA~1/nodejs/npx.cmd" - All produced either "Command not found" or "spawn EINVAL" in source_test tool
- However, manual execution via PowerShell always works
- Checked for logs in
~/.craft-agent/logs/- directory is empty - No error messages in source config.json
- No
connectionErrorfield appears in config
---
Comparison with Working Sources
Working API Sources (e.g., upside, 6sense):
- Show
connectionStatus: "connected" - Have
isAuthenticated: truewhen applicable - Have recent
updatedAttimestamps
Broken stdio MCP Source (marketing-mind):
- Shows
connectionStatus: "untested" - No
isAuthenticatedfield - Unchanged
updatedAttimestamp (from creation)
Note: All working active sources use HTTP/SSE MCP or API type, not stdio.
---
Observations
- "untested" vs "failed": The source shows "untested" rather than "failed", suggesting Craft Agent never attempts to spawn the process
- No error logging: Unlike API sources that show connection errors, stdio MCP shows no error messages when it fails to start
- source_test limitation: The
source_testtool runs in bash environment and cannot find npx, but this may not reflect Craft Agent's actual Windows process environment
- Working command: The exact command specified in the config works perfectly when run manually, proving the configuration is correct
---
Additional Context
- This source was originally configured for Claude Desktop (where it works successfully with the same command/args)
- The Marketing Mind installer automatically configured it in
claude_desktop_config.jsonwith identical settings - Attempting to migrate this working stdio MCP source from Claude Desktop to Craft Agent revealed this issue
---
Questions for Craft Agent Team
- Are stdio MCP sources fully supported in Craft Agent 0.6.0?
- Is there additional configuration required for stdio MCP that isn't documented?
- Should stdio MCP sources show error messages when they fail to start?
- Is there a way to enable debug logging for MCP source connections?
- Does Craft Agent use a different shell/environment for spawning stdio processes that might not have access to the Windows PATH?
---
Request
Please investigate why stdio MCP sources with valid configurations remain "untested" and never attempt to connect. This appears to be a systematic issue with stdio MCP support rather than a configuration problem.
What Should Happen?
When a stdio MCP source is properly configured with:
transport: "stdio", command, and args in the source config.json- Added to workspace
enabledSourceSlugs localMcpServers.enabled: truein workspace config
The source should:
- Automatically start when Craft Agent launches
- Show
connectionStatus: "connected"(or "failed" with a specific error message if it can't connect) - Become available in the active sources list
- Allow its MCP tools to be used in conversations
Instead, the source remains inactive with connectionStatus: "untested" and never attempts to connect, despite Node.js/npx being properly installed and the command working when run manually.
Error Messages/Logs
Steps to Reproduce
- Install Node.js
- Download and install Node.js v22 LTS
- Add
C:\Program Files\nodejsto Windows system PATH - Set PowerShell execution policy:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser - Restart system for PATH changes to take effect
- Verify:
npx --versionshould return10.9.2
- Create stdio MCP source in Craft Agent
- Create folder:
~/.craft-agent/workspaces/my-workspace/sources/marketing-mind/ - Create
config.jsonwith:
``json``
{
"id": "marketing-mind_a7f3c8e2",
"name": "Marketing Mind",
"slug": "marketing-mind",
"enabled": true,
"provider": "marketing-mind",
"type": "mcp",
"icon": "📚",
"tagline": "Content repository for marketing materials",
"mcp": {
"transport": "stdio",
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp-server-svc-prod-t4xc7l2sda-uc.a.run.app/sse"],
"authType": "none"
},
"connectionStatus": "untested",
"createdAt": 1709486340000,
"updatedAt": 1709486340000
}
- Create basic
guide.mdandpermissions.jsonfiles
- Add to workspace enabled sources
- Edit
~/.craft-agent/workspaces/my-workspace/config.json - Add
"marketing-mind"to theenabledSourceSlugsarray - Verify
"localMcpServers": { "enabled": true }exists
- Restart Craft Agent
- Quit Craft Agent completely
- Reopen Craft Agent
- Observe the issue
- Marketing Mind appears in sources list as "inactive"
connectionStatusremains "untested" in config.json- No error messages appear
- Source never becomes active
- Verify command works manually
- Run:
npx -y mcp-remote https://mcp-server-svc-prod-t4xc7l2sda-uc.a.run.app/sse - Command starts successfully and MCP server runs
Claude Model
None
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
craft_agent_environment version="0.6.0" platform="win32" arch="x64" os_version="10.0.26100"
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Other
Additional Information
_No response_
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗