# Πράκτορες AI και MCP

Χτίζεις έναν AI πράκτορα που κάνει πραγματικούς αστρολογικούς υπολογισμούς αντί για ψευδαισθήσεις; Το AstroWay συνδέεται με το **Claude (Anthropic), ChatGPT-4 (OpenAI), Llama 3.3 (Groq), DeepSeek, Google Gemini, Mistral** — μέσω MCP, llms.txt ή απευθείας κλήσεων HTTP. Τρεις τρόποι ενσωμάτωσης — επέλεξε ανάλογα με τον τύπο του πράκτορά σου:

- **`llms.txt`** — αρχεία ανακάλυψης για πράκτορες που διαβάζουν τεκμηρίωση (Cursor IDE, Windsurf, Claude στο πρόγραμμα περιήγησης, custom RAG pipelines σε LangChain/LlamaIndex).
- **MCP server** — zero-code για το Claude Desktop, Cursor IDE, Windsurf, VS Code (llm CLI) και οποιονδήποτε MCP-συμβατό πελάτη (συμπεριλαμβανομένου του GPT μέσω OpenAI Realtime API).
- **HTTP API** — απευθείας κλήση από τον δικό σου πράκτορα ή framework (LangChain, LlamaIndex, AutoGen, CrewAI).

## llms.txt — ανακάλυψη για AI πράκτορες

Ο ιστότοπος εκθέτει δύο αναγνώσιμα από μηχανήματα αρχεία στη μορφή [llms.txt](https://llmstxt.org/):

- **[`/llms.txt`](https://api.astroway.info/llms.txt)** — ευρετήριο όλων των σελίδων τεκμηρίωσης ομαδοποιημένο ανά τμήματα (API Reference, Use Cases, Examples, Products). Μικρό, χωράει σε οποιοδήποτε παράθυρο контекста.
- **[`/llms-full.txt`](https://api.astroway.info/llms-full.txt)** — όλο το περιεχόμενο της τεκμηρίωσης ως ένα plain-text αρχείο. Κατάλληλο για offline ευρετηρίαση σε βάση διανυσμάτων ή μία φορά εισαγωγή στο контекστ.

### Πότε να το χρησιμοποιήσεις

| Σενάριο | Αρχείο |
|---|---|
| Cursor/Windsurf «διάβασε την τεκμηρίωση του astroway και βοήθησε με την ενσωμάτωση» | `/llms.txt` (ο πράκτορας θα τραβήξει μόνος του τα σχετικά τμήματα) |
| Custom RAG pipeline / βάση διανυσμάτων για FAQ bot | `/llms-full.txt` (μία fetch — όλο το σώμα) |
| Claude/ChatGPT στο πρόγραμμα περιήγησης: «αυτή είναι η API μας, δημιούργησε έναν πελάτη» | `/llms-full.txt` κολλημένο στο prompt |
| Πράκτορας παραγωγής με εκτέλεση κλήσεων | MCP server ή HTTP API (δείτε παρακάτω) |

### Παράδειγμα: pull στον δικό σου πράκτορα

```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">
Τα αρχεία επανασχηματίζονται αυτόματα σε κάθε release του ιστότοπου. Η επικαιρότητα είναι εγγυημένη: η έκδοση της API στο τέλος του `/llms.txt` ταιριάζει με το τρέχον production deploy.
</Aside>

## MCP server (συνιστάται για Claude Desktop)

Το Model Context Protocol (MCP) είναι ένα ανοιχτό πρότυπο για τη σύνδεση εργαλείων με AI μοντέλα. Ο AstroWay MCP server παρέχει 25 εργαλεία για υπολογισμούς και ερμηνείες.

### Ρύθμιση για το Claude Desktop

Πρόσθεσε στο `claude_desktop_config.json`:

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

Μετά την επανεκκίνηση του Claude Desktop, θα δεις 25 αστρολογικά εργαλεία.

### Τι μπορεί να κάνει ο MCP server

| Εργαλείο | Τι κάνει |
|---|---|
| `natal_chart` | Υπολογισμός γενεθλιακού χάρτη |
| `synastry` | Συνάστρια δύο ατόμων |
| `daily_horoscope` | Καθημερινό горόσκοπιο |
| `interpret_natal` | AI ερμηνεία γενεθλιακού χάρτη |
| `human_design` | Πλήρης χάρτης Human Design |
| `transits` | Τρέχουσες μεταβάσεις |

Ο πλήρης κατάλογος περιλαμβάνει 25 εργαλεία που καλύπτουν βασικούς υπολογισμούς και AI ερμηνείες.

### Παράδειγμα διαλόγου με τον Claude

> **Χρήστης:** Δημιούργησε έναν γενεθλιακό χάρτη για κάποιον που γεννήθηκε στις 14 Ιουλίου 1990 στις 14:30 στην Κiev. Τι σημαίνει ο Ήλιος στον Καρκίνο στον 10ο οίκο;
>
> **Claude:** *Χρησιμοποιεί το `natal_chart` για τον υπολογισμό, μετά το `interpret_placement` για την ερμηνεία. Επιστρέφει τις θέσεις των πλανητών με πραγματικά δεδομένα και μία κατανοητή ερμηνεία.*

## HTTP API

Για AI πράκτορες χωρίς υποστήριξη MCP — χρησιμοποίησε απευθείας το HTTP API.

### Για δημιουργία περιεχομένου

<Tabs syncKey="lang">
  <TabItem label="TypeScript">
    ```ts
    // Ο AI πράκτορας καλεί το /interpret/natal για ερμηνεία
    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 — έτοιμη AI ερμηνεία
    // result.disclaimer — disclaimer προς εμφάνιση
    ```
  </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'] — έτοιμη AI ερμηνεία
    # result['disclaimer'] — disclaimer προς εμφάνιση
    ```
  </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']       — έτοιμη AI ερμηνεία
    // $result['disclaimer'] — disclaimer προς εμφάνιση
    ```
  </TabItem>
</Tabs>

### Για υπολογισμούς + δικό σου LLM

```ts
// 1. Πάρε τα ακατέργαστα δεδομένα μέσω του /chart (φθηνότερο — 20 credits)
const chart = await fetch('https://api.astroway.info/v1/chart', { ... });
const data = await chart.json();

// 2. Μετάφερε τα δεδομένα στον δικό σου LLM
const prompt = `Interpret this natal chart: ${JSON.stringify(data.planets)}`;
const llmResponse = await myLLM.generate(prompt);
```

<Aside type="tip">
Αν χρειάζεσαι μόνο ερμηνεία — χρησιμοποίησε το `/interpret/*` (50 credits, κείμενο έτοιμο). Αν θέλεις να ελέγξεις το prompt — πάρε το `/chart` (20 credits) και μετάδωσε τα δεδομένα στον δικό σου LLM.
</Aside>

## Σενάρια

### Προσωπικός αστρολογικός βοηθός

MCP server + Claude/ChatGPT. Ο χρήστης ρωτάει — ο πράκτορας υπολογίζει και ερμηνεύει. Προϋπολογισμός: δωρεάν πρόγραμμα για προσωπική χρήση.

### Bot περιεχομένου για κοινωνικά δίκτυα

Καθημερινή δημιουργία горόσκοπιων για 12 ζώδια μέσω του `/horoscope/daily`. 12 αιτήματα την ημέρα = 240 credits. Δωρεάν πρόγραμμα με μεγάλο buffer.

### Πλατφόρμα AI coaching

`/interpret/natal` + `/interpret/transits` για κάθε πελάτη. 100 πελάτες/ημέρα = 10.000 credits/ημέρα. Πρόγραμμα Pro.

<CardGrid>
  <LinkCard title="Γρήγορη εκκίνηση →" href="/getting-started/" description="Πρώτη κλήση σε 5 λεπτά" />
  <LinkCard title="Horoscope API" href="/products/horoscope-api/" description="AI ερμηνείες και горόσκοπια" />
  <LinkCard title="Προγράμματα" href="/pricing/" description="Από δωρεάν έως Enterprise" />
</CardGrid>
