[BUG]

Resolved 💬 4 comments Opened Mar 4, 2026 by rpaquettest Closed Mar 7, 2026

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:

  1. Properly configured with transport: "stdio", command, and args
  2. Added to workspace enabledSourceSlugs
  3. Has localMcpServers.enabled: true in 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

  1. Manual Command Test: Running npx -y mcp-remote https://mcp-server-svc-prod-t4xc7l2sda-uc.a.run.app/sse via PowerShell works and starts the MCP server successfully
  1. npx Available:
  • powershell -Command "Get-Command npx" returns C:\Program Files\nodejs\npx.ps1
  • npx --version returns 10.9.2
  1. PowerShell Execution Policy: Set to RemoteSigned for CurrentUser (required for npx.ps1 to execute)
  1. Node.js in PATH: Verified Node.js directory is in Windows PATH
  1. Workspace Configuration: Source is in enabledSourceSlugs list and localMcpServers.enabled is true
  1. Source Enabled: config.json has "enabled": true
  1. Multiple Restarts: Craft Agent restarted 10+ times with no change
  1. 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 connectionError field appears in config

---

Comparison with Working Sources

Working API Sources (e.g., upside, 6sense):

  • Show connectionStatus: "connected"
  • Have isAuthenticated: true when applicable
  • Have recent updatedAt timestamps

Broken stdio MCP Source (marketing-mind):

  • Shows connectionStatus: "untested"
  • No isAuthenticated field
  • Unchanged updatedAt timestamp (from creation)

Note: All working active sources use HTTP/SSE MCP or API type, not stdio.

---

Observations

  1. "untested" vs "failed": The source shows "untested" rather than "failed", suggesting Craft Agent never attempts to spawn the process
  1. No error logging: Unlike API sources that show connection errors, stdio MCP shows no error messages when it fails to start
  1. source_test limitation: The source_test tool runs in bash environment and cannot find npx, but this may not reflect Craft Agent's actual Windows process environment
  1. 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.json with identical settings
  • Attempting to migrate this working stdio MCP source from Claude Desktop to Craft Agent revealed this issue

---

Questions for Craft Agent Team

  1. Are stdio MCP sources fully supported in Craft Agent 0.6.0?
  2. Is there additional configuration required for stdio MCP that isn't documented?
  3. Should stdio MCP sources show error messages when they fail to start?
  4. Is there a way to enable debug logging for MCP source connections?
  5. 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: true in workspace config

The source should:

  1. Automatically start when Craft Agent launches
  2. Show connectionStatus: "connected" (or "failed" with a specific error message if it can't connect)
  3. Become available in the active sources list
  4. 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

  1. Install Node.js
  • Download and install Node.js v22 LTS
  • Add C:\Program Files\nodejs to Windows system PATH
  • Set PowerShell execution policy: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
  • Restart system for PATH changes to take effect
  • Verify: npx --version should return 10.9.2
  1. Create stdio MCP source in Craft Agent
  • Create folder: ~/.craft-agent/workspaces/my-workspace/sources/marketing-mind/
  • Create config.json with:

``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.md and permissions.json files
  1. Add to workspace enabled sources
  • Edit ~/.craft-agent/workspaces/my-workspace/config.json
  • Add "marketing-mind" to the enabledSourceSlugs array
  • Verify "localMcpServers": { "enabled": true } exists
  1. Restart Craft Agent
  • Quit Craft Agent completely
  • Reopen Craft Agent
  1. Observe the issue
  • Marketing Mind appears in sources list as "inactive"
  • connectionStatus remains "untested" in config.json
  • No error messages appear
  • Source never becomes active
  1. 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_

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗