Skip to main content

OpenAction

OpenAction is an AI-native action framework for the Agentic Home.

Move beyond rigid "If-This-Then-That" rules and tedious UI-based configurations. Powered by AI agent technology, OpenAction replaces traditional smart home solutions with flexible, adaptive logic. It helps to translate natural language intent into dynamic, executable scripts — giving your smart home the ability to adapt, reason, and act.

Read the full architectural deep-dive on Medium: From Smart Home to Agentic Home


Core Features

  • Natural Language Automation: Define complex home behaviors via chat. No more wrestling with nested "If-Then" menus or YAML configurations.
  • Stateful Intelligence: An integrated Store provides persistence, allowing scripts to save and retrieve data across multiple executions.
  • Dynamic Scheduling: A built-in Cron service triggers AI-generated scripts based on time, sensor events, or external API data.
  • Python Execution: The AI generates standard Python code, enabling complex calculations, loops, and sophisticated error handling.

Architecture & Workflow

The system acts as a bridge between high-level reasoning (Agents) and low-level hardware control. Here, the AI agent acts as a software developer who can introspect services and write custom, deterministic Python scripts to control smart home devices. The workflow is as follows:

  1. The Intent: The user describes a goal to an MCP-capable client (e.g., Claude Desktop): "If it’s dark outside and someone is home, turn on the living room light. If we’re away, simulate presence by randomly toggling lights, ending no later than late in the evening."
  2. The Translation: The Agent uses the OpenAction MCP Server tools to inspect available devices and writes a custom Python script.
  3. The Registration: OpenAction stores the script and sets up the necessary triggers (e.g., polling a weather API or listening for a sensor change).
  4. The Execution: When triggered, the script runs in a local sandbox, calling the endpoints of connected Sensors & Actuators.

How to Use It

1. Running via Docker

You can run OpenAction as a Docker container. Use host networking to allow the server to easily discover and communicate with local network devices. Mount a local directory to preserve the working state (scripts and store data) across container restarts.

sudo docker run -d --name openaction --restart always --log-driver local --log-opt max-size=10m --log-opt max-file=3 --network host -v /etc/script/openaction:/etc/work -e devices='' grro/openaction:0.0.30

By default the OpenAction server is running on port 8345. Make sure to map a persistent volume to /etc/work so that your environment state and custom scripts are not lost when the container is recreated.

2. Testing with MCP Inspector

You can test the server capabilities and available tools of the running Docker container using the official MCP Inspector via Server-Sent Events (SSE):

npx @modelcontextprotocol/inspector sse http://localhost:8345/sse

3. Integrate into an Agent

OpenAction works with any agent that supports MCP.

Claude Desktop example

To integrate OpenAction with Claude Desktop, add the MCP Server URL to the "mcpServers" section in your claude_desktop_config.json. You may use mcp-proxy to bridge the Streamable HTTP transport and the stdio MCP transport used by Claude Desktop.

{
  "mcpServers": {
    "openaction": {
      "command": "mcp-proxy",
      "args": [
        "http://localhost:8345/sse"
      ]
    }
  }
}

Use Claude Desktop

After setting up the MCP Server and integrating it with Claude Desktop, you can start describing your desired automations in natural language. The Agent will be able to generate and modify the task scripts and manage their execution based on your defined triggers.

Explore OpenAction Tools

Here is an example showing how you can ask Claude to list all available OpenAction tools.

Listing OpenAction Tools

View Registered Tasks

You can easily inquire about currently registered tasks and their statuses.

Creating a New Task

Create a New Task

Simply instruct Claude to create new automations, and it will handle the underlying code and registration for you.

Displaying Registered Tasks

Metadata

Release files for openaction 0.1.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for openaction 0.1.12
File Size Uploaded Provenance
openaction-0.1.12.tar.gz 1.5 MB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for openaction 0.1.12
File Interpreter ABI Platform
openaction-0.1.12-py3-none-any.whl Python 3 none any Details

Total release size: 1.5 MB

Release files / openaction-0.1.12.tar.gz

Download URL openaction-0.1.12.tar.gz
Size 1.5 MB
Tags Source
SHA-256 checksum
How to use checksums
66b603d260e2e5b8a4f7ecbbc9aca58a7f5ca8d092d61e3bce3e655ae85d793a
BLAKE2b-256 checksum
How to use checksums
9b593019c609b1884b290c304e2efbde6c7bfc390b128493537b3bc2c54271ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / openaction-0.1.12-py3-none-any.whl

Download URL openaction-0.1.12-py3-none-any.whl
Size 13.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bbd6b4d2a911312c397ecbf89ad2027c85af620fcf358032a2af4731bb724a22
BLAKE2b-256 checksum
How to use checksums
e0636a4d809bc9f072bb9e02250d059c8ddea4bfce917fb1b7c2b1b9377bdd1a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Security for openaction 0.1.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.12 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page