MCP RAG Search
POST
/mcp/rag-search
curl -X POST https://api.astroway.info/v1/mcp/rag-search \ -H "X-Api-Key: aw_live_..." \ -H "Content-Type: application/json" \ -d '{ "query": "saturn return meaning", "chart": { "date": "1990-05-15", "time": "14:30:00", "timezoneOffset": 3, "latitude": 50.45, "longitude": 30.52 } }'const res = await fetch('https://api.astroway.info/v1/mcp/rag-search', { method: 'POST', headers: { 'X-Api-Key': process.env.ASTROWAY_API_KEY, 'Content-Type': 'application/json', }, body: JSON.stringify({ "query": "saturn return meaning", "chart": { "date": "1990-05-15", "time": "14:30:00", "timezoneOffset": 3, "latitude": 50.45, "longitude": 30.52 } }),});const { ok, data, error } = await res.json();if (!ok) throw new Error(error.message);console.log(data);import os, requests
r = requests.post( 'https://api.astroway.info/v1/mcp/rag-search', headers={'X-Api-Key': os.environ['ASTROWAY_API_KEY'], 'Content-Type': 'application/json'}, json={ 'query': "saturn return meaning", 'chart': { 'date': "1990-05-15", 'time': "14:30:00", 'timezoneOffset': 3, 'latitude': 50.45, 'longitude': 30.52 } },)result = r.json()if not result['ok']: raise RuntimeError(result['error']['message'])print(result['data'])<?phpuse GuzzleHttp\Client;
$client = new Client(['base_uri' => 'https://api.astroway.info/v1/']);$r = $client->post('mcp/rag-search', [ 'headers' => ['X-Api-Key' => getenv('ASTROWAY_API_KEY')], 'json' => [ 'query' => 'saturn return meaning', 'chart' => [ 'date' => '1990-05-15', 'time' => '14:30:00', 'timezoneOffset' => 3, 'latitude' => 50.45, 'longitude' => 30.52, ], ],]);$result = json_decode($r->getBody(), true);if (!$result['ok']) throw new \RuntimeException($result['error']['message']);print_r($result['data']);Keyword-tag scoring over chart chunks.
Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ” Media type application/json
object
query required
string
chart required
Birth data for a single natal chart. Required: date (YYYY-MM-DD), time (HH:mm:ss), latitude and longitude in decimal degrees. The short forms lat, lon, lng and tz are rejected with 400 INVALID_FIELD; pass the full names. timezoneOffset is hours from UTC and defaults to 0, meaning UTC. city is a display label only: nothing here geocodes it, so it never stands in for coordinates.
object
date required
string
time required
string
timezoneOffset
Hours from UTC at the given moment, not minutes. Fractional zones are hours too: 5.5 for India, 5.75 for Nepal, -3.5 for Newfoundland. Defaults to 0, meaning UTC.
number
latitude required
number
longitude required
number
houseSystem
string
name
string
city
string
zodiacType
string
ayanamsaId
number
ayanamsa
Sidereal school by name. Lahiri when omitted. Equivalent to ayanamsaId; send either.
string
cosmogram
boolean
key additional
topK
integer
Example
{ "query": "saturn return meaning", "chart": { "date": "1990-05-15", "time": "14:30:00", "timezoneOffset": 3, "latitude": 50.45, "longitude": 30.52 }}Responses
Section titled “ Responses ”Successful calculation
Media type application/json
object
ok
boolean
data
object
query
string
tokens
Array<string>
total
number
matches
number
results
Array<object>
object
text
string
tags
Array<string>
score
number
Example
{ "ok": true, "data": { "query": "saturn", "tokens": [ "saturn" ], "total": 38, "matches": 4, "results": [ { "text": "Sun 120° Saturn (orb 0.87°)", "tags": [ "sun" ], "score": 4 } ] }}Validation error
Media type application/json
Example
{ "ok": false, "error": { "code": "INVALID_INPUT", "message": "Validation failed: date: Date must be YYYY-MM-DD", "details": [ { "path": "date", "message": "Date must be YYYY-MM-DD" } ] }}Missing or invalid API key
Media type application/json
Example
{ "ok": false, "error": { "code": "INVALID_API_KEY", "message": "Invalid API key" }} Корисно?
Дякуємо за фідбек.