It’s not DotNet related, it’s any command with a space in the filename
"command": "C:\MCP Schema.exe"
2025-07-21 08:51:12.969 [info] user-mcp-schema-server: Starting new stdio process with command: C:\MCP Schema.exe
2025-07-21 08:51:13.122 [error] user-mcp-schema-server: ‘C:\MCP’ is not recognized as an internal or external command, operable program or batch file.
It is not clear how one would escape it.
The Windows way of using Quotes is accepted but doesn’t work
“command”: “\“C:\\MCP Schema.exe\””
It includes the “ when trying to exec it
Starting new stdio process with command: “C:\MCP Schema.exe”
2025-07-21 08:53:52.012 [error] user-mcp-schema-server: The filename, directory name, or volume label syntax is incorrect.
A Unix way of escaping
“command”: “C:\\MCP\ Schema.exe”
this is invalid json
“command”: “C:\\MCP\\ Schema.exe”
results in
2025-07-21 08:57:09.842 [error] user-mcp-schema-server: ‘C:\MCP\’ is not recognized as an internal or external command, operable program or batch file.
How are spaces in paths handled on Linux/Mac? perhaps that is also broken
It looks like the arguments to exec are passed bare and being interpreted as separate args
Good question, will have to look what is reported as I usually dont use spaces in paths myself. From what I see from MCPs on Windows that people recommend using path without spaces, or using the 8.3 filename
Using the short 8.3 filename (e.g., C:\PROGRA~1\MyApp\myapp.exe) is a workaround that can avoid spaces entirely. You can get the short path by running dir /x in the command prompt.
Yeah, spaces in paths / filenames was a mistake and sadly I remember being happy about it when Win95 introduced them - oh if I had known what pain that would cause.
Good reminder about the 8.3 version, I haven’t considered that for along time!