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 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