# Herald MCP kurulum talimati (ajanlar icin)

> Bu dosya bir AI ajanina yoneliktir. Kullanici sana bu sayfanin adresini verip
> "bu MCP'yi kur" dediyse, asagidaki adimlari SIRAYLA uygula.

Sunucu: `https://herald-api.alessira.app/mcp`
Kayit ucu: `https://herald-api.alessira.app/api/auth/register`

---

## ADIM 0 — Once zaten kurulu mu diye BAK

**Bu adimi atlama.** Kullanici her "kur" dediginde sifirdan kurulum yapma; Herald zaten
bagliysa yeni hesap acmaya ve yeni anahtar almaya gerek yok.

Kullandigin istemciye gore kontrol et:

| Istemci | Kontrol |
|---|---|
| Claude Code | `claude mcp list` ciktisinda `herald` var mi? |
| Codex | `~/.codex/config.toml` icinde `[mcp_servers.herald]` var mi? |
| Cursor | `~/.cursor/mcp.json` icinde `herald` anahtari var mi? |
| VS Code | `.vscode/mcp.json` icinde `herald` var mi? |

**Varsa:** calistigini dogrula — `herald_list_placements` tool'unu cagir (salt okunur,
hesap acmaz, run baslatmaz).
- Cevap donuyorsa: **kurulum tamam.** Kullaniciya "Herald zaten kurulu ve calisiyor,
  `/herald-mcp` yazabilirsin" de ve DUR. Adim 1'e gecme.
- 401 donuyorsa anahtar iptal edilmis ya da suresi dolmus demektir; Adim 1'e gec.

**Yoksa:** Adim 1'e gec.

---

## ADIM 1 — Kullanicidan e-posta ve sifre iste

Kullaniciya sor:

> Herald hesabini olusturmak icin bir e-posta ve sifre belirle.
> Sifre en az 10 karakter olmali.

Kurallar:
- E-posta **benzersiz kimliktir**. Ayni e-posta ikinci kez gelirse yeni hesap acilmaz.
- Kullanici daha once kaydolduysa **ayni sifreyi** girmeli.
- Sifreyi sohbete tekrar yazma, dosyaya kaydetme, log'a dusurme.
- Kullanici e-posta vermek istemiyorsa kurulumu yapamazsin; bunu soyle ve dur.

---

## ADIM 2 — Kayit ucunu cagir

```bash
curl -sS -X POST https://herald-api.alessira.app/api/auth/register \
  -H "Content-Type: application/json" \
  -d '{
    "email": "<kullanicinin-epostasi>",
    "password": "<kullanicinin-sifresi>",
    "deviceName": "<bu-makinenin-adi>",
    "clientHint": "claude-code"
  }'
```

`clientHint` degerini kendine gore ver: `claude-code`, `codex`, `cursor`, `vscode`.

### Donen cevap

```json
{
  "alreadyRegistered": false,
  "email": "kullanici@ornek.com",
  "apiKey": "hk_live_...",
  "mcpUrl": "https://herald-api.alessira.app/mcp",
  "adminUrl": "https://herald-admin.alessira.app",
  "installCommand": "claude mcp add --transport http --scope user herald ...",
  "message": "..."
}
```

| Durum | Anlami | Ne yapacaksin |
|---|---|---|
| `201` | Hesap yeni acildi | Adim 3'e gec |
| `200` + `alreadyRegistered: true` | Hesap zaten vardi, bu makineye yeni anahtar verildi | Adim 3'e gec, kullaniciya hesabinin zaten oldugunu soyle |
| `409` | E-posta kayitli ama sifre yanlis | Kullaniciya `recovery` alanindaki mesaji ilet, dogru sifreyi iste |
| `400` | Dogrulama hatasi | `errors` alanindaki alan mesajlarini kullaniciya ilet |
| `429` | Cok fazla deneme | Kullaniciya bir saat sonra tekrar denemesini soyle, DONGUYE GIRME |

`apiKey` **sadece bu cevapta** doner, bir daha alinamaz. Bir sonraki adimda kullan.

---

## ADIM 3 — Sunucuyu istemciye ekle

Cevaptaki `installCommand` Claude Code icindir; diger istemcilerde `apiKey` degerini
asagidaki sablona yerlestir.

**Claude Code**
```bash
claude mcp add --transport http --scope user herald \
  https://herald-api.alessira.app/mcp \
  --header "Authorization: Bearer <apiKey>"
```

**Codex** — `~/.codex/config.toml`
```toml
[mcp_servers.herald]
url = "https://herald-api.alessira.app/mcp"

[mcp_servers.herald.http_headers]
Authorization = "Bearer <apiKey>"
```

**Cursor** — `~/.cursor/mcp.json`
```json
{
  "mcpServers": {
    "herald": {
      "type": "http",
      "url": "https://herald-api.alessira.app/mcp",
      "headers": { "Authorization": "Bearer <apiKey>" }
    }
  }
}
```

**VS Code** — `.vscode/mcp.json`
```json
{
  "servers": {
    "herald": {
      "type": "http",
      "url": "https://herald-api.alessira.app/mcp",
      "headers": { "Authorization": "Bearer <apiKey>" }
    }
  }
}
```

Mevcut bir yapilandirma dosyasini **uzerine yazma**; icindeki diger sunuculari koruyarak
`herald` girdisini ekle.

---

## ADIM 4 — Dogrula

`herald_list_placements` tool'unu cagir. Yayin yerleri listesi donuyorsa kurulum tamamdir.

Tool gorunmuyorsa istemcinin MCP sunucularini yeniden yuklemesi gerekebilir; kullaniciya
istemciyi yeniden baslatmasini soyle.

---

## ADIM 5 — Kullaniciya ne yapacagini soyle

> Herald kuruldu. Artik `/herald-mcp` yazabilir ya da dogrudan ne istedigini soyleyebilirsin:
> "3 tane 15 saniyelik Instagram Reels ve 2 tweet olustur" gibi.
> Uretilen icerikleri panelden gorup indirebilirsin: https://herald-admin.alessira.app

Istege bagli — `/herald-mcp` kisayolunu yerel komut olarak da kurabilirsin:

```bash
mkdir -p ~/.claude/commands && cat > ~/.claude/commands/herald-mcp.md <<'EOF'
---
description: Herald ile projeniz icin sosyal medya icerigi uretin
---
Herald MCP sunucusundaki `herald_start_run` tool'unu cagir ve donen talimatlari
harfiyen, adim adim uygula. Adim atlama.
EOF
```

---

## On kosul

Video render'i kullanicinin makinesinde yapilir. `ffmpeg -version` calistir; kurulu
degilse kullaniciya soyle. Kurulum yine de tamamlanir, yalnizca video ureten adimda
sorun cikar; sadece metin gonderisi (tweet, Reddit) icin ffmpeg gerekmez.

## Yapma

- Kullanici her "kur" dediginde bastan kurma — once Adim 0'i uygula.
- Sifreyi sohbete, dosyaya ya da log'a yazma.
- `429` alinca dongude tekrar deneme.
- Kullanicinin onayi olmadan mevcut MCP yapilandirmasini silme.
