arcade-mcp/libs/arcade-mcp-server/arcade_mcp_server
Eric Gustin 19bbaddf75
Reload for MCPApp (#622)
Previously, MCPApp did not truly have reload capabilities. Instead, if
`reload=True`, then under the hood we would just change over to the
module execution code path (e.g., `arcade mcp`, or `python -m
arcade_mcp_server`). This was bad because custom `MCPApp` startup code
was not being executed and tools that were not added to `MCPApp`'s
catalog were being discovered and added to the server.

`MCPApp` now contains its own custom reload logic. It doesn't use
uvicorn's reload because uvicorn's discovery & factory pattern wasn't
the best fit for `MCPApp`'s self-contained pattern.

Now when `MCPApp.run(reload=True)` is called, `MCPApp` becomes the
parent process that manages reload itself.
2025-10-17 17:38:11 -07:00
..
auth Local MCP Fixes and Address General Feedback (#586) 2025-09-29 16:00:47 -07:00
fastapi Local MCP Fixes and Address General Feedback (#586) 2025-09-29 16:00:47 -07:00
managers Rename _meta requirements field to arcade_requirements (#616) 2025-10-14 19:01:05 -07:00
middleware MCP Local (#563) 2025-09-25 15:28:15 -07:00
transports MCP Local (#563) 2025-09-25 15:28:15 -07:00
__init__.py MCP Local (#563) 2025-09-25 15:28:15 -07:00
__main__.py Fix stdio bugs (#608) 2025-10-07 18:53:53 -07:00
context.py Pass Context, not ToolContext (#610) 2025-10-08 10:16:15 -07:00
convert.py Rename _meta requirements field to arcade_requirements (#616) 2025-10-14 19:01:05 -07:00
exceptions.py Re-import arcade_core errors into arcade_mcp_server (#620) 2025-10-13 17:48:54 -07:00
lifespan.py MCP Local (#563) 2025-09-25 15:28:15 -07:00
mcp_app.py Reload for MCPApp (#622) 2025-10-17 17:38:11 -07:00
server.py Fix server info bug (#614) 2025-10-13 13:04:18 -07:00
session.py Use alias when model dumping a response (#613) 2025-10-09 16:46:45 -07:00
settings.py Fix server info bug (#614) 2025-10-13 13:04:18 -07:00
types.py MCP Local (#563) 2025-09-25 15:28:15 -07:00
worker.py Reload for MCPApp (#622) 2025-10-17 17:38:11 -07:00