mcpField
C
Céu Natal

Céu Natal

リモート
mistico.gustavocancado.com.brゲーム・エンタメ01 日前に更新
リポジトリ公式サイト

Céu Natal について

Céu Natalは、AIアシスタントによる解釈向けにSwiss Ephemerisで占星術チャートを計算するオープンソースのMCPサーバーです。ポルトガル語で結果を返し、出生図、相性、トランジット、プログレス、太陽回帰図と月回帰図を扱います。

主な機能

  1. 01出生図と惑星位置の計算
  2. 02シナストリーによる2つのチャートの比較
  3. 03トランジットとプログレスの計算
  4. 04太陽回帰図と月回帰図の計算
  5. 05複数のハウスシステムに対応

活用シーン

  1. 01AIによる解釈用にチャート位置を取得
  2. 022人の占星術チャートを比較
  3. 03指定日のトランジットを確認
  4. 04太陽回帰図または月回帰図を計算

MCP 対応

チャート計算、アスペクト情報、サーバー状態のツールをMCPクライアントに公開します。無料の公開Streamable HTTPエンドポイントがあり、ローカルでstdio経由でも実行できます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://astrologia-mcp.gustavocancado.com.br/mcp/
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

Céu Natal

スイス暦を使って占星術チャートを計算し、AI アシスタントが解釈できるようにする MCP サーバーです。

英語版。 Céu Natal は、Swiss Ephemeris を使って出生図、シナストリー、トランジット、プログレス、太陽回帰・月回帰を計算し、ポルトガル語で応答するオープンソースの Model Context Protocol サーバーです。無料の公開エンドポイントが https://astrologia-mcp.gustavocancado.com.br/mcp/ で稼働しています(登録不要)。ライセンスは AGPL-3.0 です。Claude、ChatGPT、Claude Code、Cursor の英語でのセットアップ方法: https://mistico.gustavocancado.com.br/en。Claude Code でのクイックスタート: claude mcp add --transport http --scope user ceu-natal https://astrologia-mcp.gustavocancado.com.br/mcp/。

CI ライセンス: AGPL-3.0 Python 3.11

開発の背景

AI アシスタントに占星術チャートを頼むと、自信たっぷりに答えますが、位置がでっち上げられていることがよくあります。モデルには暦がないため、月の星座やアセンダントを推測しているのです。このサーバーは実際に計算して数値を返し、AI は解釈だけを行います。

今すぐ使う

無料の公開 MCP エンドポイント(Streamable HTTP、ログイン不要):

https://astrologia-mcp.gustavocancado.com.br/mcp/

Claude、ChatGPT、Gemini、Manus、Cursor、n8n のセットアップ手順: https://mistico.gustavocancado.com.br/#conectar。

計算できる内容

ツール内容
calcular_mapa_natal出生図の位置、ハウス、角度、アスペクト、ノード、キロン、概要を計算します。
calcular_sinastria2 人の間のクロスアスペクトと、一方の惑星がもう一方のハウスに入る位置を計算します。
calcular_transitos指定日の位置、出生図とのアスペクト、主要な遅いトランジットを計算します。
calcular_progressoes二次進行(1 日 = 1 年)を計算し、進行する月と太陽を表示します。
calcular_mapa_compostoミッドポイント法で 2 人のコンポジットチャートを計算します。
calcular_revolucao_solarある年に太陽が出生時の位置へ戻るときのチャートを、回帰時の場所とともに計算します。
calcular_revolucao_lunar指定日以降、月が出生時の位置に戻る次の時点を計算します。
listar_aspectos_tipos対応するアスペクト、角度、オーブ、性質を一覧表示します。
healthcheckサーバーのステータスとバージョンを表示します。

人物の入力項目:data(DD/MM/YYYY、必須)、hora(HH:MM)、local (「都市、州」または「都市、国」)、nome、is_dst。出生時刻なしで出生図を計算する場合、計算には現地時間の 12:00 を使用します。月には不確実であることを示す印(posicao_incerta、signo_pode_mudar)が付き、ハウスと角度は出力されません。sistema_casas は任意です:P Placidus(デフォルト)、K Koch、 W Whole Sign、E Equal、R Regiomontanus、C Campanus、O Porphyrius、B Alcabitus、 M Morinus、T Topocentric。GET /tools にはツールとパラメーター名が一覧表示されます。完全な inputSchema は MCP の tools/list から取得できます(どの MCP クライアントでも表示できます)。

例

リクエスト(tools/call):

{
  "name": "calcular_mapa_natal",
  "arguments": {"nome": "Ana", "data": "12/03/1990", "hora": "14:30", "local": "Belo Horizonte, MG"}
}

応答の抜粋:

{
  "planetas": {
    "sol": {"signo": "Peixes", "grau": "21°52'", "grau_decimal": 21.8779, "posicao_absoluta": 351.8779,
            "retrogrado": false, "elemento": "Agua", "qualidade": "Mutavel", "casa": 8},
    "lua": {"signo": "Libra", "grau": "6°19'", "grau_decimal": 6.329, "posicao_absoluta": 186.329,
            "retrogrado": false, "elemento": "Ar", "qualidade": "Cardinal", "casa": 3}
  },
  "angulos": {
    "ascendente": {"signo": "Cancer", "grau": "18°38'", "grau_decimal": 18.6412, "posicao_absoluta": 108.6412}
  },
  "aspectos": [
    {"planeta_a": "lua", "planeta_b": "venus", "tipo": "trigono", "orbe": 0.48,
     "aplicando": true, "exato": true, "natureza": "harmonico"}
  ],
  "local_resolvido": {"lat": -19.9167, "lng": -43.9333, "fuso": "America/Sao_Paulo"}
}

完全な応答には、ほかの惑星、12 ハウス、ミッドヘブン、ディセンダント、イムム・コエリ、感受点、概要(エレメント、クオリティ、半球、ステリウム)も含まれます。

ローカルで実行

Docker を使用:

cp .env.example .env
docker compose up --build        # http://localhost:8000

pip を使用(Linux または macOS。Windows では pyswisseph がコンパイルできないため、WSL を使用してください):

python3.11 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
uvicorn app.server:app --port 8000

ローカルプロセスを起動するクライアント向けの stdio:python -m app.stdio(環境変数は同じです)。

ルート:/mcp/(MCP Streamable HTTP)、/health、 /tools(ツール一覧。MCP_API_KEY が空の場合は公開)、/llms.txt、 /mapa-rapido(サイトのフォーム)、/(PUBLIC_SITE_URL にリダイレクト)。

開発する場合は、requirements-dev.txt もインストールし、ruff check .、mypy app、および python -m pytest -q を実行してください。詳細は CONTRIBUTING.md をご覧ください。

環境変数

変数デフォルト説明
MCP_SERVER_NAMEceu-natalinitialize で返される名前
MCP_SERVER_VERSION2.2.6公開されるバージョン
MCP_API_KEY(空)設定すると、Authorization: Bearer <chave> が必要になります。空の場合、すべて許可されます
MCP_ALLOWED_HOSTS(空)/mcp/ で許可されるホスト(DNS リバインディング対策)。カンマ区切りです。空の場合、検証しません
RATE_LIMIT_SESSION_PER_MIN30MCP セッションごとの1分あたりのツール呼び出し数(0で無効)
RATE_LIMIT_GLOBAL_PER_MIN600全体での1分あたりのツール呼び出し数(0で無効)
RATE_LIMIT_MAPA_RAPIDO_IP_PER_MIN6IPごとの1分あたりの/mapa-rapidoへのリクエスト数(0で無効)
RATE_LIMIT_MAPA_RAPIDO_GLOBAL_PER_MIN120全体での1分あたりの/mapa-rapidoへのリクエスト数(0で無効)
PUBLIC_SITE_URLhttps://github.com/gucancado/ceu-natal/と/llms.txtのリダイレクト先(<site>/llms.txtへ移動します)
CORS_ORIGINS(空 = PUBLIC_SITE_URL)/mapa-rapidoのCORSで許可されるオリジン。カンマ区切りです
GEONAMES_USERNAME(空) — 設定しない場合、Nominatimのみ使用ジオコーディングに使用するGeoNamesアカウント(geonames.orgで無料アカウントを作成してください)
NOMINATIM_USER_AGENTceu-natal-mcp/2.0Nominatim(OSM)に送信するUser-Agent
NOMINATIM_MIN_INTERVAL_S1.0Nominatimへの呼び出し間の最小間隔(秒)
GEOCODER_MAX_CONCORRENTES4ジオコーディングプロバイダーへの同時呼び出しの上限
GEOCODER_ESPERA_MAX_S3.0上限の空きができるまでの最大待機時間(秒)。超過するとエラーになります
GEOCODER_CACHE_PATH<tmp>/ceu-natal-geocode-cache.json座標の永続キャッシュ。Dockerでは/var/cache/ceu-natalにボリュームを設定します
CONTATOS_PATH空(/contatoを無効化)サイトで新着情報の受け取りを希望した連絡先を保存するJSONLファイル。本番環境では/var/lib/ceu-natal/contatos.jsonl(永続ボリューム)
ESTATISTICAS_PATH空(/estatisticasを無効化)使用状況の集計統計を保存するSQLiteデータベース(ステータスページ)。本番環境では/var/lib/ceu-natal/estatisticas.sqlite3(永続ボリューム)
HISTORICO_PATH空(何も保存しません)サイトのフォームで作成されたマップ(日時、都市)を保存するSQLiteデータベース。匿名のブラウザーIDと連絡先に紐付けられます。本番環境では/var/lib/ceu-natal/historico.sqlite3
CONTATOS_ADMIN_TOKEN空(/contatosは404を返します)GET /contatos(各連絡先とそのマップ)およびGET /historico(ブラウザーごとの履歴)ルートで使用するBearerトークン。MCP_API_KEYとは別です

サイト(web/)

紹介サイト(https://mistico.gustavocancado.com.br)は、独自のDockerイメージ(web/Dockerfile)を持つ独立したNext.js 16アプリです。起動するには、 cd web && pnpm install && pnpm devを実行してください。URLはweb/.env.exampleで設定します。

精度と制限

  • 天体暦: Astrodienst AGのSwiss Ephemerisを、 Kerykeionとpyswisseph経由で使用します。トロピカル方式の黄道帯です。
  • 緯度66°超: 極付近ではハウス計算の信頼性が低くなります。出生図はハウスとアングルを含めずに出力され、警告が表示されます。トランジット、プログレス、リターンは拒否されます。
  • 年: 1800年から2399年までの日付(キロンの天体暦の範囲)。ソーラーリターンは1800年から2200年までです。
  • 夏時間: 時刻が切り替わりのタイミング(曖昧または存在しない時刻)に当たる場合、サーバーはis_dstを指定するよう求めるエラーを返します(true = 夏時間、false = 標準時間)。
  • 出生時刻が不明な場合: 現地時間の12:00として計算します。月の位置は、その日の移動量の半分まで前後する可能性があります(通常6°から7.6°で、margem_grausに返されます)。結果には、月のサインが変わる可能性のある時刻が示されます。
  • 公開エンドポイントの制限: セッションごとに1分あたり30回、全体で1分あたり600回の呼び出しが可能です。MCP経由で受信したデータは保存されません(サイトのフォームで作成したマップは保存されます)。詳しくは プライバシーポリシーをご覧ください。

貢献

Issue やプルリクエストを歓迎します。CONTRIBUTING.mdをご覧ください。 セキュリティ上の問題については、SECURITY.mdをご覧ください。

ライセンス

AGPL-3.0-or-later。AGPL はネットワーク経由での利用にも適用されます。変更を加えたこのサーバーをサービスとして提供する場合は、コードを公開する必要があります。公開エンドポイントでは、このリポジトリのコードがそのまま実行されています。

Copyright (C) 2026 Gustavo Cançado。サードパーティのクレジットとライセンスについては、NOTICEをご覧ください。

この選択は依存関係に基づいています。Kerykeion は AGPL-3.0 であり、pyswisseph(Swiss Ephemeris)は AGPL-3.0 または Astrodienst の有料プロフェッショナルライセンスで配布されています。AGPL の条件に従わない利用には、Swiss Ephemeris のプロフェッショナルライセンスを取得し、Kerykeion を置き換える必要があります。サイトでは、AGPL と互換性のある MIT ライセンスのパッケージ @beeads/* を使用しています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。