Fix stdio bugs (#608)
1. Updates `arcade configure claude --from-local` to create a valid json
config for claude desktop. NOTE: The `arcade configure` command needs
some re-work. It's fragile.
2. Fixes bug where stdio servers were sending logs to the wrong sink.
3. Disabled colorized logs for stdio.
4. Added missing dependency `httpx` for servers created with `arcade
new`
## Claude Desktop json configuration for stdio
Personally I like option 1 because the configuration looks the simplest
### Option 1:
Equivalent to `python server.py stdio`
```
{
"globalShortcut": "Alt+Ctrl+Space",
"mcpServers": {
"my_server": {
"command": "/path/to/my/mcp/server/directory/.venv/bin/python",
"args": [
"/path/to/my/mcp/server/directory/server.py",
"stdio"
]
}
}
}
```
### Option 2:
Equivalent to `uv run server.py stdio`
```
{
"mcpServers": {
"my_server": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/my/mcp/server/directory",
"python",
"server.py",
"stdio"
]
}
}
}
```
### Option 3:
Equivalent to `python -m arcade_mcp_server stdio --cwd ./`
```
{
"mcpServers": {
"my_server": {
"command": "/path/to/my/mcp/server/directory/.venv/bin/python",
"args": [
"-m",
"arcade_mcp_server",
"stdio",
"--cwd",
"/path/to/my/mcp/server/directory"
]
}
}
}
```