Skip to content

Quickstart

View as Markdown

This page shows the shortest path from an empty server to a first answer from your agent. Each step links to a full page with all options.

  • A Linux server (amd64 or arm64) with systemd and glibc 2.36 or newer, for example Debian 12 or Ubuntu 24.04. Docker also works.
  • A DNS name, for example stats.example.com, that points at the server.
  • Open ports 80 and 443 on the server.
  • A website where you can add a script tag, for example example.com.

Run the installer as root. Give your domain for automatic TLS:

Terminal window
curl -fsSL [INSTALL_URL] | sudo sh -s -- --domain stats.example.com

The installer puts checkend and ce in /usr/local/bin, makes a systemd service and starts it. At the end, it prints a one-time setup URL.

Full page: Install Checkend.

  1. Open the setup URL in a browser. It looks like https://stats.example.com/setup#cesetup_....
  2. Type your email address.
  3. Select Create a passkey.

You are now the first admin. The setup URL then does not work again.

Full page: First boot.

The setup page asks for the first site. You can also add a site with ce. Log in first, then add the site:

Terminal window
ce login https://stats.example.com
ce sites add example.com

Checkend shows the script tag and an install prompt. Copy the install prompt into your coding agent. The agent adds the tag to your site and checks that events arrive. Or add the script tag yourself:

<script defer data-site="example.com" src="https://stats.example.com/js/script.js"></script>

Then check the install:

Terminal window
ce sites verify example.com

Full page: Add a site.

Give your MCP client the URL of the MCP server:

https://stats.example.com/mcp

For example, in Claude Code:

Terminal window
claude mcp add --transport http checkend https://stats.example.com/mcp

The client opens a consent page in your browser. Sign in with your passkey, check the access, and approve. The default access is read only.

Full page: Connect your agent.

Ask your agent a question in plain words, for example:

What changed on example.com this week, and what should I fix first?

The agent calls the get_brief tool. The brief has the top changes, the open findings, the recent changes and the outcomes of earlier changes. Each top change has a significance test, and the brief shows the data date of each site.

You can read the same brief in a terminal:

Terminal window
ce brief example.com