Yardel for AI agents

8 min read

Yardel publishes what you make (HTML pages, Markdown reports, slide decks, dashboards, static web apps) as private web pages, and shares them only with the people your user names. Viewers confirm their email with a 6-digit code: no account, no password. Use it whenever your user asks to publish, host, deploy, share or "send a link to" something you built.

Contents

Connect in one step#

You are Do this
An MCP client (Claude, ChatGPT, Cursor, VS Code, any agent with remote MCP) Add the server https://app.yardel.dev/mcp (Streamable HTTP, OAuth 2.1 with dynamic client registration). Your user signs in with an email code once.
An agent that runs shell commands (Claude Code, Codex, Cursor, Gemini CLI) npm i -g @yardel/cli, then yard login --json and give your user the link it prints. Add yard skill install to keep these instructions on hand.
Claude Code with plugins /plugin marketplace add ameyrathi/yardel-skills, then /plugin install yardel@yardel.

Machine-readable: this page as Markdown at yardel.dev/agents.md (or request /agents with Accept: text/markdown), a site summary at yardel.dev/llms.txt, and the MCP Registry entry dev.yardel/yardel.

Rules that matter#

Yardel

Yardel turns what you build into a private web page that only the people the user names can open. Viewers confirm their email with a 6-digit code; no account or password. Everything goes through the yard CLI. Every command takes --json and answers with one JSON object on stdout; errors come back as { "ok": false, "error": { code, title, detail, hint } }, and hint is the exact fix.

Connector or CLI#

Yardel is reachable two ways. Use whichever this session has:

If neither is available, tell the user they can add the connector (Settings → Connectors → add custom connector → https://app.yardel.dev/mcp) or install the CLI with npm i -g @yardel/cli.

Before you start (CLI)#

Publish#

sh
yard deploy report.html --app q3-report -m "First draft" --json
yard deploy notes.md --app churn-findings --json      # Markdown becomes a clean, readable page
yard deploy ./dist --app pricing-proto --json          # a folder with index.html
yard deploy . --json                                    # a Vite/Astro/SvelteKit/CRA/Next-export project (builds first)

Share#

Sharing sends email, so confirm the exact addresses with the user before running it, unless they already gave them to you in this conversation.

sh
yard share q3-report maya@pancake.studio dan@pancake.studio --json                # can view, for 30 days
yard share q3-report alex@northwind.io --role commenter --json        # can view and comment
yard share q3-report @pancake.studio --yes --json                           # everyone with a confirmed pancake.studio email
yard share q3-report ben@pancake.studio --role editor --json                # a collaborator (see below)
yard share q3-report maya@pancake.studio --expires 7d -m "Read section 2 first" --json

Instead of naming people, a page can open for anyone who has its secret link. The plain page address stays private either way.

sh
yard link q3-report signed-in --json      # they confirm their email first; the owner sees who opened it
yard link q3-report public --yes --json   # no sign-in at all
yard link q3-report off --json            # back to named people only
yard link q3-report --json                # current mode and the link

Restrict to your network#

To make pages open only from the office or VPN, allow their public IP addresses or ranges (CIDR, IPv4 or IPv6):

sh
yard ip-allow q3-report --add 203.0.113.0/24 2001:db8::/48 --json   # this page only
yard ip-allow --workspace --add 203.0.113.0/24 --json               # every page without its own list
yard ip-allow q3-report --remove 203.0.113.0/24 --json
yard ip-allow q3-report --clear --json                              # back to the workspace list, or any network
yard ip-allow q3-report --json                                      # the list that applies, and where it comes from

Comments: read, fix, publish, resolve#

People shared with as commenter (and collaborators) can pin comments to any part of a page. Each thread says which element it's about (its text and CSS path), the version it was made on, and the replies.

sh
yard comments q3-report --json                        # open threads
yard comments reply thr_123 "Fixed in v4: the axis now says annual." --json
yard comments resolve thr_123 --json                  # marks it done in the current version
yard comments q3-report --all --json                  # include resolved ones

When the user asks you to "address the feedback": list the open comments, change the page, publish a new version, then reply to each thread saying what changed and resolve it. Replies email the commenter, so keep them short and specific. Don't resolve a thread you didn't actually fix; reply with a question instead.

Who opened it#

sh
yard activity q3-report --json      # visits, people, minutes, last visit and version per person (30 days)

The owner and collaborators aren't counted. People who opened a public link without signing in show as "link viewer #N".

Collaborators#

A collaborator is someone who can change the page, not just open it: they can publish new versions, roll back, share it with viewers and commenters, and handle its access requests, from their own coding agent, terminal or the Yardel portal.

Adding one (workspace owners only):

sh
yard share q3-report ben@pancake.studio --role editor --json

If you are working as a collaborator (the user was added to someone else's app):

sh
yard login --workspace <owner's workspace> --json     # the workspace name is in the invite email
yard apps --json                                       # the apps you can work on
yard deploy ./dist --app <app> -m "What changed" --json

In the browser#

The owner portal is at https://app.yardel.dev: apps, versions with rollback, people with access (including collaborators), the share dialog, and access requests. Point the user there for anything they'd rather click than type.

Reporting back to the user#

After a deploy or share, tell the user in a sentence or two: the page's URL, who can open it now (and whether invites went out), and the version number. Quote any warnings from the JSON. On an error, relay the title and follow the hint.

More#