actions-runtime
Sema4.ai Action Server is a Python framework designed to provide your Python functions to AI Agents. It works both as an MCP Server (hosting tools, resources and prompts) and also provides an OpenAPI compatible API.
A tool or action in this case is defined as a Python function (which has inputs/outputs defined), which is served by the Sema4.ai Action Server.
The Sema4.ai Action Server automatically provides a /mcp endpoint for connecting MCP clients and also generates an OpenAPI spec for your Python code, enabling different AI/LLM Agents to understand and call your Action. It also manages the Action lifecycle and provides full traceability of what happened during any tool or action call (open the /runs endpoint in a browser to see not only inputs and output, but also a full log.html with internal details, such as variables and function calls that your Python function executed).
1. Install Action Server
Action Server is available as a stand-alone fully signed executable and via pip install actions-runtime.
We recommend the executable to prevent confusion in case you have multiple/crowded Python environments, etc.
For macOS
# Install Actions Runtime
python -m pip install actions-runtime
For Windows
# Download Sema4.ai Action Server
curl -o action-server.exe https://cdn.sema4.ai/action-server/releases/latest/windows64/action-server.exe
# Add to PATH or move to a folder that is in PATH
setx PATH=%PATH%;%CD%
For Linux
# Download Sema4.ai Action Server
curl -o action-server https://cdn.sema4.ai/action-server/releases/latest/linux64/action-server
chmod a+x action-server
# Add to PATH or move to a folder that is in PATH
sudo mv action-server /usr/local/bin/
2. Run your first MCP tool
# Bootstrap a new project using this template.
# You'll be prompted for the name of the project (directory):
action-server new
# Start Action Server
cd my-project
action-server start
👉 You should now have an Action Server running locally at: http://localhost:8080, so open that in your browser and the web UI will guide you further.
MCP compatibility
/mcp supports the MCP 2026-07-28 per-request contract through the Python
MCP SDK v2. Clients use server/discover and then send calls without an
initialize/initialized exchange or Mcp-Session-Id. The legacy /sse
endpoint and initialization/session-era compatibility path are intentionally
not provided.
What do you need in your Action Package
An Action Package is currently defined as a local folder that contains at least one Python file containing an action entry point (a Python function marked with @action -decorator from actions).
The package.yaml file is required for specifying the Python environment and dependencies for your Action (RCC will be used to automatically bootstrap it and keep it updated given the package.yaml contents).
Note: the
package.yamlis optional if the action server is not being used as a standalone (i.e.: if it was pip-installed it can use the same python environment where it's installed).
Community RCC Fork
This Action Server uses the joshyorko/rcc v18.19.3 community fork, which provides:
- Faster startup - no proprietary cloud service calls
- Official sources - downloads micromamba directly from conda-forge instead of Robocorp CDN
- Decoupled infrastructure - works fully offline after initial environment bootstrap
- Security hardening - includes upstream archive extraction and TLS fixes, built with Go 1.25.7
Environment caching means subsequent startups are near-instant once the holotree is built.
Bootstrapping a new Action
Start new projects with:
action-server new
Note: the action-server executable should be automatically added to your Python installation after pip install actions-runtime; if it was not, use python -m actions.server instead.
After creating the project, it's possible to serve the actions under the current directory with:
action-server start
For example: When running action-server start, the action server will scan for existing actions under the current directory, and it'll start serving those.
After it's started, it's possible to access the following URLs:
/index.html: UI for the Action Server./openapi.json: Provides the openapi spec for the action server./docs: Provides access to the APIs available in the server and a UI to test it.
Documentation
Explore our docs for extensive documentation.
Changelog
Clean-break Actions Runtime releases and actions-runtime-* tags use the
Actions Runtime changelog. The historical
Action Server changelog
is retained for the older action-server-v1.2.x delivery line.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file actions_runtime-1.0.1.tar.gz.
File metadata
- Download URL: actions_runtime-1.0.1.tar.gz
- Upload date:
- Size: 946.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6581d8143d81154595159ba4c9869d3a6972e65e9601767b696cfaf228c0bde8
|
|
| MD5 |
aee00d60768dd63884e098043acb53bd
|
|
| BLAKE2b-256 |
8e7721db409b70a727b47b973481a4f3704197e29a588c3773d5aacfa8fa85e0
|
File details
Details for the file actions_runtime-1.0.1-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: actions_runtime-1.0.1-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 11.5 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c477a0e553c9bff77f97da96c8a7af9395d8295be070b6bc558832856d837615
|
|
| MD5 |
e708ce5ec094d695a026da86acaff54b
|
|
| BLAKE2b-256 |
d7e89f81f826d862cb7ffb061de1d292d31c059608724394f05dfab8d65e740b
|
File details
Details for the file actions_runtime-1.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: actions_runtime-1.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 14.1 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd610e2173376bcfe2b262dd16682dbc6c189b9e647309ab4927a87a5c96c468
|
|
| MD5 |
37adfc778668ce2124dc28b7cef6ad01
|
|
| BLAKE2b-256 |
938d4bba12e471b470ac2e60ecc1e947c26b97ab9760ede942d6fa118d0b8251
|
File details
Details for the file actions_runtime-1.0.1-cp313-cp313-macosx_12_0_arm64.whl.
File metadata
- Download URL: actions_runtime-1.0.1-cp313-cp313-macosx_12_0_arm64.whl
- Upload date:
- Size: 13.2 MB
- Tags: CPython 3.13, macOS 12.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
935c1cda10d799e19ed50633847146bc5811b329941d3bb312fd195feb058b5c
|
|
| MD5 |
fbc1ea88a780369dc2c7efcac04fbb86
|
|
| BLAKE2b-256 |
bd28ae4e2f500a697566c676c6033434ab694d62222c8d35917994ba3a928162
|
File details
Details for the file actions_runtime-1.0.1-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: actions_runtime-1.0.1-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 11.5 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5196eac894fb818850674a20611f6ddab244ffde0c2a41c1ce844096cf4f7f2c
|
|
| MD5 |
9678364f4f5bbb53dc09d26c00f099e8
|
|
| BLAKE2b-256 |
8cbc55ea6a770a9e38c59cf5bde7d53b9420c7b3092bd70dfbb8bcaf6689f054
|
File details
Details for the file actions_runtime-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: actions_runtime-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 14.1 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1e0a7e1f9027a29f922c41e6e7305e5f0752441f943f34d4a3d793651a513fc
|
|
| MD5 |
254133ece37510e57c35c46fee434d84
|
|
| BLAKE2b-256 |
5ee4b96acf9dfa1e4e579c4326d3511002dc5295f26a3e7b8e2d14083e3a315c
|
File details
Details for the file actions_runtime-1.0.1-cp312-cp312-macosx_12_0_arm64.whl.
File metadata
- Download URL: actions_runtime-1.0.1-cp312-cp312-macosx_12_0_arm64.whl
- Upload date:
- Size: 13.2 MB
- Tags: CPython 3.12, macOS 12.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aaa74c79c1c87948301daf9feedc76ad86ffbed9186390c6768cd9555290fda1
|
|
| MD5 |
50913389376ed696024e53da6f02b727
|
|
| BLAKE2b-256 |
e7632f20465cec647c5e48cdaaf38fa13667a66e7b7dcf8475795d964965e91b
|