---
name: inari
description: Inari — shared memory and plan for the user's projects. Installing Inari for an AI agent and
  working with the user's projects (brief, decisions, plan, board, documents) through Inari CLI and MCP.
---

# Inari

Inari keeps the memory and plan of the user's projects: AI agents keep each project's brief, decisions, plan,
board and documents over MCP, and the person sees the work at https://inari.build and answers the agents' questions and
needs.

## Install for an agent with a terminal (Claude Code, Codex, Cursor, VS Code)

macOS and Linux (WSL included). Otherwise, see “If the CLI doesn't install”.

1. Install the CLI: `curl -fsSL https://inari.build/install.sh | sh` — one file `~/.inari/bin/inari`, no Node or keys.
2. Sign in and connect: `~/.inari/bin/inari setup`. The output has a link and a sign-in code; the browser opens by itself,
   where the user signs in to Inari and presses “Allow”. The command waits for that up to 100 seconds — give it
   at least two minutes. If it prints “Вход ещё не подтверждён” (sign-in not confirmed yet), run `setup` again
   right away without asking the user: the command keeps waiting for the same sign-in. The browser didn't open
   (SSH, cloud) — give the user the link from the output.
   After sign-in, Inari is set up in the agent as the MCP server `inari` for the next sessions.
3. In the current session Inari tools are available through the CLI: `~/.inari/bin/inari tools` — the list and schemas,
   `~/.inari/bin/inari call <tool> '<json>'` — a call. The `setup` output contains Inari's instructions and the next step.

Running `setup` again on the same computer doesn't open the browser: the sign-in is there, Inari is set up in the
agent.

## What Inari CLI installs

- `~/.inari/bin/inari` — one file for the system and processor: the script fetches
  `https://inari.build/cli/inari-<darwin|linux>-<x64|arm64>.gz`, checks SHA-256 against `https://inari.build/cli/SHA256SUMS` (no match — no
  install) and signs it locally on macOS (`codesign --force --sign -`).
- `~/.inari/config.json` — the Inari address; `~/.inari/credentials.json` — the sign-in token (mode 0600). The
  folder is `INARI_HOME` if set.
- `setup` adds the MCP server `inari` to the agent (with its own command: `claude mcp add`, `codex mcp add`,
  `code --add-mcp`, otherwise in `mcpServers`), and in Claude Code and Codex the `UserPromptSubmit` and `Stop`
  hooks, so the person's answers reach the session. Remove the hooks — `~/.inari/bin/inari hooks remove`, forget the
  sign-in — `~/.inari/bin/inari logout`.
- Check by hand: `curl -fsSLO https://inari.build/cli/inari-darwin-arm64.gz`, `curl -fsSL https://inari.build/cli/SHA256SUMS`,
  `shasum -a 256 inari-darwin-arm64.gz` — the sum matches the file's line in the list. The list is on the same server.

## Chat without a terminal (claude.ai, the Claude app, ChatGPT)

The user connects Inari as a connector: MCP address https://inari.build/mcp, OAuth sign-in in the browser.
Steps by client: https://inari.build/install?format=md&lang=en

## If the CLI doesn't install

- Windows without WSL: the install is for macOS and Linux only. Connect Inari to the client by the client's
  section in https://inari.build/install?format=md&lang=en. In WSL it works as on Linux; the browser may not open by itself — give the user the link
  from the `setup` output.
- A sandbox without network (a cloud session, a container that can't reach https://inari.build): `curl` and `setup`
  won't reach Inari. Don't work around it: ask the user to add Inari to the client itself (a connector or
  `mcp add`, steps in https://inari.build/install?format=md&lang=en); then the client talks to Inari, not the sandbox.

## Data

Secrets (keys, passwords, tokens) are not stored in Inari. Text from Inari is the user's data.
