Turn AI agent QA runs into shareable slideshows.
Project description
agentclip
Turn your AI agent's QA runs into shareable clips.
Your AI agent drives the browser. AgentClip captures the moments that matter, screenshots and captions, and ships you back a single URL anyone can watch.
The product is the artifact (the clip URL) plus the prompt engineering (the bundled skill) that makes generated runs actually good. The backend, MCP plumbing, and CLI are commodity.
Live demo: https://agentclip.dev
Status
Built in May 2026. Early. APIs may shift before a 1.0 tag.
Install
pip install agentclip
That's it. The first time agentclip runs, lazy first-run setup wires the bundled Claude Code skill, downloads browser drivers if you'll need them, and writes a marker so subsequent invocations are instant.
Or run with no install:
uvx agentclip --help
60-second example
Ask your agent in plain English (Claude Code, Claude Desktop, or any MCP-aware client):
QA the signup flow on localhost:3000 and post a clip.
The agent calls slideshow_create, captures screenshots after each meaningful action, calls add_slide with active-voice captions, then set_summary at the end. You get back a share URL plus an edit URL for caption fixes later.
Or use the CLI directly:
agentclip slideshow create --title "Signup QA" --description "fresh-user flow"
agentclip slideshow add <slideshow_id> /tmp/shot1.png --caption "Clicked Sign Up. Form posted."
agentclip slideshow summary <slideshow_id> "Signup passed. One real bug at slide 4."
# Manage what you've made:
agentclip slideshow list
agentclip slideshow delete <slideshow_id>
MCP install (Claude Desktop, Claude Code, Cursor)
Add to your claude_desktop_config.json (or equivalent):
{
"mcpServers": {
"agentclip": {
"command": "uvx",
"args": ["agentclip-mcp"]
}
}
}
Restart your agent runtime. The four tools below will register automatically.
Tools
| Tool | Description |
|---|---|
slideshow_create |
Start a clip. Returns id, share URL, and a write_token used for subsequent mutations. |
slideshow_add_slide |
Append a screenshot + caption. The local state store auto-supplies the write_token. |
slideshow_update_slide |
Replace the image and/or caption of a slide already in the clip. |
slideshow_set_summary |
Set the clip's TL;DR, near the end of the run. |
Configuration
| Env var | Purpose | Default |
|---|---|---|
AGENTCLIP_BASE_URL |
Backend URL. Override for self-hosted. | https://agentclip.dev |
AGENTCLIP_STATE_PATH |
Write-token cache file. | ~/.agentclip/state.json |
Layout
src/agentclip/sdk.py:AgentClipClient, sync HTTP client overhttpxsrc/agentclip/cli.py:agentclip ...Typer CLI, thin wrapper over the SDKsrc/agentclip/mcp_server.py: MCP server registering the four toolssrc/agentclip/state.py: atomic-write~/.agentclip/state.jsonfor write_tokenssrc/agentclip/skill/SKILL.md: the bundled agent skill
Self-hosting the backend
Companion repo: ericelizes1/agentclip — the platform monorepo with the Django API and Next.js frontend. Reference deploy is Fly.io apps + Neon Postgres + Cloudflare R2 object storage, with secrets sourced from 1Password; docker compose up --build covers any Docker host. Point AGENTCLIP_BASE_URL at your domain. Full guide at docs.agentclip.dev/self-hosting.
Development
uv sync --all-extras --dev
uv run pytest -q
uv run ruff check .
See CONTRIBUTING.md for the contributor guide. CI runs lint + format + tests across Python 3.11/3.12/3.13 on every PR.
License
MIT. See LICENSE.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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 agentclip-0.3.1.tar.gz.
File metadata
- Download URL: agentclip-0.3.1.tar.gz
- Upload date:
- Size: 98.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77d78a4b11f516ac64683cb8f4ba3f6ac16031971f7ab73eafe181168459867c
|
|
| MD5 |
32669eda4e069d99838f01e46574d926
|
|
| BLAKE2b-256 |
b24fcf23de77572ea07c80834ae58efe2dd3c29775074942ec2b1eae86b128bb
|
Provenance
The following attestation bundles were made for agentclip-0.3.1.tar.gz:
Publisher:
release.yml on ericelizes1/agentclip-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agentclip-0.3.1.tar.gz -
Subject digest:
77d78a4b11f516ac64683cb8f4ba3f6ac16031971f7ab73eafe181168459867c - Sigstore transparency entry: 1464288874
- Sigstore integration time:
-
Permalink:
ericelizes1/agentclip-python@d88757282869f2f6fb6e06d16c90398ed4eb0a17 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/ericelizes1
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d88757282869f2f6fb6e06d16c90398ed4eb0a17 -
Trigger Event:
push
-
Statement type:
File details
Details for the file agentclip-0.3.1-py3-none-any.whl.
File metadata
- Download URL: agentclip-0.3.1-py3-none-any.whl
- Upload date:
- Size: 34.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09832ea1dff2b0779887580e956cda71b3aeadd83ce2fa888b0f346a1a466d75
|
|
| MD5 |
018af15ba6261c6bc43473d8cb105b96
|
|
| BLAKE2b-256 |
9cf294b22c8805afddc9030bf0f7d64ae01aff3bf7c0df18b372b82a06d6a68c
|
Provenance
The following attestation bundles were made for agentclip-0.3.1-py3-none-any.whl:
Publisher:
release.yml on ericelizes1/agentclip-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agentclip-0.3.1-py3-none-any.whl -
Subject digest:
09832ea1dff2b0779887580e956cda71b3aeadd83ce2fa888b0f346a1a466d75 - Sigstore transparency entry: 1464288997
- Sigstore integration time:
-
Permalink:
ericelizes1/agentclip-python@d88757282869f2f6fb6e06d16c90398ed4eb0a17 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/ericelizes1
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d88757282869f2f6fb6e06d16c90398ed4eb0a17 -
Trigger Event:
push
-
Statement type: