When `python -m arcade_mcp_server` was executed, we would get the following Runtime Warning: ``` <frozen runpy>:128: RuntimeWarning: 'arcade_mcp_server.__main__' found in sys.modules after import of package 'arcade_mcp_server', but prior to execution of 'arcade_mcp_server.__main__'; this may result in unpredictable behaviour ``` This PR resolves this. This PR is mainly just moving existing functions to new locations; a refactor <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Primarily a module-organization refactor with minimal behavior change; main risk is import-path regressions for internal callers and stdio/CLI startup wiring. > > **Overview** > Fixes the `python -m arcade_mcp_server` runtime warning by refactoring `arcade_mcp_server.__main__` to be a thin CLI entrypoint and moving its reusable logic into import-safe modules. > > Extracts stdio execution and tool discovery into a new `arcade_mcp_server.stdio_runner` (`initialize_tool_catalog`, `run_stdio_server`) and moves `setup_logging` into `logging_utils`, updating `MCPApp`, the FastAPI `worker`, and tests to import from the new locations. Bumps package version to `1.17.3`. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 210475acea7c5df44fc66be2bde06f1f0c806c4e. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
45 lines
1.3 KiB
TOML
45 lines
1.3 KiB
TOML
[build-system]
|
|
requires = ["hatchling>=1.25"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[project]
|
|
name = "arcade-mcp-server"
|
|
version = "1.17.3"
|
|
description = "Model Context Protocol (MCP) server framework for Arcade.dev"
|
|
readme = "README.md"
|
|
authors = [{ name = "Arcade.dev" }]
|
|
license = { text = "MIT" }
|
|
classifiers = [
|
|
"Development Status :: 5 - Production/Stable",
|
|
"Intended Audience :: Developers",
|
|
"License :: OSI Approved :: MIT License",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: Python :: 3.13",
|
|
]
|
|
requires-python = ">=3.10"
|
|
dependencies = [
|
|
"arcade-core>=4.4.2,<5.0.0",
|
|
"arcade-serve>=3.2.0,<4.0.0",
|
|
"arcade-tdk>=3.6.0,<4.0.0",
|
|
"arcadepy>=1.5.0",
|
|
"pydantic>=2.0.0",
|
|
"fastapi>=0.100.0",
|
|
"uvicorn>=0.30.0",
|
|
"watchfiles>=0.18.0", # included with uvicorn, but listed to be explicit
|
|
"sse-starlette>=2.0.0",
|
|
"starlette>=0.37.0",
|
|
"anyio>=4.0.0",
|
|
"python-dotenv>=1.0.0",
|
|
"pydantic-settings>=2.10.1",
|
|
"joserfc>=1.5.0",
|
|
"httpx>=0.27.0,<1.0.0",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = ["pytest>=8.0.0", "pytest-asyncio>=0.23.0", "mypy>=1.0.0", "ruff>=0.1.0"]
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["arcade_mcp_server"]
|