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"
]
}
}
}
```
38 lines
934 B
TOML
38 lines
934 B
TOML
[build-system]
|
|
requires = ["setuptools>=61", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "{{ toolkit_name }}"
|
|
version = "0.1.0"
|
|
description = "MCP Server created with Arcade.dev"
|
|
requires-python = ">=3.10"
|
|
dependencies = [
|
|
"arcade-mcp-server>={{ arcade_mcp_server_min_version }},<{{ arcade_mcp_server_max_version }}",
|
|
"httpx>=0.28.0,<1.0.0",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"arcade-mcp[all]>={{ arcade_mcp_min_version}},<{{ arcade_mcp_max_version}}",
|
|
"pytest>=7.0.0",
|
|
"pytest-asyncio>=0.21.0",
|
|
"mypy>=1.0.0",
|
|
"ruff>=0.1.0",
|
|
]
|
|
|
|
# Tell Arcade.dev that this package has Arcade tools
|
|
[project.entry-points.arcade_toolkits]
|
|
toolkit_name = "{{ toolkit_name }}"
|
|
|
|
[tool.setuptools.packages.find]
|
|
include = ["{{ toolkit_name }}*"]
|
|
|
|
[tool.ruff]
|
|
line-length = 100
|
|
target-version = "py310"
|
|
|
|
[tool.mypy]
|
|
python_version = "3.10"
|
|
warn_unused_configs = true
|
|
disallow_untyped_defs = false
|