astro-mcp
astro-mcp
Астрологический MCP-сервер — инструменты астрологии высокой точности для LLM-агентов.
Реализует 14 инструментов на основе Swiss Ephemeris (pyswisseph) и интегрируется с любым клиентом Model Context Protocol (Claude Desktop и др.).
Tools
# | Name | Description |
1 |
| Полная натальная карта: планеты, углы, дома, аспекты |
2 |
| Транзитные аспекты к натальной карте, фаза Луны, лунные циклы и холостая Луна |
3 |
| Прогрессии «день за год» + Солярная дуга |
4 |
| Годовая солярная карта |
5 |
| Оценка кандидатных времён рождения по событиям жизни |
6 |
| Ежемесячная лунная карта (лунные возвращения) |
7 |
| Синастрия: межкартные аспекты + наложения домов |
8 |
| Композитная карта по средним точкам или Дэвисону |
9 |
| Годовая профекция — хозяин года и активированные дома |
10 |
| 24 планетарных часа для любого дня/места |
11 |
| 12 арабских частей / жребиев (Фортуна, Дух, Брак и др.) |
12 |
| Таблица положений планет за диапазон дат |
13 |
| Поиск точных дат конкретного аспекта |
14 |
| Антисции и контра-антисции, с опциональными транзитными контактами |
Related MCP server: auseklis
Installation
# 1. Clone
git clone https://github.com/DrewCyber/astro-mcp
cd astro-mcp
# 2. Create virtual environment
python3.11 -m venv .venv
source .venv/bin/activate
# 3. Install package + dev dependencies
pip install -e ".[dev]"
# 4. Download Swiss Ephemeris data files
bash scripts/download_ephe.sh
# 5. Set environment variable
export EPHE_PATH="$(pwd)/ephe"
# 6. Run tests
pytest tests/Claude Desktop configuration
Добавьте в ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"astro": {
"command": "/path/to/astro-mcp/.venv/bin/python",
"args": ["-m", "astro_mcp"],
"env": {
"EPHE_PATH": "/path/to/astro-mcp/ephe",
"GEOCODING_PROVIDER": "nominatim",
"GEOCODING_USER_AGENT": "astro-mcp/1.0",
"LOG_LEVEL": "WARNING"
}
}
}
}Environment Variables
Variable | Default | Description |
|
| Путь к файлам данных Swiss Ephemeris |
|
|
|
| — | Требуется, если |
|
| User-agent для Nominatim |
|
| Размер LRU-кэша для результатов геокодирования |
|
| Постоянный кэш геокодирования, чтобы запросы переживали перезапуск. Хранит только город → широта/долгота/часовой пояс. Установите пустым для отключения |
|
|
|
|
| Глобальный множитель орбиса (0.1–3.0) |
|
|
|
|
| Уровень логирования Python |
Architecture
src/astro_mcp/
├── server.py # MCP server — tool registration and dispatch
├── schemas.py # Pydantic input models (source of the JSON schemas)
├── config.py # Settings from environment variables
├── core/
│ ├── models.py # Data models and astrological constants
│ ├── errors.py # AstroError and the structured error codes
│ ├── ephemeris_provider.py # Swiss Ephemeris wrapper (pyswisseph)
│ ├── geocoding.py # City → lat/lon/tz (geopy + timezonefinder)
│ ├── moon.py # Lunar phase, lunations and void-of-course
│ └── formatters.py # LLM-optimized serialization
└── tools/
├── natal.py # Tool 1
├── transits.py # Tool 2
├── progressions.py # Tool 3
├── returns.py # Tools 4 + 6
├── rectification.py # Tool 5
├── synastry.py # Tools 7 + 8
├── profections.py # Tool 9
├── planetary_hours.py # Tool 10
├── arabic_parts.py # Tool 11
├── ephemeris.py # Tools 12 + 13
└── antiscia.py # Tool 14Output Format
Все инструменты возвращают компактный JSON без пробелов для минимизации токенов контекста LLM (примерно на 75% меньше, чем подробный JSON). Коды планет сокращены (Su, Mo, Me и т.д.), аспекты используют 3-буквенные коды (Cnj, Tri, Squ), а флаг ретроградности ("R":true) опускается, когда планета директная, чтобы сэкономить дополнительные токены.
Сбои используют тот же контракт, поэтому клиенту никогда не приходится разбирать текст:
{"error":true,"code":"INPUT_ERROR","message":"Invalid arguments for 'calculate_natal_chart'.","hint":"birth_location.lat: Input should be less than or equal to 90"}Planet Codes
Поддерживаемые коды во всех инструментах:
SuСолнцеMoЛунаMeМеркурийVeВенераMaМарсJuЮпитерSaСатурнUrУранNeНептунPlПлутонChХиронLiЧёрная Луна Лилит (средний апогей)NNСеверный узел (по умолчанию истинный; средний, когдаNODE_TYPE=mean)SNЮжный узелАстероиды (где поддерживается
include_asteroids):CeЦерера,PaПаллада,JunЮнона,VesВеста
API Notes
get_ephemerisпринимает либо одинplanet, либо список планет.get_ephemeris.stepподдерживает1h,2h,3h,6h,12h,1d,7d,30d.get_ephemerisтеперь возвращает полеtimezoneи форматируетdtвoutput_tz.find_aspect_exact_dates.modeподдерживает:transit-to-transitдля двух движущихся телtransit-to-natalдля транзита к натальной планете/углуauto(по умолчанию) определяет режим по наличиюbirth_*
Testing
pytest tests/ -v --cov=src/astro_mcp --cov-report=term-missingРегрессионные тесты эталонных карт находятся непосредственно в тестовом наборе (tests/test_audit_regressions.py) и были проверены по Astro.com и Solar Fire.
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityAmaintenanceMulti-tradition astrology engine that computes real birth charts, transits, and synastry for AI agents via MCP tools.3
- AlicenseAqualityAmaintenanceAstrology MCP server that computes natal charts, transits, synastry, progressions, returns, eclipses, retrogrades, and moon phases from a real ephemeris, enabling AI agents to provide accurate astrological calculations without hallucination.12741MIT
- FlicenseAqualityDmaintenanceProvides astronomical calculations using the Swiss Ephemeris library, including planetary positions, houses, chart points, and asteroids for any date and location.48
- AlicenseAqualityBmaintenancePrecision-audited astrology MCP for natal charts, transits, synastry and moon phases. No API key.10124MIT
Related MCP Connectors
Sub-arcsecond ephemeris and astrology on NASA JPL DE440: natal, transits, eclipses, Human Design.
Zi Wei Dou Shu for AI agents: free natal charts, six transit levels, and optional readings.
60+ units, live FX, timezones, and date arithmetic for AI agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/DrewCyber/astro-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server