<!-- CURSOR_SUMMARY --> > [!NOTE] > Bumps versions across core libs and MCP packages, updates dependency constraints accordingly, and refreshes CLI template defaults to the new minimums. > > - **Versions**: > - `arcade-core` → `3.4.0` > - `arcade-serve` → `3.1.5` > - `arcade-tdk` → `3.2.2` > - `arcade-mcp-server` → `1.11.1` > - Root `arcade-mcp` → `1.5.8` > - **Dependency constraints**: > - Raise minimums to `arcade-core>=3.4.0`, `arcade-serve>=3.1.5`, `arcade-tdk>=3.2.2`, `arcade-mcp-server>=1.11.1` across affected `pyproject.toml` files. > - **CLI** (`libs/arcade-cli/arcade_cli/new.py`): > - Update template minimums for `arcade-mcp` (`1.5.8`), `arcade-tdk` (`3.2.2`), `arcade-serve` (`3.1.5`), and `arcade-mcp-server` (`1.11.1`). > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit b1b43e4d04810b0b49d4de6c943c23e69c99aad4. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> |
||
|---|---|---|
| .. | ||
| arcade_serve | ||
| pyproject.toml | ||
| README.md | ||
Arcade Serve
Serving infrastructure for Arcade tools and workers.
Overview
Arcade Serve provides the infrastructure for serving Arcade tools:
- FastAPI Worker: High-performance FastAPI-based worker implementation
- MCP Server: Model Context Protocol server for tool integration
- Core Abstractions: Base worker classes and components
- Authentication: Auth utilities and routing
- Runtime Management: Tool execution and lifecycle management
Installation
pip install arcade-serve
Usage
To add a toolkit to a hosted worker such as FastAPI, you can register them in the worker itself. This allows you to explicitly define which tools should be included on a particular worker.
Here is an example of adding the math toolkit (pip install arcade-math) to a FastAPI Worker:
import arcade_math
from fastapi import FastAPI
from arcade_tdk import Toolkit
from arcade_serve.fastapi import FastAPIWorker
app = FastAPI()
worker_secret = os.environ.get("ARCADE_WORKER_SECRET")
worker = FastAPIWorker(app, secret=worker_secret)
worker.register_toolkit(Toolkit.from_module(arcade_math))
Here is an example of adding the math toolkit (pip install arcade-math) to a MCP Worker
import arcade_math
from arcade_core.catalog import ToolCatalog
from arcade_serve.mcp.stdio import StdioServer
# 1. Create and populate the tool catalog
catalog = ToolCatalog()
catalog.add_module(arcade_math)
# 2. Main entrypoint
async def main():
# Create the worker with the tool catalog
worker = StdioServer(catalog)
# Run the worker
await worker.run()
if __name__ == "__main__":
import asyncio
asyncio.run(main())
License
MIT License - see LICENSE file for details.