modelcontextprotocol / modelcontextprotocol/servers
Windows: SSH-based MCP servers require PROGRAMDATA environment variable
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 90.5k
- Forks
- 11.7k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 5
Description
Issue
SSH connections fail when MCP servers are launched from Claude Desktop on Windows.
Common Use Case
Running an MCP server on a remote host (Raspberry Pi, home server, NAS, another PC on local network) and connecting to it via SSH from Windows Claude Desktop.
Root Cause
Claude Desktop launches MCP servers with a minimal environment missing PROGRAMDATA, which OpenSSH on Windows requires to locate system SSH configuration files.
Solution
Add PROGRAMDATA to the env configuration:
{
"mcpServers": {
"my-remote-server": {
"command": "C:\\WINDOWS\\System32\\OpenSSH\\ssh.exe",
"args": [
"user@remote-host.local",
"-o", "StrictHostKeyChecking=accept-new",
"-i", "C:\\Users\\username\\.ssh\\id_ed25519",
"/path/to/remote/mcp-server/command"
],
"env": {
"PROGRAMDATA": "C:\\ProgramData"
}
}
}
}
Recommendation
- Add this to Windows troubleshooting documentation
- Consider passing PROGRAMDATA by default for Windows MCP server environments
Environment
- OS: Windows 11
- Claude Desktop
- OpenSSH (Windows built-in)
- Remote MCP server over SSH on local network
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue does not name a documentation file or test. Locate the Windows troubleshooting documentation and verify how SSH-based MCP servers are configured there. Document the PROGRAMDATA environment setting and clarify whether passing it by default is a separate follow-up; done means the Windows SSH example covers this failure mode.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100