Aller au contenu
AstroWay/api v2.325.2 · fr
tous les systèmes sont opérationnels

Configuration de l'agent

Connectez l’API AstroWay à des agents IA via MCP (Model Context Protocol). Le catalogue est accessible de deux façons, toutes deux avec vos clés aw_test_* / aw_live_*:

  • Hosted (HTTP): https://mcp.astroway.info/mcp, sans installation, authentification par jeton Bearer.
  • Stdio (npx): npx @astroway/mcp, sous-processus local, authentification par variable d’environnement, fonctionne hors ligne.

Obtenez une clé gratuite dans le tableau de bord, puis choisissez votre client.

843 outils dans une seule réponse représentent 3,4 Mo que l’agent doit lire avant d’en choisir un. La plupart des clients abandonnent bien avant.

https://mcp.astroway.info/mcp/<domaine> renvoie un seul sujet au lieu de tout. La configuration reste la même, seule l’URL change.

DomaineURLOutilsTaille de tools/list
Astrologie de base/mcp/core104389 Ko
Védique/mcp/vedic192970 Ko
Métaphysique chinoise/mcp/chinese60202 Ko
Hellénistique et tradition/mcp/hellenistic59240 Ko
Tarot/mcp/tarot79209 Ko
Numérologie/mcp/numerology64158 Ko
Human Design/mcp/human-design27125 Ko
Prévisions/mcp/forecast43209 Ko
Relations/mcp/relationships42247 Ko
Psychologique/mcp/psychological28107 Ko
Divination et ésotérisme/mcp/divination79185 Ko
Lectures appliquées/mcp/applied45148 Ko
Rapports/mcp/reports42209 Ko
Plateforme/mcp/platform42119 Ko

Mesuré en production le 2026-09-21. /mcp renvoie toujours le catalogue complet, donc rien de ce qui était configuré auparavant n’est cassé. La vérification du solde et l’estimation du coût d’un appel sont présentes dans chaque domaine, car un agent limité à l’astrologie védique doit tout de même savoir combien coûte un appel.

GET /domains renvoie cette même liste en JSON, sans clé. Un domaine inconnu donne un 404 avec la liste des domaines réels, et non un renvoi silencieux des 843 outils.

La première question d’un agent n’est jamais “calcule une carte”. Elle ressemble plutôt à “que sait faire cette API, à quoi ressemble un appel et combien cela va-t-il me coûter”. On peut répondre aux trois sans clé: https://mcp.astroway.info/mcp/docs ne consomme aucun crédit, et ne demande donc pas d’autorisation.

OutilCe qu’il fait
find_endpointRecherche parmi les 770 opérations. Pour chacune, renvoie la méthode, l’URL, le prix en crédits, le plan, les champs obligatoires du corps et un lien vers la référence
search_docsRecherche dans 281 pages de guides, ukrainiennes et anglaises, avec la liste des sections de chacune
read_docRenvoie une page au format markdown
list_docsL’index complet, groupé par sections

700 des 770 opérations ont un prix, 37 autres sont marquées comme répondant sans clé. Autrement dit, le coût d’un scénario peut être calculé avant même d’avoir un compte.

terminal
curl https://mcp.astroway.info/mcp/docs \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"find_endpoint","arguments":{"query":"solar return","limit":2}}}'

read_doc ne lit que les pages présentes dans l’index. Tout autre chemin est refusé, et aucune requête ne part vers l’extérieur.

Chaque outil accepte deux paramètres en plus des siens: fields (liste de chemins séparés par des virgules, relatifs à data) et precision (nombre de décimales à conserver). Ils vont dans la même API que via REST, et la différence en tokens n’est pas rhétorique.

Appel de carte natale via MCPOctets
sans paramètres, comme avant le 21.09.202691 737
sans paramètres, aujourd’hui72 484
precision: 261 356
fields: "planets.name,planets.longitude,houses.cusp" plus precision: 21 182

Mesuré en production le 2026-09-21. Les crédits sont identiques sur les quatre lignes: c’est celui qui lit la réponse qui paie la différence.

Un chemin qui ne correspond à aucun champ revient dans _fields_unmatched. Une liste où rien ne correspond donne 400 FIELDS_UNKNOWN avec la liste, et non une réponse vide. Description complète des deux paramètres: conventions de l’API.

Sans aucun client - l’endpoint hébergé parle JSON-RPC sur HTTP. Liste des outils avec un jeton Bearer:

terminal
curl https://mcp.astroway.info/mcp \
-H "Authorization: Bearer aw_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Si votre agent parle le langage du function calling d’OpenAI ou d’Anthropic plutôt que MCP, demandez à l’API des définitions d’outils prêtes à l’emploi et passez-les directement au modèle. Elles sont générées à partir du document OpenAPI, donc le schéma que remplit le modèle est le même que celui que vérifie l’endpoint.

terminal
curl "https://api.astroway.info/v1/agent/tools?format=openai" \
-H "X-Api-Key: aw_live_YOUR_KEY"

La réponse a deux moitiés. tools correspond exactement au contrat du fournisseur et ne contient rien de chez nous, vous pouvez donc le placer tel quel dans l’appel au modèle: une clé en trop dans l’objet d’un outil donne un 400 de leur côté. executors indique comment exécuter chaque outil et utilise les mêmes clés que celles que renverra le modèle:

réponse, abrégée
{
"tools": [
{ "type": "function", "function": { "name": "astroway_post_chart", "description": "Natal chart...",
"parameters": { "type": "object", "required": ["date", "time", "latitude", "longitude"], "properties": { "...": {} } } } }
],
"executors": {
"astroway_post_chart": { "method": "POST", "path": "/v1/chart", "credits": 20, "group": "Core" }
},
"count": 26, "totalMatched": 26, "totalAvailable": 751, "truncated": false
}

Votre exécuteur tient ensuite en cinq lignes: trouver le nom dans executors, envoyer les arguments du modèle comme corps JSON vers ce chemin avec votre X-Api-Key, renvoyer la réponse au modèle. Aucun outil ne contient d’identifiants, cette liste peut donc être mise en cache sans risque.

C’est vous qui choisissez ce que voit le modèle. Par défaut, il s’agit d’un jeu de départ sélectionné de 26 outils, et non du catalogue entier: OpenAI limite une requête à 128 fonctions, et les modèles commencent à moins bien choisir bien avant cette limite. Réduisez ou élargissez avec select=all, select=group:Vedic, select=paths:/chart,/synastry, filtrez à l’intérieur avec q=, limitez avec limit= (128 au maximum). Rien ne disparaît en silence: totalMatched et notes indiquent ce qui est resté en dehors. Ajoutez format=anthropic pour obtenir { name, description, input_schema }.

L’appel est gratuit et ne consomme pas de crédits.

Sur les endpoints où nous générons du texte, vous pouvez payer les tokens vous-même. Deux en-têtes, les deux ou aucun:

terminal
curl https://api.astroway.info/v1/ai/explain-aspect \
-H "X-Api-Key: aw_live_YOUR_KEY" \
-H "X-Provider: anthropic" \
-H "X-Provider-Key: sk-ant-YOUR_PROVIDER_KEY" \
-H "Content-Type: application/json" \
-d '{"planet1":"Saturn","planet2":"Moon","aspectType":"Square"}'

X-Provider est l’un de openai, anthropic, google, groq, mistral, openrouter, deepseek, together; l’adresse de chacun est fixée de notre côté et n’est jamais prise dans la requête. X-Provider-Model est facultatif et remplace le modèle par défaut.

Il n’y a pas de repli sur notre chaîne. Si votre clé ne fonctionne pas, vous recevez le statut et le message du fournisseur, et non une réponse payée par nous: un repli silencieux dépenserait nos tokens sur une requête que vous pensiez être la vôtre, et il serait impossible de s’en apercevoir.

Un tel appel coûte 5 crédits au lieu du prix de l’endpoint. Nous calculons tout de même la carte, assemblons le prompt et appliquons les garde-fous; la complétion, c’est vous qui l’avez achetée.

Votre clé n’est journalisée, stockée ni mise en cache nulle part. Elle passe par un en-tête, car le corps de la requête est haché dans deux clés de cache, et notre journal des requêtes n’enregistre aucun en-tête. Une erreur du fournisseur qui cite votre clé est expurgée avant d’atteindre nos logs ou votre réponse. Un appel avec votre clé contourne les deux caches dans les deux sens: il ne recevra jamais une réponse produite par nous, et sa réponse ne parviendra jamais à quelqu’un d’autre.

Les en-têtes figurent dans la spécification. Chaque chemin qui les accepte déclare X-Provider, X-Provider-Key et X-Provider-Model dans /v1/openapi.json, donc un client généré les prendra en charge comme n’importe quel autre paramètre, sans avoir besoin de cette page. Ils ne sont déclarés que là où nous appelons réellement un modèle: vous pouvez les envoyer à /chart, mais il ne se passera rien, et vous paierez le prix normal de l’endpoint.

Vous voulez connecter directement l’API REST ou fournir la spécification à votre propre agent ?