Metadata-Version: 2.4
Name: actionlayer-mcp
Version: 0.5.0
Summary: MCP server for ActionLayer — give Claude Code and other MCP hosts access to ActionLayer's browser-action catalog with per-session credential intake.
Project-URL: Homepage, https://actionlayer.io
Project-URL: Repository, https://github.com/grimjjow/actionlayer
Author: ActionLayer
License: MIT
Keywords: actionlayer,agents,claude,claude-code,mcp,tools
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.10
Requires-Dist: fastmcp>=0.4.0
Requires-Dist: httpx>=0.27.0
Description-Content-Type: text/markdown

# actionlayer-mcp

MCP server for [ActionLayer](https://actionlayer.io) — let Claude Code (and any MCP host) drive browser-based sites on your behalf.

## Install

Get an API key from your ActionLayer dashboard at https://actionlayer.io, then:

```bash
claude mcp add --scope user actionlayer "uvx" "actionlayer-mcp" \
  --env ACTIONLAYER_API_KEY="ak_…" \
  --env ACTIONLAYER_API_URL="https://api.actionlayer.io"
```

Restart Claude Code and ask it to do something for you.

## Usage from other MCP hosts

```bash
actionlayer-mcp
```

Works with Cursor, Cody, Codex, etc.

Env vars:
- `ACTIONLAYER_API_KEY` — required
- `ACTIONLAYER_API_URL` — defaults to `https://api.actionlayer.io`

## Changelog

### 0.4.2

Internal taxonomy scrub. No behavior change; tool descriptions and
`next_action.prompt` fallbacks rephrased so calling agents don't
surface ActionLayer's internal terminology in their own user-facing
text.

### 0.4.1

Payment-card approval flow (Phase 2 of the agent payments plan).

- `actionlayer_reply` now accepts `payment_approved: bool` for
  tickets whose info_request includes `payment_status`. Users
  approve a charge against their card-on-file with one call.
- `actionlayer_get_task` / `actionlayer_next_action` surface
  `card_brand`, `card_last4`, `amount_usd`, and `payment_status`
  on the info_request payload so an agent can prompt the user
  with "Approve $X.XX charge on your <brand> card ending <last4>?"
- The card PAN itself NEVER crosses the MCP boundary. The charge
  is completed against the user's card on file; the PAN never
  appears on agent-visible surfaces. This is by design per
  `docs/agent_payments_plan.md`.

### 0.4.0

**Backwards-incompatible — public API taxonomy changed.**

- Ticket `state` collapses the in-flight phases into a single
  public value `pending`. Polling code that branched on the
  individual sub-phases (e.g. `if state == "executing"`) must
  switch to `state == "pending"`. Terminal states (`completed`,
  `failed`, `cancelled`) and `blocked_on_user` are unchanged.
- `live_view_url` is no longer returned by the public tools
  (`actionlayer_invoke_action`, `actionlayer_get_action_ticket`).
  User-facing callers should drive the task via polling
  `actionlayer_get_action_ticket` and responding to
  `blocked_on_user` prompts.
- `actionlayer_invoke_action` sync response now uses
  `outcome="queued"` (instead of `outcome="blocked"`) when the
  task is taking longer than the sync window allows. Callers
  handling `outcome` need to add a `queued` branch: poll
  `actionlayer_get_action_ticket` for terminal state.
- Terminal tickets now carry a free-text `reason` field summarising
  the outcome (derived from `result.summary` on completed, `error`
  on failed). Pre-existing `result` / `error` fields preserved
  for callers that want the raw structured payload.

### 0.3.1
- Update default API URL to `https://api.actionlayer.io`
  (`api.action-layer.dev` still redirects, but the new host is the
  current canonical name).

### 0.3.0
- Browser-only catalog. Per-session credential intake.

### 0.2.0
- Async-by-default dispatch for browser actions + ticket polling tool.

### 0.1.0
- Initial release.

## License

MIT
