astro-mcp
astro-mcp
점성술 MCP 서버 — LLM 에이전트를 위한 고정밀 점성술 도구.
Swiss Ephemeris(pyswisseph)를 기반으로 하는 14개의 도구를 구현하며, 모든 Model Context Protocol 클라이언트(Claude Desktop 등)와 통합됩니다.
도구
# | 이름 | 설명 |
1 |
| 전체 출생 차트: 행성, 앵글, 하우스, 애스펙트 |
2 |
| 출생 차트에 대한 트랜싯 애스펙트, 달의 위상, 삭망 및 보이드 오브 코스 |
3 |
| 하루-1년 프로그레션 + 솔라 아크 |
4 |
| 연간 솔라 리턴 차트 |
5 |
| 후보 출생 시간을 인생 사건과 대조하여 점수화 |
6 |
| 월간 루나 리턴 차트 |
7 |
| 차트 간 애스펙트 + 하우스 오버레이 |
8 |
| 미드포인트 또는 데이비슨 컴포지트 차트 |
9 |
| 연간 프로펙션 — 연주인 및 활성화된 하우스 |
10 |
| 모든 날짜/위치에 대한 24개 행성시 |
11 |
| 12개 아라빅 파트/롯(포춘, 스피릿, 메리지 등) |
12 |
| 날짜 범위에 대한 행성 위치 표 |
13 |
| 특정 애스펙트의 정확한 날짜 찾기 |
14 |
| 안티스키아 및 콘트라-안티스키아 포인트, 선택적 트랜싯 접촉 포함 |
Related MCP server: auseklis
설치
# 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 구성
~/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"
}
}
}
}환경 변수
변수 | 기본값 | 설명 |
|
| Swiss Ephemeris |
|
|
|
| — |
|
|
| Nominatim 사용자 에이전트 |
|
| 지오코딩 결과용 LRU 캐시 크기 |
|
| 재시작 후에도 조회가 유지되는 영구 지오코드 캐시. 도시 → 위도/경도/시간대만 저장. 비우면 비활성화 |
|
|
|
|
| 전역 오브 승수(0.1–3.0) |
|
|
|
|
| Python 로깅 레벨 |
아키텍처
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 14출력 형식
모든 도구는 LLM 컨텍스트 토큰을 최소화하기 위해 공백 없는 컴팩트 JSON을 반환합니다(상세 JSON보다 약 75% 작음). 행성 코드는 축약되고(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"}행성 코드
도구 전반에서 지원되는 코드:
Su태양Mo달Me수성Ve금성Ma화성Ju목성Sa토성Ur천왕성Ne해왕성Pl명왕성Ch키론Li블랙 문 릴리스(민 아포지)NN북쪽 노드(기본값은 트루 노드;NODE_TYPE=mean일 때 민 노드)SN남쪽 노드소행성(
include_asteroids가 지원되는 경우):Ce세레스,Pa팔라스,Jun주노,Ves베스타
API 참고 사항
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-natalauto(기본값)는birth_*존재 여부에서 모드를 추론합니다.
테스트
pytest tests/ -v --cov=src/astro_mcp --cov-report=term-missing골든 차트 회귀 테스트는 테스트 스위트(tests/test_audit_regressions.py)에 인라인으로 포함되어 있으며 Astro.com 및 Solar Fire와 대조하여 검증되었습니다.
라이선스
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Swiss Ephemeris for AI agents: exact natal charts, transits, synastry and birth-place resolution
Western natal charts, horoscopes, transits and synastry for AI agents, verified vs NASA JPL.
Real astrology for AI agents: cosmic weather, synastry, timing, astrocartography, and divination.
Vedic and Western astrology for AI agents: charts, dasha, matchmaking, panchanga, numerology, tarot.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceMulti-tradition astrology engine that computes real birth charts, transits, and synastry for AI agents via MCP tools.8-
- AlicenseAqualityCmaintenanceAstrology 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.1261 npm1MIT
- AlicenseAqualityDmaintenanceCalculates astrological natal charts with high precision using Swiss Ephemeris, supporting multiple house systems and location inputs.218 npm5AGPL 3.0
- AlicenseAqualityAmaintenanceVedic and Western astrology for AI agents: 103 read-only tools for natal charts, dasha, kundali matching with Rajju and Vedha vetoes, panchanga, numerology and tarot, backed by Swiss Ephemeris and verified against NASA JPL Horizons.103MIT