---
title: "anlyon-setup"
description: "The Agent Skill that adds Anlyon to a project: it runs anlyon init to sign you in, write a key to .env, install the SDK, connect the MCP server and make a governed call, with manual steps when it cannot."
---

`anlyon-setup` teaches your coding agent to add Anlyon to a codebase. It starts with [`anlyon init`](/setup-from-your-agent), which does the whole setup from the terminal, and stops at the steps a person takes: signing in, a provider's consent page, a sign-off, payment.

## What it teaches

- **Start with `anlyon init`.** One command signs you in, writes an agent key to `.env` without printing it, keeps `.env*` out of git, installs the SDK, adds the MCP server for Claude Code, Cursor and Codex, and makes a governed call. The agent reads the JSON report and gives you the receipt id, and hands you any link that needs you.
- **Guardrails in the repository.** `anlyon pull`, `plan` and `apply` keep actions, policies, limits and budgets in [`anlyon.yaml`](/cli/config-as-code).
- **Whose accounts the agent acts in**, and where to go next: your users' own accounts lead to [`anlyon-end-users`](/skills/anlyon-end-users), your company's accounts stay here, and a coding agent that should call actions itself gets the MCP setup.
- **Keys, kept apart.** An operator key that stores credentials and defines actions, an agent key with the Standard preset, and, for a product, a server key that requires an end user. Each in an environment variable, never in code, logs or chat.
- **Installing** `@anlyonhq/sdk`, `anlyon` (Python) or `@anlyonhq/ai-sdk`.
- **A startup check** with `auth.requireScopes`, so a key with a missing or forbidden scope fails before the agent runs.
- **A test governed action** against an echo endpoint, invoked with the agent key, with its receipt read back: `succeeded`, graded `acknowledged`.
- **A rules block** appended to `CLAUDE.md`, `AGENTS.md`, `.cursor/rules/anlyon.mdc` or `.github/copilot-instructions.md`.

## When it loads

Its description tells the agent to use it when you want to add Anlyon to a project, install the SDK, choose or check API keys and scopes, connect Claude Code, Cursor or Codex to the Anlyon MCP server, or make a test governed call.

## What's inside

| File | Holds |
| --- | --- |
| [`SKILL.md`](https://docs.anlyon.com/skills/anlyon-setup/SKILL.md) | The checklist and the code for each step |
| [`references/keys-and-scopes.md`](https://docs.anlyon.com/skills/anlyon-setup/references/keys-and-scopes.md) | Presets, privileged scopes, the usual key sets, plans |
| [`references/mcp-clients.md`](https://docs.anlyon.com/skills/anlyon-setup/references/mcp-clients.md) | Claude Code, Cursor and Codex over OAuth or an API key, and the MCP tools |
| [`LICENSE`](https://docs.anlyon.com/skills/anlyon-setup/LICENSE) | MIT |

Download: [anlyon-setup.zip](https://docs.anlyon.com/skills/anlyon-setup.zip).

## Install

```bash
npx skills add https://docs.anlyon.com --skill anlyon-setup
```

Other ways, and the folder each agent reads, are on [Agent Skills](/skills).

## Try it

> Add Anlyon to this repo.

> Add Anlyon to this repo. Our support agent should update GitHub issues through Anlyon instead of calling the GitHub API directly.

> Check whether the key in `ANLYON_AGENT_KEY` can invoke actions and does not hold any operator scopes.

> Connect Cursor to Anlyon's MCP server for this project, without putting a key in the repo.

With `anlyon init`, the agent creates the key for you after you sign in and writes it to `.env`. Without it, the agent asks you to create the keys in the console and set the variables. Either way it never asks you to paste a key into the chat.
