@vedintelastroapi/mcp-server 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Mahesh Naidu U
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,161 @@
1
+ # VedIntel™ AstroAPI — MCP Server
2
+
3
+ The only Vedic astrology MCP server that **actually calls the API and returns live computed results**.
4
+
5
+ VedicAstroAPI's MCP server is documentation-only — it helps you find endpoints. Ours lets Claude, Cursor, and VS Code **compute real birth charts, dashas, kundali matches, and AI readings** directly in your conversation.
6
+
7
+ ## What you can do
8
+
9
+ ```
10
+ "Generate a birth chart for 01/10/1977, 11:40 AM, Coimbatore India"
11
+ "Is this person currently in Sade Sati?"
12
+ "Check Mangal Dosha for this birth data"
13
+ "Match these two charts for marriage compatibility"
14
+ "What Mahadasha is this person running?"
15
+ "Get today's Panchang for Mumbai"
16
+ "Find the D9 Navamsa chart for this person"
17
+ "Interpret this birth chart using AI"
18
+ "What are the auspicious muhurtas today in Delhi?"
19
+ "What coordinates should I use for Chennai?"
20
+ ```
21
+
22
+ ## 22 Tools
23
+
24
+ | Tool | What it does |
25
+ |------|-------------|
26
+ | `get_planet_details` | Complete birth chart — all 9 planets with sign, house, nakshatra |
27
+ | `get_ascendant` | Lagna (rising sign) calculation |
28
+ | `get_moon_sign` | Chandra Rashi (Moon sign) |
29
+ | `get_divisional_chart` | Any D1–D60 chart (D9 Navamsa, D10 Dashamsha, etc.) |
30
+ | `get_panchang` | Full Vedic Panchang for any date/location |
31
+ | `get_current_dasha` | Current Vimshottari Mahadasha period |
32
+ | `get_dasha_timeline` | Full 120-year dasha sequence |
33
+ | `get_antardasha` | Antardasha sub-periods |
34
+ | `check_sade_sati` | Saturn 7.5-year transit check |
35
+ | `check_mangal_dosha` | Mars affliction (Manglik) check |
36
+ | `check_kaalsarp_dosha` | Kaal Sarp Dosha check |
37
+ | `get_yogas` | All yogas detected in the chart |
38
+ | `get_kundali_match` | Guna Milan / 36-point compatibility |
39
+ | `get_planet_transits` | Real-time planet positions today |
40
+ | `get_muhurta` | Choghadiya auspicious time slots |
41
+ | `get_gem_suggestions` | Jyotish gemstone recommendations |
42
+ | `get_numerology` | Full numerology profile |
43
+ | `interpret_chart_ai` | 700+ word Claude AI chart reading *(AI add-on)* |
44
+ | `get_dasha_narrative_ai` | AI Dasha period narrative *(AI add-on)* |
45
+ | `lookup_city_coordinates` | City → lat/lon/timezone lookup |
46
+ | `list_endpoints` | Browse all 128 VedIntel™ AstroAPI endpoints |
47
+ | `search_endpoints` | Search endpoints by keyword |
48
+
49
+ ## Setup
50
+
51
+ ### 1. Get a free API key
52
+
53
+ Sign up at [vedintelastroapi.com/auth/signup](https://vedintelastroapi.com/auth/signup) — 500 free calls/month, no credit card.
54
+
55
+ ### 2. Install
56
+
57
+ **Option A — npx (recommended, no install needed):**
58
+
59
+ ```bash
60
+ npx vedintel-mcp
61
+ ```
62
+
63
+ **Option B — clone and build:**
64
+
65
+ ```bash
66
+ git clone https://github.com/cryptonaidu/vedintel-mcp.git
67
+ cd vedintel-mcp
68
+ npm install
69
+ npm run build
70
+ ```
71
+
72
+ ### 3. Configure your MCP client
73
+
74
+ #### Claude Desktop
75
+
76
+ Edit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
77
+
78
+ ```json
79
+ {
80
+ "mcpServers": {
81
+ "vedintel-astroapi": {
82
+ "command": "npx",
83
+ "args": ["vedintel-mcp"],
84
+ "env": {
85
+ "VEDINTEL_API_KEY": "vai_your_key_here"
86
+ }
87
+ }
88
+ }
89
+ }
90
+ ```
91
+
92
+ #### Cursor / VS Code
93
+
94
+ Add to your MCP settings:
95
+
96
+ ```json
97
+ {
98
+ "mcp": {
99
+ "servers": {
100
+ "vedintel-astroapi": {
101
+ "command": "npx",
102
+ "args": ["vedintel-mcp"],
103
+ "env": {
104
+ "VEDINTEL_API_KEY": "vai_your_key_here"
105
+ }
106
+ }
107
+ }
108
+ }
109
+ }
110
+ ```
111
+
112
+ ### 4. Restart your MCP client
113
+
114
+ Restart Claude Desktop / Cursor. You should see the VedIntel™ AstroAPI tools available.
115
+
116
+ ## Testing
117
+
118
+ Try these prompts after setup:
119
+
120
+ ```
121
+ "Get the birth chart for dob=01/10/1977, tob=11:40, lat=11, lon=77, tz=5.5"
122
+ "List all available VedIntel AstroAPI endpoints"
123
+ "Search endpoints for nakshatra"
124
+ "What coordinates should I use for Mumbai?"
125
+ ```
126
+
127
+ ## Reference birth data (for testing)
128
+
129
+ | Field | Value |
130
+ |-------|-------|
131
+ | dob | 01/10/1977 |
132
+ | tob | 11:40 |
133
+ | lat | 11.0 (Coimbatore) |
134
+ | lon | 77.0 (Coimbatore) |
135
+ | tz | 5.5 (IST) |
136
+
137
+ Expected: Sagittarius Ascendant · Sun in Virgo · Moon in Aries · 0.0000° deviation from Jagannatha Hora
138
+
139
+ ## Environment variables
140
+
141
+ | Variable | Description | Default |
142
+ |----------|-------------|---------|
143
+ | `VEDINTEL_API_KEY` | Your VedIntel™ AstroAPI key | *(required)* |
144
+ | `VEDINTEL_BASE_URL` | Override API base URL | `https://vedintelastroapi.com/api/v1` |
145
+
146
+ ## How it differs from VedicAstroAPI's MCP server
147
+
148
+ | | VedIntel™ AstroAPI MCP | VedicAstroAPI MCP |
149
+ |--|------------------------|-------------------|
150
+ | Live API calls | ✓ Returns real computed data | ✗ Documentation only |
151
+ | Birth chart | ✓ Real Swiss Ephemeris results | ✗ Not available |
152
+ | AI readings | ✓ Claude-powered narratives | ✗ Not available |
153
+ | Tool count | 22 tools | 4 tools |
154
+ | Accuracy | 0.0000° verified vs Jagannatha Hora | Not published |
155
+
156
+ ## Links
157
+
158
+ - [API Documentation](https://vedintelastroapi.com/docs)
159
+ - [Get free API key](https://vedintelastroapi.com/auth/signup)
160
+ - [Pricing](https://vedintelastroapi.com/pricing)
161
+ - [Model Context Protocol](https://modelcontextprotocol.io)
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/build/index.js ADDED
@@ -0,0 +1,530 @@
1
+ #!/usr/bin/env node
2
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
3
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
+ import { CallToolRequestSchema, ErrorCode, ListToolsRequestSchema, McpError, } from '@modelcontextprotocol/sdk/types.js';
5
+ const BASE_URL = process.env.VEDINTEL_BASE_URL ?? 'https://vedintelastroapi.com/api/v1';
6
+ const API_KEY = process.env.VEDINTEL_API_KEY ?? '';
7
+ if (!API_KEY) {
8
+ process.stderr.write('Warning: VEDINTEL_API_KEY is not set. Get a free key at https://vedintelastroapi.com/auth/signup\n');
9
+ }
10
+ // ─── Shared parameter schemas ────────────────────────────────────────────────
11
+ const BIRTH_PARAMS = {
12
+ dob: {
13
+ type: 'string',
14
+ description: 'Date of birth in DD/MM/YYYY format. Example: "01/10/1977"',
15
+ },
16
+ tob: {
17
+ type: 'string',
18
+ description: 'Time of birth in HH:MM 24-hour format. Example: "11:40"',
19
+ },
20
+ lat: {
21
+ type: 'number',
22
+ description: 'Latitude of birth place (decimal degrees). Example: 11.0 for Coimbatore',
23
+ },
24
+ lon: {
25
+ type: 'number',
26
+ description: 'Longitude of birth place (decimal degrees). Example: 77.0 for Coimbatore',
27
+ },
28
+ tz: {
29
+ type: 'number',
30
+ description: 'UTC timezone offset. Use 5.5 for IST (India Standard Time)',
31
+ },
32
+ };
33
+ const BIRTH_REQUIRED = ['dob', 'tob', 'lat', 'lon', 'tz'];
34
+ // ─── API call helper ──────────────────────────────────────────────────────────
35
+ async function callAPI(endpoint, params) {
36
+ const url = new URL(`${BASE_URL}/${endpoint}`);
37
+ url.searchParams.set('api_key', API_KEY);
38
+ for (const [key, value] of Object.entries(params)) {
39
+ url.searchParams.set(key, String(value));
40
+ }
41
+ const res = await fetch(url.toString());
42
+ if (!res.ok) {
43
+ const body = await res.text().catch(() => res.statusText);
44
+ throw new McpError(ErrorCode.InternalError, `API error ${res.status}: ${body}`);
45
+ }
46
+ const data = (await res.json());
47
+ if (data.status !== 200) {
48
+ throw new McpError(ErrorCode.InternalError, `VedIntel™ AstroAPI returned status ${data.status}`);
49
+ }
50
+ return {
51
+ data: data.response,
52
+ remaining_api_calls: data.remaining_api_calls,
53
+ };
54
+ }
55
+ function formatResult(result) {
56
+ return JSON.stringify(result, null, 2);
57
+ }
58
+ // ─── All 106+ endpoints for discovery ────────────────────────────────────────
59
+ const ALL_ENDPOINTS = [
60
+ // Horoscope
61
+ { path: 'horoscope/planet-details', category: 'Horoscope', desc: 'Planet positions, signs, houses, nakshatras' },
62
+ { path: 'horoscope/divisional-charts', category: 'Horoscope', desc: 'D1–D60 divisional charts (Navamsa D9, Dashamsha D10, etc.)' },
63
+ { path: 'horoscope/chart-image', category: 'Horoscope', desc: 'SVG birth chart image (north/south/east Indian style)' },
64
+ { path: 'horoscope/ashtakvarga', category: 'Horoscope', desc: 'Ashtakvarga bindus table' },
65
+ { path: 'horoscope/binnashtakvarga', category: 'Horoscope', desc: 'Binnashtakvarga (individual planet ashtakvarga)' },
66
+ { path: 'horoscope/ashtakvarga-chart-image', category: 'Horoscope', desc: 'Ashtakvarga SVG bar chart image' },
67
+ { path: 'horoscope/ascendant-report', category: 'Horoscope', desc: 'Detailed ascendant/lagna report' },
68
+ { path: 'horoscope/planet-report', category: 'Horoscope', desc: 'Detailed report for a specific planet' },
69
+ { path: 'horoscope/personal-characteristics', category: 'Horoscope', desc: 'Personality traits from birth chart' },
70
+ { path: 'horoscope/planetary-aspects', category: 'Horoscope', desc: 'Planetary aspects and their effects' },
71
+ { path: 'horoscope/planets-in-houses', category: 'Horoscope', desc: 'Planets in houses interpretation' },
72
+ { path: 'horoscope/western-planets', category: 'Horoscope', desc: 'Western tropical chart planet positions' },
73
+ { path: 'horoscope/ai-12-month-prediction', category: 'Horoscope', desc: 'AI-powered 12-month prediction' },
74
+ // Extended Horoscope
75
+ { path: 'extended-horoscope/find-ascendant', category: 'Extended Horoscope', desc: 'Calculate lagna/ascendant sign' },
76
+ { path: 'extended-horoscope/find-moon-sign', category: 'Extended Horoscope', desc: 'Calculate Moon sign (Rashi)' },
77
+ { path: 'extended-horoscope/find-sun-sign', category: 'Extended Horoscope', desc: 'Calculate Sun sign' },
78
+ { path: 'extended-horoscope/current-sade-sati', category: 'Extended Horoscope', desc: 'Current Sade Sati status and phase' },
79
+ { path: 'extended-horoscope/sade-sati-table', category: 'Extended Horoscope', desc: 'Full Sade Sati history and future table' },
80
+ { path: 'extended-horoscope/extended-kundli-details', category: 'Extended Horoscope', desc: 'Extended Kundali details including yogas' },
81
+ { path: 'extended-horoscope/shad-bala', category: 'Extended Horoscope', desc: 'Shadbala planetary strength scores' },
82
+ { path: 'extended-horoscope/friendship-table', category: 'Extended Horoscope', desc: 'Planetary friendship table' },
83
+ { path: 'extended-horoscope/kp-houses', category: 'Extended Horoscope', desc: 'KP (Krishnamurti Paddhati) house cusps' },
84
+ { path: 'extended-horoscope/kp-planets', category: 'Extended Horoscope', desc: 'KP planet sub-lords' },
85
+ { path: 'extended-horoscope/gem-suggestion', category: 'Extended Horoscope', desc: 'Gemstone recommendations from chart' },
86
+ { path: 'extended-horoscope/rudraksh-suggestion', category: 'Extended Horoscope', desc: 'Rudraksha bead recommendations' },
87
+ { path: 'extended-horoscope/numero-table', category: 'Extended Horoscope', desc: 'Numerology table from birth data' },
88
+ { path: 'extended-horoscope/yoga-list', category: 'Extended Horoscope', desc: 'List of all yogas in the chart' },
89
+ { path: 'extended-horoscope/yoga-calculator', category: 'Extended Horoscope', desc: 'Detailed yoga calculation and interpretation' },
90
+ { path: 'extended-horoscope/arutha-padas', category: 'Extended Horoscope', desc: 'Jaimini Arudha Padas' },
91
+ { path: 'extended-horoscope/jaimini-karakas', category: 'Extended Horoscope', desc: 'Jaimini Chara Karakas' },
92
+ { path: 'extended-horoscope/varshapal-details', category: 'Extended Horoscope', desc: 'Varshapal/Solar return chart details' },
93
+ { path: 'extended-horoscope/varshapal-month-chart', category: 'Extended Horoscope', desc: 'Varshapal monthly chart' },
94
+ { path: 'extended-horoscope/varshapal-year-chart', category: 'Extended Horoscope', desc: 'Varshapal yearly chart' },
95
+ // Dashas
96
+ { path: 'dashas/current-mahadasha', category: 'Dashas', desc: 'Current Vimshottari Mahadasha period' },
97
+ { path: 'dashas/current-mahadasha-full', category: 'Dashas', desc: 'Current Mahadasha with Antardasha and Pratyantar' },
98
+ { path: 'dashas/mahadasha', category: 'Dashas', desc: 'Full 120-year Vimshottari Mahadasha timeline' },
99
+ { path: 'dashas/mahadasha-predictions', category: 'Dashas', desc: 'Predictions for each Mahadasha period' },
100
+ { path: 'dashas/antardasha', category: 'Dashas', desc: 'Antardasha (sub-periods) within a Mahadasha' },
101
+ { path: 'dashas/specific-sub-dasha', category: 'Dashas', desc: 'Specific sub-dasha period details' },
102
+ { path: 'dashas/char-dasha-current', category: 'Dashas', desc: 'Current Jaimini Char Dasha' },
103
+ { path: 'dashas/char-dasha-main', category: 'Dashas', desc: 'Jaimini Char Dasha main periods' },
104
+ { path: 'dashas/char-dasha-sub', category: 'Dashas', desc: 'Jaimini Char Dasha sub-periods' },
105
+ { path: 'dashas/yogini-dasha-main', category: 'Dashas', desc: 'Yogini Dasha main periods' },
106
+ { path: 'dashas/yogini-dasha-sub', category: 'Dashas', desc: 'Yogini Dasha sub-periods' },
107
+ // Doshas
108
+ { path: 'dosha/mangal-dosh', category: 'Doshas', desc: 'Mangal Dosha (Mars affliction) check and severity' },
109
+ { path: 'dosha/manglik-dosh', category: 'Doshas', desc: 'Manglik Dosha with cancellation conditions' },
110
+ { path: 'dosha/kaalsarp-dosh', category: 'Doshas', desc: 'Kaal Sarp Dosha type and effects' },
111
+ { path: 'dosha/pitra-dosh', category: 'Doshas', desc: 'Pitra Dosha (ancestral karma) check' },
112
+ { path: 'dosha/papasamaya', category: 'Doshas', desc: 'Papa Samaya malefic planetary analysis' },
113
+ // Panchang
114
+ { path: 'panchang/panchang', category: 'Panchang', desc: 'Full daily Panchang (tithi, nakshatra, yoga, karana, vara)' },
115
+ { path: 'panchang/choghadiya-muhurta', category: 'Panchang', desc: 'Choghadiya auspicious time slots for the day' },
116
+ { path: 'panchang/hora-muhurta', category: 'Panchang', desc: 'Planetary hora muhurta for the day' },
117
+ { path: 'panchang/monthly-panchang', category: 'Panchang', desc: 'Full month Panchang calendar' },
118
+ { path: 'panchang/moon-calendar', category: 'Panchang', desc: 'Monthly Moon phase calendar' },
119
+ { path: 'panchang/moon-phase', category: 'Panchang', desc: 'Current Moon phase' },
120
+ { path: 'panchang/festivals', category: 'Panchang', desc: 'Hindu festivals and vrats for a month/year' },
121
+ { path: 'panchang/sunrise', category: 'Panchang', desc: 'Sunrise time for a date and location' },
122
+ { path: 'panchang/sunset', category: 'Panchang', desc: 'Sunset time for a date and location' },
123
+ { path: 'panchang/moon-rise', category: 'Panchang', desc: 'Moon rise time' },
124
+ { path: 'panchang/moon-set', category: 'Panchang', desc: 'Moon set time' },
125
+ { path: 'panchang/solar-noon', category: 'Panchang', desc: 'Solar noon (Abhijit Muhurta midpoint)' },
126
+ { path: 'panchang/transit', category: 'Panchang', desc: 'Current planetary transits (all 9 planets)' },
127
+ { path: 'panchang/retrogrades', category: 'Panchang', desc: 'Currently retrograde planets' },
128
+ // Matching
129
+ { path: 'matching/north-match', category: 'Matching', desc: 'North Indian guna milan (Ashtakoot, 36-point compatibility)' },
130
+ { path: 'matching/south-match', category: 'Matching', desc: 'South Indian compatibility analysis' },
131
+ { path: 'matching/aggregate-match', category: 'Matching', desc: 'Combined compatibility score with summary' },
132
+ { path: 'matching/rajju-vedha-match', category: 'Matching', desc: 'Rajju and Vedha dosha check for compatibility' },
133
+ { path: 'matching/papasamaya-match', category: 'Matching', desc: 'Papasamaya compatibility analysis' },
134
+ { path: 'matching/nakshatra-match', category: 'Matching', desc: 'Nakshatra-based Ashtakoot compatibility' },
135
+ { path: 'matching/western-match', category: 'Matching', desc: 'Western Sun+Moon sign compatibility (10-point)' },
136
+ { path: 'matching/north-match-astro-details', category: 'Matching', desc: 'Detailed astrological analysis for north match' },
137
+ { path: 'matching/south-match-astro-details', category: 'Matching', desc: 'Detailed astrological analysis for south match' },
138
+ { path: 'matching/bulk-north-match', category: 'Matching', desc: 'Bulk north match — up to 10 couples in one call' },
139
+ { path: 'matching/bulk-south-match', category: 'Matching', desc: 'Bulk south match — up to 10 couples in one call' },
140
+ // Predictions
141
+ { path: 'predictions/daily-sun', category: 'Predictions', desc: 'Daily horoscope prediction based on Sun sign' },
142
+ { path: 'predictions/daily-moon', category: 'Predictions', desc: 'Daily horoscope based on Moon sign (Rashi)' },
143
+ { path: 'predictions/daily-nakshatra', category: 'Predictions', desc: 'Daily prediction based on birth nakshatra' },
144
+ { path: 'predictions/weekly-sun', category: 'Predictions', desc: 'Weekly prediction based on Sun sign' },
145
+ { path: 'predictions/weekly-moon', category: 'Predictions', desc: 'Weekly prediction based on Moon sign' },
146
+ { path: 'predictions/yearly', category: 'Predictions', desc: 'Yearly prediction for any year' },
147
+ { path: 'predictions/biorhythm', category: 'Predictions', desc: 'Biorhythm cycles (physical, emotional, intellectual)' },
148
+ { path: 'predictions/day-number', category: 'Predictions', desc: 'Numerology day number for a date' },
149
+ { path: 'predictions/numerology', category: 'Predictions', desc: 'Full numerology profile (life path, destiny, lucky numbers)' },
150
+ // Utilities
151
+ { path: 'utilities/gem-details', category: 'Utilities', desc: 'Jyotish properties of all 9 Navratna gemstones' },
152
+ { path: 'utilities/geo-search', category: 'Utilities', desc: 'Search city lat/lon/timezone by name' },
153
+ { path: 'utilities/geo-search-advanced', category: 'Utilities', desc: 'Advanced geo search with city+state+country filter' },
154
+ { path: 'utilities/radical-number-details', category: 'Utilities', desc: 'Mulank (radical number) 1–9 detailed profile' },
155
+ { path: 'utilities/nakshatra-vastu-details', category: 'Utilities', desc: 'Vastu direction, colors, and activities for all 27 nakshatras' },
156
+ // AI Endpoints (premium)
157
+ { path: 'ai/interpret/chart', category: 'AI (Premium)', desc: 'Full Claude AI birth chart reading — 700+ words, fully personalized' },
158
+ { path: 'ai/transit/forecast', category: 'AI (Premium)', desc: 'AI-powered transit forecast narrative' },
159
+ { path: 'ai/dasha/narrative', category: 'AI (Premium)', desc: 'AI narrative for current Dasha period' },
160
+ { path: 'ai/compatibility', category: 'AI (Premium)', desc: 'AI compatibility report for two birth charts' },
161
+ ];
162
+ // ─── Tool definitions ─────────────────────────────────────────────────────────
163
+ const TOOLS = [
164
+ {
165
+ name: 'get_planet_details',
166
+ description: 'Get complete Vedic birth chart: all 9 planet positions (Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn, Rahu, Ketu + Ascendant) with their zodiac sign, house placement, nakshatra, degree, and retrograde status. This is the foundation of any Vedic astrology analysis.',
167
+ inputSchema: {
168
+ type: 'object',
169
+ properties: BIRTH_PARAMS,
170
+ required: BIRTH_REQUIRED,
171
+ },
172
+ },
173
+ {
174
+ name: 'get_ascendant',
175
+ description: 'Calculate the Lagna (Ascendant/Rising sign) for a birth. Returns the zodiac sign, degree, and nakshatra of the Ascendant. Use this when someone asks "what is my lagna?" or "what is my rising sign?" in Vedic astrology.',
176
+ inputSchema: {
177
+ type: 'object',
178
+ properties: BIRTH_PARAMS,
179
+ required: BIRTH_REQUIRED,
180
+ },
181
+ },
182
+ {
183
+ name: 'get_moon_sign',
184
+ description: 'Calculate the Moon sign (Chandra Rashi) — the zodiac sign the Moon was in at birth. In Vedic astrology the Moon sign is more important than the Sun sign for personality and daily life. Returns sign, degree, nakshatra, and pada.',
185
+ inputSchema: {
186
+ type: 'object',
187
+ properties: BIRTH_PARAMS,
188
+ required: BIRTH_REQUIRED,
189
+ },
190
+ },
191
+ {
192
+ name: 'get_divisional_chart',
193
+ description: 'Fetch a divisional (Varga) chart. The most important are D9 Navamsa (marriage, dharma, soul purpose), D10 Dashamsha (career, profession), D7 Saptamsha (children), D3 Drekkana (siblings). Pass chart_type as "D9", "D10", etc.',
194
+ inputSchema: {
195
+ type: 'object',
196
+ properties: {
197
+ ...BIRTH_PARAMS,
198
+ chart_type: {
199
+ type: 'string',
200
+ description: 'Divisional chart type: D1 (birth chart), D2 (Hora), D3 (Drekkana), D7 (Saptamsha), D9 (Navamsa), D10 (Dashamsha), D12 (Dwadashamsha), D16, D20, D24, D27, D30 (Trimshamsha), D40, D45, D60 (Shashtiamsha)',
201
+ enum: ['D1', 'D2', 'D3', 'D7', 'D9', 'D10', 'D12', 'D16', 'D20', 'D24', 'D27', 'D30', 'D40', 'D45', 'D60'],
202
+ },
203
+ style: {
204
+ type: 'string',
205
+ description: 'Chart diagram style: "north" (default), "south", or "east"',
206
+ enum: ['north', 'south', 'east'],
207
+ },
208
+ },
209
+ required: [...BIRTH_REQUIRED, 'chart_type'],
210
+ },
211
+ },
212
+ {
213
+ name: 'get_panchang',
214
+ description: 'Get the Vedic Hindu Panchang (five limbs of the day) for any date and location. Returns: Tithi (lunar day), Nakshatra (Moon constellation), Yoga (sun-moon combination), Karana (half-day), Vara (weekday), sunrise/sunset times, Moon sign, and festival information. Essential for muhurta (auspicious timing).',
215
+ inputSchema: {
216
+ type: 'object',
217
+ properties: {
218
+ dob: { type: 'string', description: 'Date in DD/MM/YYYY format. Example: "24/04/2026"' },
219
+ tob: { type: 'string', description: 'Time in HH:MM format. Example: "07:52"' },
220
+ lat: BIRTH_PARAMS.lat,
221
+ lon: BIRTH_PARAMS.lon,
222
+ tz: BIRTH_PARAMS.tz,
223
+ },
224
+ required: ['dob', 'tob', 'lat', 'lon', 'tz'],
225
+ },
226
+ },
227
+ {
228
+ name: 'get_current_dasha',
229
+ description: 'Get the current Vimshottari Mahadasha (major period) for a person\'s birth chart. Returns the ruling planet, start date, end date, and remaining years. The 120-year Vimshottari system is the primary dasha used in Vedic astrology for life predictions.',
230
+ inputSchema: {
231
+ type: 'object',
232
+ properties: BIRTH_PARAMS,
233
+ required: BIRTH_REQUIRED,
234
+ },
235
+ },
236
+ {
237
+ name: 'get_dasha_timeline',
238
+ description: 'Get the complete 120-year Vimshottari Mahadasha sequence from birth. Returns all 9 planetary periods (Sun 6yr, Moon 10yr, Mars 7yr, Rahu 18yr, Jupiter 16yr, Saturn 19yr, Mercury 17yr, Ketu 7yr, Venus 20yr) with exact start and end dates.',
239
+ inputSchema: {
240
+ type: 'object',
241
+ properties: BIRTH_PARAMS,
242
+ required: BIRTH_REQUIRED,
243
+ },
244
+ },
245
+ {
246
+ name: 'get_antardasha',
247
+ description: 'Get the Antardasha (sub-periods or Bhukti) within the current or a specified Mahadasha. Provides finer timing — each Mahadasha is divided into 9 sub-periods ruled by different planets.',
248
+ inputSchema: {
249
+ type: 'object',
250
+ properties: {
251
+ ...BIRTH_PARAMS,
252
+ mahadasha_lord: {
253
+ type: 'string',
254
+ description: 'Planet name to get antardashas for. Leave empty for current Mahadasha.',
255
+ enum: ['Sun', 'Moon', 'Mars', 'Rahu', 'Jupiter', 'Saturn', 'Mercury', 'Ketu', 'Venus'],
256
+ },
257
+ },
258
+ required: BIRTH_REQUIRED,
259
+ },
260
+ },
261
+ {
262
+ name: 'check_sade_sati',
263
+ description: 'Check if a person is currently in Sade Sati — the 7.5-year period when Saturn transits the sign before, in, and after the natal Moon sign. One of the most important and feared transits in Vedic astrology. Returns current status, phase (rising/peak/setting), and dates.',
264
+ inputSchema: {
265
+ type: 'object',
266
+ properties: BIRTH_PARAMS,
267
+ required: BIRTH_REQUIRED,
268
+ },
269
+ },
270
+ {
271
+ name: 'check_mangal_dosha',
272
+ description: 'Check for Mangal Dosha (Mars affliction) — whether Mars is placed in the 1st, 2nd, 4th, 7th, 8th, or 12th house, causing the Manglik condition. Highly relevant for matrimonial compatibility. Returns dosha status, which houses trigger it, and cancellation conditions.',
273
+ inputSchema: {
274
+ type: 'object',
275
+ properties: BIRTH_PARAMS,
276
+ required: BIRTH_REQUIRED,
277
+ },
278
+ },
279
+ {
280
+ name: 'check_kaalsarp_dosha',
281
+ description: 'Check for Kaal Sarp Dosha — when all 7 planets (Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn) are hemmed between Rahu and Ketu. Returns dosha type (Anant, Kulik, Vasuki, etc.), severity, and effects.',
282
+ inputSchema: {
283
+ type: 'object',
284
+ properties: BIRTH_PARAMS,
285
+ required: BIRTH_REQUIRED,
286
+ },
287
+ },
288
+ {
289
+ name: 'get_yogas',
290
+ description: 'Detect and list all Yogas (auspicious and inauspicious planetary combinations) in a birth chart. Includes Raj Yogas (success), Dhana Yogas (wealth), Panch Mahapurusha Yogas, and more. Returns yoga name, planets involved, and interpretation.',
291
+ inputSchema: {
292
+ type: 'object',
293
+ properties: BIRTH_PARAMS,
294
+ required: BIRTH_REQUIRED,
295
+ },
296
+ },
297
+ {
298
+ name: 'get_kundali_match',
299
+ description: 'Perform Kundali matching (Guna Milan / Ashtakoot) for two birth charts. Returns the 36-point compatibility score across 8 categories: Varna, Vashya, Tara, Yoni, Maitri, Gana, Bhakoot, and Nadi. Essential for matrimonial compatibility analysis.',
300
+ inputSchema: {
301
+ type: 'object',
302
+ properties: {
303
+ m_dob: { type: 'string', description: 'Male date of birth DD/MM/YYYY' },
304
+ m_tob: { type: 'string', description: 'Male time of birth HH:MM' },
305
+ m_lat: { type: 'number', description: 'Male birth place latitude' },
306
+ m_lon: { type: 'number', description: 'Male birth place longitude' },
307
+ m_tz: { type: 'number', description: 'Male birth place timezone offset' },
308
+ f_dob: { type: 'string', description: 'Female date of birth DD/MM/YYYY' },
309
+ f_tob: { type: 'string', description: 'Female time of birth HH:MM' },
310
+ f_lat: { type: 'number', description: 'Female birth place latitude' },
311
+ f_lon: { type: 'number', description: 'Female birth place longitude' },
312
+ f_tz: { type: 'number', description: 'Female birth place timezone offset' },
313
+ },
314
+ required: ['m_dob', 'm_tob', 'm_lat', 'm_lon', 'm_tz', 'f_dob', 'f_tob', 'f_lat', 'f_lon', 'f_tz'],
315
+ },
316
+ },
317
+ {
318
+ name: 'get_planet_transits',
319
+ description: 'Get current positions of all 9 planets (real-time transit data). Returns today\'s planetary positions — which signs they are in, degrees, and whether any are retrograde. Use for transit analysis, electional astrology, or answering "where is Saturn right now?"',
320
+ inputSchema: {
321
+ type: 'object',
322
+ properties: {
323
+ lat: BIRTH_PARAMS.lat,
324
+ lon: BIRTH_PARAMS.lon,
325
+ tz: BIRTH_PARAMS.tz,
326
+ date: { type: 'string', description: 'Date for transit data in DD/MM/YYYY. Defaults to today.' },
327
+ },
328
+ required: ['lat', 'lon', 'tz'],
329
+ },
330
+ },
331
+ {
332
+ name: 'get_muhurta',
333
+ description: 'Get Choghadiya muhurta — the auspicious and inauspicious time slots for a day, divided into day and night periods. Each slot is ruled by a planet: Amrit and Shubh are most auspicious for starting new ventures, contracts, travel. Returns all time slots with planet ruler and quality.',
334
+ inputSchema: {
335
+ type: 'object',
336
+ properties: {
337
+ dob: { type: 'string', description: 'Date in DD/MM/YYYY' },
338
+ tob: { type: 'string', description: 'Time in HH:MM' },
339
+ lat: BIRTH_PARAMS.lat,
340
+ lon: BIRTH_PARAMS.lon,
341
+ tz: BIRTH_PARAMS.tz,
342
+ },
343
+ required: ['dob', 'tob', 'lat', 'lon', 'tz'],
344
+ },
345
+ },
346
+ {
347
+ name: 'get_gem_suggestions',
348
+ description: 'Get Jyotish gemstone recommendations based on the birth chart. Returns the recommended Navratna gem, its ruling planet, the metal to use, mantra, and benefits. Each planet has a corresponding gem (Sun→Ruby, Moon→Pearl, Mars→Coral, etc.).',
349
+ inputSchema: {
350
+ type: 'object',
351
+ properties: BIRTH_PARAMS,
352
+ required: BIRTH_REQUIRED,
353
+ },
354
+ },
355
+ {
356
+ name: 'get_numerology',
357
+ description: 'Get a full Vedic numerology profile: Life Path number, Destiny number, Soul Urge number, Mulank (radical number), Lucky number, Lucky color, Lucky day, and Lucky stone. Based on date of birth.',
358
+ inputSchema: {
359
+ type: 'object',
360
+ properties: {
361
+ dob: BIRTH_PARAMS.dob,
362
+ name: { type: 'string', description: 'Full name at birth (optional, used for name number calculation)' },
363
+ },
364
+ required: ['dob'],
365
+ },
366
+ },
367
+ {
368
+ name: 'interpret_chart_ai',
369
+ description: 'Generate a full AI-powered Vedic birth chart reading using Claude (Anthropic). Returns a 700+ word personalized interpretation covering: Ascendant and its nakshatra, Moon sign and emotional nature, Sun sign and life purpose, key planetary placements, prominent yogas, and current Dasha period themes. Requires AI add-on plan.',
370
+ inputSchema: {
371
+ type: 'object',
372
+ properties: BIRTH_PARAMS,
373
+ required: BIRTH_REQUIRED,
374
+ },
375
+ },
376
+ {
377
+ name: 'get_dasha_narrative_ai',
378
+ description: 'Get an AI-generated narrative for the current Dasha (planetary period) — what themes, challenges, and opportunities this period brings based on the ruling planet, its placement in the natal chart, and how it interacts with the birth chart. Requires AI add-on plan.',
379
+ inputSchema: {
380
+ type: 'object',
381
+ properties: BIRTH_PARAMS,
382
+ required: BIRTH_REQUIRED,
383
+ },
384
+ },
385
+ {
386
+ name: 'lookup_city_coordinates',
387
+ description: 'Look up latitude, longitude, and timezone for a city by name. Use this before any birth chart calculation when you know the city name but not its coordinates. Searches 80+ Indian and global cities.',
388
+ inputSchema: {
389
+ type: 'object',
390
+ properties: {
391
+ city: { type: 'string', description: 'City name to search. Example: "Mumbai", "Delhi", "London"' },
392
+ },
393
+ required: ['city'],
394
+ },
395
+ },
396
+ {
397
+ name: 'list_endpoints',
398
+ description: 'List all 106+ endpoints available in VedIntel™ AstroAPI. Optionally filter by category. Categories: Horoscope, Extended Horoscope, Dashas, Doshas, Panchang, Matching, Predictions, Utilities, AI (Premium).',
399
+ inputSchema: {
400
+ type: 'object',
401
+ properties: {
402
+ category: {
403
+ type: 'string',
404
+ description: 'Filter by category (optional)',
405
+ enum: ['Horoscope', 'Extended Horoscope', 'Dashas', 'Doshas', 'Panchang', 'Matching', 'Predictions', 'Utilities', 'AI (Premium)'],
406
+ },
407
+ },
408
+ },
409
+ },
410
+ {
411
+ name: 'search_endpoints',
412
+ description: 'Search VedIntel™ AstroAPI endpoints by keyword. Useful for finding the right endpoint when you know what you want (e.g., "navamsa", "mahadasha", "festival", "gemstone").',
413
+ inputSchema: {
414
+ type: 'object',
415
+ properties: {
416
+ query: { type: 'string', description: 'Keyword to search for. Examples: "navamsa", "compatibility", "retrograde", "sunrise"' },
417
+ },
418
+ required: ['query'],
419
+ },
420
+ },
421
+ ];
422
+ // ─── Server setup ─────────────────────────────────────────────────────────────
423
+ const server = new Server({
424
+ name: 'vedintel-mcp',
425
+ version: '1.0.0',
426
+ }, {
427
+ capabilities: { tools: {} },
428
+ });
429
+ server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: TOOLS }));
430
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
431
+ const { name, arguments: args } = request.params;
432
+ const p = (args ?? {});
433
+ try {
434
+ switch (name) {
435
+ case 'get_planet_details':
436
+ return { content: [{ type: 'text', text: formatResult(await callAPI('horoscope/planet-details', p)) }] };
437
+ case 'get_ascendant':
438
+ return { content: [{ type: 'text', text: formatResult(await callAPI('extended-horoscope/find-ascendant', p)) }] };
439
+ case 'get_moon_sign':
440
+ return { content: [{ type: 'text', text: formatResult(await callAPI('extended-horoscope/find-moon-sign', p)) }] };
441
+ case 'get_divisional_chart':
442
+ return { content: [{ type: 'text', text: formatResult(await callAPI('horoscope/divisional-charts', p)) }] };
443
+ case 'get_panchang':
444
+ return { content: [{ type: 'text', text: formatResult(await callAPI('panchang/panchang', p)) }] };
445
+ case 'get_current_dasha':
446
+ return { content: [{ type: 'text', text: formatResult(await callAPI('dashas/current-mahadasha', p)) }] };
447
+ case 'get_dasha_timeline':
448
+ return { content: [{ type: 'text', text: formatResult(await callAPI('dashas/mahadasha', p)) }] };
449
+ case 'get_antardasha':
450
+ return { content: [{ type: 'text', text: formatResult(await callAPI('dashas/antardasha', p)) }] };
451
+ case 'check_sade_sati':
452
+ return { content: [{ type: 'text', text: formatResult(await callAPI('extended-horoscope/current-sade-sati', p)) }] };
453
+ case 'check_mangal_dosha':
454
+ return { content: [{ type: 'text', text: formatResult(await callAPI('dosha/mangal-dosh', p)) }] };
455
+ case 'check_kaalsarp_dosha':
456
+ return { content: [{ type: 'text', text: formatResult(await callAPI('dosha/kaalsarp-dosh', p)) }] };
457
+ case 'get_yogas':
458
+ return { content: [{ type: 'text', text: formatResult(await callAPI('extended-horoscope/yoga-list', p)) }] };
459
+ case 'get_kundali_match':
460
+ return { content: [{ type: 'text', text: formatResult(await callAPI('matching/north-match', p)) }] };
461
+ case 'get_planet_transits': {
462
+ const { date, ...rest } = p;
463
+ const params = date ? { ...rest, dob: date } : { ...rest, dob: new Date().toLocaleDateString('en-GB').replace(/\//g, '/') };
464
+ return { content: [{ type: 'text', text: formatResult(await callAPI('panchang/transit', params)) }] };
465
+ }
466
+ case 'get_muhurta':
467
+ return { content: [{ type: 'text', text: formatResult(await callAPI('panchang/choghadiya-muhurta', p)) }] };
468
+ case 'get_gem_suggestions':
469
+ return { content: [{ type: 'text', text: formatResult(await callAPI('extended-horoscope/gem-suggestion', p)) }] };
470
+ case 'get_numerology':
471
+ return { content: [{ type: 'text', text: formatResult(await callAPI('predictions/numerology', p)) }] };
472
+ case 'interpret_chart_ai':
473
+ return { content: [{ type: 'text', text: formatResult(await callAPI('ai/interpret/chart', p)) }] };
474
+ case 'get_dasha_narrative_ai':
475
+ return { content: [{ type: 'text', text: formatResult(await callAPI('ai/dasha/narrative', p)) }] };
476
+ case 'lookup_city_coordinates':
477
+ return { content: [{ type: 'text', text: formatResult(await callAPI('utilities/geo-search', p)) }] };
478
+ case 'list_endpoints': {
479
+ const cat = p.category;
480
+ const filtered = cat ? ALL_ENDPOINTS.filter(e => e.category === cat) : ALL_ENDPOINTS;
481
+ const grouped = {};
482
+ for (const ep of filtered) {
483
+ if (!grouped[ep.category])
484
+ grouped[ep.category] = [];
485
+ grouped[ep.category].push(ep);
486
+ }
487
+ const lines = [`VedIntel™ AstroAPI — ${filtered.length} endpoints${cat ? ` in ${cat}` : ' across all categories'}\n`];
488
+ for (const [category, eps] of Object.entries(grouped)) {
489
+ lines.push(`## ${category} (${eps.length})`);
490
+ for (const ep of eps) {
491
+ lines.push(` /api/v1/${ep.path}\n ${ep.desc}`);
492
+ }
493
+ lines.push('');
494
+ }
495
+ return { content: [{ type: 'text', text: lines.join('\n') }] };
496
+ }
497
+ case 'search_endpoints': {
498
+ const query = (p.query ?? '').toLowerCase();
499
+ const matches = ALL_ENDPOINTS.filter(e => e.path.includes(query) || e.desc.toLowerCase().includes(query) || e.category.toLowerCase().includes(query));
500
+ if (matches.length === 0) {
501
+ return { content: [{ type: 'text', text: `No endpoints found matching "${p.query}". Try list_endpoints to see all available endpoints.` }] };
502
+ }
503
+ const lines = [`Found ${matches.length} endpoint(s) matching "${p.query}":\n`];
504
+ for (const ep of matches) {
505
+ lines.push(`[${ep.category}] /api/v1/${ep.path}`);
506
+ lines.push(` ${ep.desc}\n`);
507
+ }
508
+ return { content: [{ type: 'text', text: lines.join('\n') }] };
509
+ }
510
+ default:
511
+ throw new McpError(ErrorCode.MethodNotFound, `Unknown tool: ${name}`);
512
+ }
513
+ }
514
+ catch (error) {
515
+ if (error instanceof McpError)
516
+ throw error;
517
+ throw new McpError(ErrorCode.InternalError, `Tool error: ${error instanceof Error ? error.message : String(error)}`);
518
+ }
519
+ });
520
+ // ─── Start ────────────────────────────────────────────────────────────────────
521
+ async function main() {
522
+ const transport = new StdioServerTransport();
523
+ await server.connect(transport);
524
+ process.stderr.write('VedIntel™ AstroAPI MCP server running. Tools: ' + TOOLS.length + '\n');
525
+ }
526
+ main().catch((err) => {
527
+ process.stderr.write(`Fatal error: ${err}\n`);
528
+ process.exit(1);
529
+ });
530
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "@vedintelastroapi/mcp-server",
3
+ "version": "1.0.0",
4
+ "description": "MCP server for VedIntel™ AstroAPI — live Vedic astrology computations for Claude Desktop, Cursor, and VS Code",
5
+ "type": "module",
6
+ "publishConfig": {
7
+ "access": "public"
8
+ },
9
+ "bin": {
10
+ "vedintel-mcp": "build/index.js"
11
+ },
12
+ "scripts": {
13
+ "build": "tsc && chmod +x build/index.js",
14
+ "dev": "tsc --watch",
15
+ "start": "node build/index.js",
16
+ "prepare": "npm run build"
17
+ },
18
+ "files": [
19
+ "build",
20
+ "README.md"
21
+ ],
22
+ "keywords": [
23
+ "mcp",
24
+ "vedic-astrology",
25
+ "astrology",
26
+ "kundali",
27
+ "birth-chart",
28
+ "panchang",
29
+ "dasha",
30
+ "claude",
31
+ "ai"
32
+ ],
33
+ "author": "VedIntel™ AstroAPI",
34
+ "license": "MIT",
35
+ "homepage": "https://vedintelastroapi.com",
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "git+https://github.com/cryptonaidu/vedintel-mcp.git"
39
+ },
40
+ "dependencies": {
41
+ "@modelcontextprotocol/sdk": "^1.0.4"
42
+ },
43
+ "devDependencies": {
44
+ "@types/node": "^22.0.0",
45
+ "typescript": "^5.6.0"
46
+ },
47
+ "engines": {
48
+ "node": ">=18.0.0"
49
+ }
50
+ }