# AI agenti a MCP

Buduješ AI agenta, který má provádět skutečné astrologické výpočty místo halucinací? AstroWay se připojuje k **Claude (Anthropic), ChatGPT-4 (OpenAI), Llama 3.3 (Groq), DeepSeek, Google Gemini, Mistral** — prostřednictvím MCP, souborů `llms.txt` nebo přímých HTTP volání. Tři způsoby integrace — vyber si podle typu agenta:

- **`llms.txt`** — discovery soubory pro agenty, které čtou dokumentaci (Cursor IDE, Windsurf, Claude v prohlížeči, vlastní RAG pipeline v LangChain/LlamaIndex).
- **MCP server** — zero-code pro Claude Desktop, Cursor IDE, Windsurf, VS Code (llm CLI) a jakéhokoli klienta kompatibilního s MCP (včetně GPT s MCP přes OpenAI Realtime API).
- **HTTP API** — přímé volání z vlastního agenta nebo frameworku (LangChain, LlamaIndex, AutoGen, CrewAI).

## llms.txt — discovery pro AI agenty

Webová stránka vystavuje dva strojově čitelné soubory ve formátu [llms.txt](https://llmstxt.org/):

- **[`/llms.txt`](https://api.astroway.info/llms.txt)** — index všech stránek dokumentace seskupený do sekcí (API Reference, Use Cases, Examples, Products). Malý, vejde se do jakéhokoli context window.
- **[`/llms-full.txt`](https://api.astroway.info/llms-full.txt)** — celý obsah dokumentace jako jeden plain-text soubor. Vhodný pro offline indexování do vektorové databáze nebo jednorázové vložení do kontextu.

### Kdy použít

| Scénář | Soubor |
|---|---|
| Cursor/Windsurf „pročti docs astroway a pomoz s integrací“ | `/llms.txt` (agent si sám načte potřebné sekce) |
| Vlastní RAG pipeline / vektorová databáze pro FAQ bota | `/llms-full.txt` (jeden fetch — celý korpus) |
| Claude/ChatGPT v prohlížeči: „tady je náš API, postav klienta“ | `/llms-full.txt` vložit do promptu |
| Produkční agent s prováděním volání | MCP server nebo HTTP API (viz níže) |

### Příklad: pull do vlastního agenta

```ts
const docs = await fetch('https://api.astroway.info/llms-full.txt').then(r => r.text());

const systemPrompt = `You are an integration assistant for AstroWay API.
Documentation:
${docs}

When the user asks how to do X, return a working code snippet using their API key.`;
```

<Aside type="note">
Soubory se regenerují automaticky při každém releasu stránky. Čerstvost je zaručena: verze API na konci `/llms.txt` odpovídá aktuálnímu production deploy.
</Aside>

## MCP server (doporučeno pro Claude Desktop)

Model Context Protocol (MCP) je otevřený standard pro připojování nástrojů k AI modelům. AstroWay MCP server poskytuje 25 nástrojů pro výpočty a interpretace.

### Nastavení pro Claude Desktop

Přidej do `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "astroway": {
      "command": "npx",
      "args": ["@astroway/mcp"],
      "env": {
        "ASTROWAY_API_KEY": "aw_live_your_key_here"
      }
    }
  }
}
```

Po restartu Claude Desktop uvidíš 25 astrologických nástrojů.

### Co umí MCP server

| Nástroj | Co dělá |
|---|---|
| `natal_chart` | Výpočet nativní mapy |
| `synastry` | Synastrie dvou lidí |
| `daily_horoscope` | Denní horoskop |
| `interpret_natal` | AI interpretace nativní mapy |
| `human_design` | Úplná HD mapa |
| `transits` | Aktuální transity |

Úplný seznam obsahuje 25 nástrojů, které pokrývají základní výpočty a AI interpretace.

### Příklad dialogu s Claudem

> **Uživatel:** Postav nativní mapu pro osobu narozenou 14. července 1990 v 14:30 v Kyjevě. Co znamená Slunce v Raku v 10. domě?
>
> **Claude:** *Použije `natal_chart` pro výpočet, poté `interpret_placement` pro interpretaci. Vrací pozice planet s reálnými daty a smysluplnou interpretaci.*

## HTTP API

Pro AI agenty bez podpory MCP používej HTTP API přímo.

### Pro generování obsahu

<Tabs syncKey="lang">
  <TabItem label="TypeScript">
    ```ts
    // AI agent volá /interpret/natal pro interpretaci
    const r = await fetch('https://api.astroway.info/v1/interpret/natal', {
      method: 'POST',
      headers: {
        'X-Api-Key': process.env.ASTROWAY_API_KEY!,
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({
        date: '1990-07-14',
        time: '14:30:00',
        timezoneOffset: 3,
        latitude: 50.4501,
        longitude: 30.5234,
      }),
    });

    const result = await r.json();
    // result.text — hotová AI interpretace
    // result.disclaimer — disclaimer pro zobrazení
    ```
  </TabItem>
  <TabItem label="Python">
    ```python

    r = requests.post(
        'https://api.astroway.info/v1/interpret/natal',
        headers={'X-Api-Key': os.environ['ASTROWAY_API_KEY']},
        json={
            'date': '1990-07-14',
            'time': '14:30:00',
            'timezoneOffset': 3,
            'latitude': 50.4501,
            'longitude': 30.5234,
        },
    )
    result = r.json()
    # result['text'] — hotová AI interpretace
    # result['disclaimer'] — disclaimer pro zobrazení
    ```
  </TabItem>
  <TabItem label="cURL">
    ```bash frame="terminal"
    curl -X POST https://api.astroway.info/v1/interpret/natal \
      -H "X-Api-Key: $ASTROWAY_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "date": "1990-07-14",
        "time": "14:30:00",
        "timezoneOffset": 3,
        "latitude": 50.4501,
        "longitude": 30.5234
      }'
    ```
  </TabItem>
  <TabItem label="PHP">
    ```php
    <?php
    use GuzzleHttp\Client;

    $aw = new Client(['base_uri' => 'https://api.astroway.info/v1/']);
    $r = $aw->post('interpret/natal', [
        'headers' => ['X-Api-Key' => getenv('ASTROWAY_API_KEY')],
        'json' => [
            'date' => '1990-07-14',
            'time' => '14:30:00',
            'timezoneOffset' => 3,
            'latitude' => 50.4501,
            'longitude' => 30.5234,
        ],
    ]);

    $result = json_decode($r->getBody(), true);
    // $result['text']       — hotová AI interpretace
    // $result['disclaimer'] — disclaimer pro zobrazení
    ```
  </TabItem>
</Tabs>

### Pro výpočty + vlastní LLM

```ts
// 1. Získej surová data přes /chart (levnější — 20 kreditů)
const chart = await fetch('https://api.astroway.info/v1/chart', { ... });
const data = await chart.json();

// 2. Předávej data do svého LLM
const prompt = `Interpret this natal chart: ${JSON.stringify(data.planets)}`;
const llmResponse = await myLLM.generate(prompt);
```

<Aside type="tip">
Pokud potřebuješ pouze interpretaci — použij `/interpret/*` (50 kreditů, text hotový). Pokud chceš mít kontrolu nad promptem — vezmi `/chart` (20 kreditů) a předávej data do svého LLM.
</Aside>

## Scénáře

### Osobní astrologický asistent

MCP server + Claude/ChatGPT. Uživatel se zeptá — agent spočítá a interpretuje. Rozsah: Free tarif pro osobní použití.

### Content bot pro sociální sítě

Denní generování horoskopů pro 12 znamení přes `/horoscope/daily`. 12 dotazů denně = 240 kreditů. Free tarif s velkou rezervou.

### AI koučovací platforma

`/interpret/natal` + `/interpret/transits` pro každého klienta. 100 klientů/den = 10 000 kreditů/den. Tarif Pro.

<CardGrid>
  <LinkCard title="Rychlý start →" href="/getting-started/" description="První dotaz za 5 minut" />
  <LinkCard title="Horoskop API" href="/products/horoscope-api/" description="AI interpretace a horoskopy" />
  <LinkCard title="Tarify" href="/pricing/" description="Od zdarma až po Enterprise" />
</CardGrid>
