# MCP — Claude / Cursor कनेक्शन

AstroWay का MCP सर्वर **सभी {siteMeta.endpoints} एंडपॉइंट्स** को AI एजेंट के लिए टूल के रूप में उजागर करता है। दो मोड उपलब्ध हैं — दोनों ही सभी MCP-संगत क्लाइंट्स द्वारा मूल रूप से समर्थित हैं।

| मोड | URL / कमांड | कब चुनें |
|---|---|---|
| **Hosted HTTP** | `https://mcp.astroway.info/mcp` | Claude Web (ब्राउज़र में claude.ai), Claude Desktop / Cursor / Code नए उपयोगकर्ता जिन्हें npm की ज़रूरत नहीं है, या जब तुम्हें zero-install चाहिए |
| **Stdio (npm)** | `npx @astroway/mcp` | Cursor पावर उपयोगकर्ता, लोकल डेवलपमेंट, privacy-conscious (कुंजी कभी भी तुम्हारी मशीन छोड़कर नहीं जाती), offline-ready |

Hosted एंडपॉइंट और npm पैकेज **एक ही टूल कैटलॉग** का उपयोग करते हैं (इसे `/v1/openapi.json` से जनरेट किया जाता है)। Auth: वही `aw_test_*` / `aw_live_*` API कुंजी — hosted में इसे `Authorization: Bearer …` हेडर के माध्यम से भेजा जाता है, जबकि stdio में इसे `ASTROWAY_API_KEY` env वैरिएबल के माध्यम से भेजा जाता है।

Source: [github.com/astroway/astroway-mcp](https://github.com/astroway/astroway-mcp) · npm: [npmjs.com/package/@astroway/mcp](https://www.npmjs.com/package/@astroway/mcp) · hosted: [mcp.astroway.info/health](https://mcp.astroway.info/health)

## Hosted (`mcp.astroway.info`) — बिना इंस्टॉलेशन के

त्वरित शुरुआत बिना npm के — बस अपने क्लाइंट को चुनो। इंस्टॉलेशन से पहले [api.astroway.info/dashboard/sign-up](https://api.astroway.info/dashboard/sign-up) से कुंजी प्राप्त करो (**{siteMeta.freeCredits.toLocaleString('en-US').replace(/,/g, ' ')} मुफ्त क्रेडिट/माह**)।

<Tabs syncKey="mcp-client">
<TabItem label="Cursor (वन-क्लिक)">

बटन पर क्लिक करो — Cursor खुल जाएगा, अनुमति मांगेगा, और स्वचालित रूप से रिकॉर्ड जोड़ देगा:

<a href="cursor://anysphere.cursor-deeplink/mcp/install?name=astroway-hosted&config=eyJ1cmwiOiJodHRwczovL21jcC5hc3Ryb3dheS5pbmZvL21jcCIsImhlYWRlcnMiOnsiQXV0aG9yaXphdGlvbiI6IkJlYXJlciBZT1VSX0FQSV9LRVkifX0" style="display:inline-block;padding:0.5rem 1rem;background:#d4a84c;color:#0a0b1e;border-radius:0.375rem;font-weight:600;text-decoration:none;">Install in Cursor →</a>

:::caution[अनिवार्य दूसरा चरण — अन्यथा काम नहीं करेगा]
Cursor deeplink से सीक्रेट को प्रतिस्थापित नहीं कर सकता — `~/.cursor/mcp.json` में `Bearer YOUR_API_KEY` लिखा जाएगा, जिस पर सर्वर `403 invalid_format` उत्तर देता है।

**बटन पर क्लिक करने के बाद:**
1. **Cursor Settings** (⚙️ ऊपरी दाएं कोने) → **Tools & MCP** → सूची में `astroway-hosted` ढूंढो।
2. सर्वर के आगे तीन बिंदुओं (`⋯`) पर क्लिक करो → **Edit configuration** चुनो।
3. `Authorization` फ़ील्ड में `Bearer YOUR_API_KEY` को बदलकर अपना वास्तविक कुंजी `Bearer aw_test_…` (या `aw_live_…`) डालो — इसे [Dashboard](https://api.astroway.info/dashboard/keys) से प्राप्त करो।
4. सेव करो → वापस MCP सूची खोलो → सुनिश्चित करो कि स्टेटस **enabled** है + हरा बिंदु है + काउंटर `630 tools enabled` दिखा रहा है।

वैकल्पिक रूप से, सीधे फ़ाइल संपादित करो: `~/.cursor/mcp.json` (`headers.Authorization`)।
:::

<Aside type="note">
Cursor नाम की लंबाई पर सीमा लगाता है: `server_name:tool_name` ≤ 60 वर्ण। लगभग 50 में से 630 टूल्स (समूह `hellenistic_brennan_*`, `psychological_modern_*`, `numerology_kabbalistic_strict_*`) Cursor द्वारा फ़िल्टर किए जाते हैं और LLM के माध्यम से उपलब्ध नहीं होंगे। शेष ~580 काम करते हैं। Claude Desktop में ऐसी कोई सीमा नहीं है — पूरा कैटलॉग उपलब्ध रहता है।
</Aside>

</TabItem>
<TabItem label="Claude Desktop (UI flow)">

JSON संपादन की ज़रूरत नहीं। किसी भी Claude Desktop चैट में:

1. इनपुट फ़ील्ड के बाएं ओर **+** पर क्लिक करो → मेनू से **"Add connector"** चुनो।
2. डायलॉग में **"Add custom connector"** चुनो।
3. **Name:** `astroway-hosted`
4. **URL:** `https://mcp.astroway.info/mcp`
5. **"Advanced settings"** खोलो → **"Custom headers"** में जोड़ो:
   - **Key:** `Authorization`
   - **Value:** `Bearer aw_live_...` (तुम्हारी कुंजी)
6. **Add** पर क्लिक करो → Connectors सूची में `astroway-hosted` ढूंढो, स्विच चालू करो।

Claude Desktop को पुनः आरंभ करने की ज़रूरत नहीं है। नई चैट में **+** पर क्लिक करो — Connectors में `astroway-hosted` दिखाई देगा जिसमें सभी 630 टूल्स + 12 प्रॉम्प्ट्स + 14 संसाधन होंगे।

</TabItem>
<TabItem label="JSON config (मैन्युअल)">

Cline / Continue / Windsurf या पुराने Claude Desktop / Cursor संस्करणों के लिए:

```json
{
  "mcpServers": {
    "astroway-hosted": {
      "url": "https://mcp.astroway.info/mcp",
      "headers": {
        "Authorization": "Bearer aw_live_..."
      }
    }
  }
}
```

कॉन्फ़िग फ़ाइलों के पथ:
- **Claude Desktop (macOS):** `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Claude Desktop (Windows):** `%APPDATA%\Claude\claude_desktop_config.json`
- **Cursor:** `~/.cursor/mcp.json` (ग्लोबल) या `.cursor/mcp.json` (वर्कस्पेस में)
- **Cline (VS Code):** `.cline/mcp.json` (वर्कस्पेस में)
- **Continue:** `~/.continue/config.json` (ब्लॉक `mcpServers`)
- **Windsurf:** `~/.codeium/windsurf/mcp_config.json`

संपादन के बाद क्लाइंट को पूरी तरह से पुनः आरंभ करो (Cmd+Q → दोबारा खोलो)।

</TabItem>
</Tabs>

### सत्यापन

```bash
curl https://mcp.astroway.info/health
# {"status":"ok","version":"…","uptime_sec":…,"mcp_protocol_version":"2024-11-05"}
```

क्लाइंट में पूछो: *"List 5 AstroWay tool names from astroway-hosted"*। यह नाम लौटाना चाहिए जैसे `astroway_western_chart`, `astroway_horoscope_daily`, `astroway_vedic_panchang_full`, …

### रेट लिमिट्स

Hosted एंडपॉइंट तीन-स्तरीय सीमा द्वारा सुरक्षित है: Cloudflare DDoS लेयर + nginx `120 req/min/IP` + इन-मेमोरी बकेट `60/60s/(IP+key)`। वास्तविक MCP क्लाइंट्स (Claude Desktop, Cursor) इन सीमाओं के करीब भी नहीं पहुंचते — वे burst अनुरोध नहीं करते। अगर तुम्हारी ऑटोमेशन / CI को > 120 req/min की ज़रूरत है, तो **stdio मोड** का उपयोग करो (वहां कोई सीमा नहीं है, सीधे `api.astroway.info/v1/*` पर जाता है तुम्हारे टैरिफ रेट लिमिट के साथ)।

### अगर `mcp.astroway.info` अस्थायी रूप से अनुपलब्ध है

अगर hosted एंडपॉइंट `tools/list` पर 5xx लौटाता है, तो MCP क्लाइंट को त्रुटि दिखाई देगी। यह **stdio क्लाइंट्स को प्रभावित नहीं करता** — वे लोकल npm पैकेज चलाते हैं जो सीधे `api.astroway.info/v1/*` पर जाता है बिना किसी मध्यस्थ hosted लेयर के।

**महत्वपूर्ण एकीकरण के लिए फॉलबैक:** अपने कॉन्फ़िग में **दूसरा MCP सर्वर** stdio मोड के साथ जोड़ो — क्लाइंट स्वचालित रूप से उसका उपयोग करेगा अगर hosted `tools/list` पर प्रतिक्रिया नहीं देता:

```json
{
  "mcpServers": {
    "astroway": {
      "url": "https://mcp.astroway.info/mcp",
      "headers": { "Authorization": "Bearer aw_live_..." }
    },
    "astroway-fallback": {
      "command": "npx",
      "args": ["-y", "@astroway/mcp"],
      "env": { "ASTROWAY_API_KEY": "aw_live_..." }
    }
  }
}
```

Hosted एंडपॉइंट की वास्तविक uptime [status.astroway.info](https://status.astroway.info) पर देखी जा सकती है। 5 मिनट से अधिक के आउटेज को 5 कार्य दिवसों के भीतर postmortem के रूप में प्रकाशित किया जाता है (per [/sla/](/sla/))।

## Stdio (npm) — लोकल डेवलपमेंट के लिए

[`@astroway/mcp`](https://www.npmjs.com/package/@astroway/mcp) npm पैकेज है जो लोकल रूप से subprocess के रूप में चलता है। एक npm पैकेज, Claude Desktop, Cursor और किसी भी MCP-संगत क्लाइंट के साथ नेटिव एकीकरण।

## यह कैसे काम करता है

टूल सूची **बिल्ड के समय** live OpenAPI-spec ([api.astroway.info/v1/openapi.json](https://api.astroway.info/v1/openapi.json)) से जनरेट होती है। पैकेज के हर रिलीज़ में स्वचालित रूप से सभी नए एंडपॉइंट्स शामिल हो जाते हैं — मैन्युअल रखरखाव की ज़रूरत नहीं।

प्रत्येक एंडपॉइंट एक टूल के रूप में परिवर्तित हो जाता है:
- `tools/list` इनपुट स्कीमा और उदाहरण सहित विवरण लौटाता है
- `tools/call` आपके `ASTROWAY_API_KEY` के साथ `https://api.astroway.info/v1/<path>` पर HTTP POST करता है
- प्रतिक्रिया संरचित JSON के रूप में एजेंट को वापस भेजी जाती है

प्रत्येक रिलीज़ SLSA provenance ([Sigstore-attested](https://search.sigstore.dev/)) के साथ भी आता है — यह गारंटी देता है कि npm पैकेज उसी सार्वजनिक रेपो के कमिट से निर्मित हुआ है।

## इंस्टॉलेशन

### Claude Desktop (macOS)

`~/Library/Application Support/Claude/claude_desktop_config.json` में जोड़ो:

```json
{
  "mcpServers": {
    "astroway": {
      "command": "npx",
      "args": ["-y", "@astroway/mcp"],
      "env": {
        "ASTROWAY_API_KEY": "aw_live_..."
      }
    }
  }
}
```

Claude Desktop को पुनः आरंभ करो। चैट बार के नीचे 🛠️ इंडिकेटर दिखाई देगा जिसमें लोड किए गए टूल्स की संख्या दिखेगी।

### Cursor

`~/.cursor/mcp.json` में जोड़ो:

```json
{
  "mcpServers": {
    "astroway": {
      "command": "npx",
      "args": ["-y", "@astroway/mcp"],
      "env": { "ASTROWAY_API_KEY": "aw_live_..." }
    }
  }
}
```

### Cline / Continue / Windsurf / Copilot / VS Code MCP

हर MCP-संगत क्लाइंट में वही `npx @astroway/mcp` कमांड काम करता है। कॉन्फ़िग समान है — केवल फ़ाइल पथ बदलता है:

```json
{
  "mcpServers": {
    "astroway": {
      "command": "npx",
      "args": ["-y", "@astroway/mcp"],
      "env": { "ASTROWAY_API_KEY": "aw_live_..." }
    }
  }
}
```

| क्लाइंट | कॉन्फ़िग फ़ाइल पथ |
|---|---|
| **Cline** (VS Code) | वर्कस्पेस रूट में `.cline/mcp.json` |
| **Continue** | `~/.continue/config.json` (`mcpServers` के अंतर्गत) |
| **Windsurf** | `~/.codeium/windsurf/mcp_config.json` |
| **GitHub Copilot Chat (VS Code)** | preview-फ्लैग → वर्कस्पेस में `mcp.json` |
| **VS Code MCP extension** | `~/.vscode/mcp.json` |

### अन्य MCP क्लाइंट्स

स्टार्ट stdio सर्वर के रूप में:

```bash
ASTROWAY_API_KEY=aw_live_... npx @astroway/mcp
```

<Aside type="tip">
कुंजी प्राप्त करो — [api.astroway.info/dashboard/sign-up](https://api.astroway.info/dashboard/sign-up) पर। फ्री टियर — **{siteMeta.freeCredits.toLocaleString('en-US').replace(/,/g, ' ')} क्रेडिट/माह**, बिना कार्ड के।
</Aside>

## Privacy <span style="opacity:0.6">— v1.0.0+ से</span>

यह MCP सर्वर **AstroWay को तुम्हारे द्वारा दिए गए API कॉल्स के अलावा कुछ भी वापस नहीं भेजता**। कोई टेलीमेट्री नहीं, कोई analytics नहीं, कोई opt-in/opt-out स्विच नहीं — डिफ़ॉल्ट रूप से पूर्ण गोपनीयता।

आउटगोइंग अनुरोधों में दो पहचान हेडर्स होते हैं ताकि AstroWay बैकएंड अपने लॉग्स में MCP ट्रैफिक को सीधे HTTP ट्रैफिक से अलग कर सके:

- `User-Agent: astroway-mcp/<version> (Node/<node-version>)`
- `X-Astroway-Channel: mcp`

इनमें से कोई भी हेडर session ID, machine fingerprint या कोई व्यक्तिगत जानकारी नहीं रखता। यह मानक `User-Agent` सेमेन्टिक्स है — हर CLI टूल इसी तरह की जानकारी भेजता है।

## Subset registration <span style="opacity:0.6">— v1.0.0+ से</span>

अगर तुम केवल कैटलॉग के एक हिस्से का उपयोग करते हो, तो LLM के कॉन्टेक्स्ट विंडो को कॉम्पैक्ट रखने के लिए सबसेट रजिस्टर करो:

```jsonc
{
  "env": {
    "ASTROWAY_API_KEY": "aw_live_...",
    "ASTROWAY_TOOL_GROUPS": "western,vedic,relational",   // केवल ये प्रीफिक्स
    "ASTROWAY_READONLY": "1"                               // ai/horoscope/reports छोड़ दो (LLM-बैक्ड, क्रेडिट खर्च करते हैं)
  }
}
```

प्रमुख ग्रुप्स: `western`, `vedic`, `tarot`, `numerology`, `hd` (Human Design), `relational` (synastry/composite/davison), `prognostics` (transits/progressions/returns), `aspects`, `horary`, `geo`, `chinese`, `bazi`, `mayan`, `iching`, `runes`, `geomancy`। पूरा सेट देखने के लिए `npx @astroway/mcp --list-tools` चलाओ।

`ASTROWAY_READONLY=1` उन तीन ग्रुप्स को छोड़ देता है जो आंतरिक रूप से LLM को कॉल करते हैं (`ai`, `horoscope`, `reports`) — उपयोगी जब तुम शुद्ध गणितीय चार्ट चाहते हो बिना टेक्स्ट जनरेशन के क्रेडिट खर्च किए।

## Stability commitment <span style="opacity:0.6">— v1.0.0+ से</span>

- **टूल कैटलॉग सेशन के दौरान स्थिर रहता है।** npm पैकेज में 624 टूल्स, 12 प्रॉम्प्ट्स, 14 संसाधन बिल्ड के समय एम्बेड किए जाते हैं — पूरे कनेक्शन के दौरान कुछ नहीं बदलता। अगर तुम्हारा क्लाइंट `tools/list` को पहली बार कॉल के बाद कैश करता है, तो वह पूरी सेशन के लिए वैध रहता है।
- **टूल आइडेंटिफायर्स major संस्करण के भीतर स्थिर रहते हैं।** `astroway_<group>_<tool>` नाम `v1.x` के भीतर बिना deprecation नोट के बदला या हटाया नहीं जाएगा।
- **टूल इनपुट शेप minor संस्करण के भीतर स्थिर रहता है।** रेस्ट्रिक्शन (regex, range, enum) पैच में आते हैं; अनिवार्य फ़ील्ड जोड़ने के लिए minor bump चाहिए।
- **कैटलॉग रिफ्रेश करने के लिए पुनः इंस्टॉल करो।** `npm i -g @astroway/mcp@latest` (या अपने कॉन्फ़िग में `npx -y @astroway/mcp` फॉर्म) अगले स्टार्ट पर वर्तमान सेट अप लोड कर लेता है।

## प्रॉम्प्ट उदाहरण

सर्वर कनेक्ट करने के बाद AI से पूछो:

### जन्म कुंडली

> मेरी जन्म कुंडली निकालो — जन्म तिथि 15 मार्च 1990, 14:30, कीव। सूर्य, चंद्रमा, आरोही बताओ और कस aspect्स खोजो।

Claude `chart` टूल को तुम्हारे पैरामीटर के साथ कॉल करेगा, संरचित JSON प्राप्त करेगा, और शब्दों में कुंडली का वर्णन करेगा।

### ट्रांज़िट

> मेरे जन्म कुंडली पर 2027 में धीमी गति से चलने वाले ग्रहों के कौन से महत्वपूर्ण ट्रांज़िट पड़ेंगे?

Claude दो टूल-कॉल करेगा: पहले `transits` (वर्तमान स्नैपशॉट), फिर `transit-calendar` (रेंज)। ट्रेंड्स की व्याख्या करेगा।

### वैदिक महादasha

> 22.07.1985 06:45 मुंबई में जन्मे व्यक्ति के लिए विमशोत्तरी महादasha चलाओ। यह व्यक्ति अभी किस काल में है?

`vedic/dashas/vimshottari/maha` टूल के माध्यम से — वर्तमान काल का सटीक UTC-टाइमस्टैम्प।

### सिनास्ट्री

> दो कुंडलियों की तुलना करो: A — 10.06.1988 09:15 लंदन, B — 22.11.1991 22:40 बर्लिन। सबसे मजबूत क्रॉस-एस्पेक्ट्स कौन से हैं?

`synastry` टूल दो `chart` ब्लॉक्स के साथ + संगतता स्कोर की व्याख्या।

### टैरो

> तीन राइडर-वेट-स्मिथ कार्ड निकालो: अतीत — वर्तमान — भविष्य। प्रश्न: "क्या मुझे नई नौकरी स्वीकार करनी चाहिए?"। Seed = 42।

`tarot/rider-waite/spread` फिक्स्ड seed के साथ पुनरुत्पादनीयता के लिए।

## सभी टूल्स की सूची

क्लाइंट से पूछो:

> सभी astroway टूल्स को सूचीबद्ध करो।

या कमांड लाइन से:

```bash
ASTROWAY_API_KEY=aw_test_smoke npx @astroway/mcp 2>&1 | head -1
# (stdio सर्वर चलाता है; प्रोटोकॉल टूल-लिस्ट कॉल MCP क्लाइंट द्वारा किए जाते हैं)
```

## कॉन्फ़िगरेशन

| वैरिएबल | डिफ़ॉल्ट | विवरण | संस्करण से |
|---|---|---|---|
| `ASTROWAY_API_KEY` | *(अनिवार्य)* | लाइव: `aw_live_...`। सैंडबॉक्स: `aw_test_...`। | 0.1.0 |
| `ASTROWAY_BASE_URL` | `https://api.astroway.info/v1` | सेल्फ-होस्टेड/स्टेजिंग वातावरण के लिए ओवरराइड। | 0.1.0 |
| `ASTROWAY_TOOL_GROUPS` | *(सभी ग्रुप्स)* | कॉमा-सेपरेटेड प्रीफिक्स कैटलॉग को सीमित करने के लिए (`western,vedic,relational`)। | 1.0.0 |
| `ASTROWAY_READONLY` | `0` | `1` LLM-बैक्ड ग्रुप्स (`ai`, `horoscope`, `reports`) को छोड़ देता है। | 1.0.0 |
| `LOG_LEVEL` | `error` | `silent`/`error`/`warn`/`info`/`debug` — stderr पर लॉग स्तर। | 0.8.0 |
| `LOG_FILE` | *(लिखा नहीं जाता)* | लॉग्स को डुप्लिकेट करने के लिए फ़ाइल पथ। | 0.8.0 |
| `MCP_FLAT_TOOLS` | `0` | `1` पुराने v0.9 फ्लैट नाम लौटाता है (`chart` → `astroway_western_chart` की जगह)। लिगेसी। | 0.9.0 |

## क्यों MCP, सीधी इंटीग्रेशन क्यों नहीं?

Generic LLM (ग्राउंडिंग के बिना) कहेगा *«जुलाई में कहीं Saturn तेरे Jupiter को त्रिकोण करेगा»* — बिना सटीक तिथि, ±15 दिनों के ड्रिफ्ट के साथ। **MCP एजेंट** `tool_use POST /v1/transits` करता है और **सेकंड तक सटीक** UTC-टाइमस्टैम्प लौटाता है, Swiss Ephemeris पर आधारित।

फायदा LLM में नहीं, बल्कि **गारंटी में है कि गणित वास्तविक है** — काल्पनिक नहीं।

## पैकेज डिस्ट्रीब्यूशन

- **mcp.so listing:** [mcp.so/server/astroway-mcp/astroway](https://mcp.so/server/astroway-mcp/astroway)
- **mcpservers.org:** मई 2026 तक approval की प्रतीक्षा में
- **awesome-mcp-servers (punkpeye):** [PR #5972](https://github.com/punkpeye/awesome-mcp-servers/pull/5972)

## लिंक्स

- 📦 npm: [npmjs.com/package/@astroway/mcp](https://www.npmjs.com/package/@astroway/mcp)
- 📘 API docs: [/docs/api/](/docs/api/)
- 🔑 Sign up: [/dashboard/sign-up](/dashboard/sign-up)
- 💰 Pricing: [/pricing/](/pricing/)
- 🌐 Public repo (MIT): [github.com/astroway/astroway-mcp](https://github.com/astroway/astroway-mcp)
