Salaah MCP (Muslim Community Prayer Times) について
Salaah MCPは、イスラム教の礼拝時刻や天文計算を必要とする個人やアプリ向けのFastAPI・MCPサービスです。場所と日付に基づく礼拝時刻のほか、キブラ、太陽、月、新月の可視性を計算します。
主な機能
- 01場所と日付に基づく礼拝時刻の計算
- 02指定された計算方法の選択
- 03キブラの方角と距離の算出
- 04太陽と月の位置情報の提供
- 05新月の可視性の計算
活用シーン
- 01場所ごとの日々の礼拝時刻の確認
- 02旅行中のキブラの方角の確認
- 03太陽と月の時刻情報の確認
- 04指定日の新月の可視性の評価
MCP 対応
MCPサービスを通じて、礼拝時刻と関連する計算機能をMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Salaah MCP(ムスリムコミュニティの礼拝時刻)
islamic_times ライブラリを使用して、イスラム教の礼拝時刻を計算する FastAPI および MCP サービスです。

依存関係
このプロジェクトでは、主に以下の依存関係を使用します。
- FastAPI:API 構築用の Web フレームワーク
- FastAPI MCP:Model Control Protocol
- islamic_times:礼拝時刻の中核的な計算エンジン
- Pydantic:データ検証
インストール
- リポジトリをクローンします:
git clone https://github.com/yourusername/salaah-mcp.git
cd salaah-mcp
- uvv と依存関係をインストールします:
pip install uv
uv install
使用方法
uv run run.py
API は以下の場所で利用できます:
- 開発環境:http://localhost:8000
- 本番環境:http://localhost:8000(UVV_PORT 環境変数で設定可能)
API エンドポイント
礼拝時刻を計算する
POST /prayer_times
指定した場所と日付の礼拝時刻を計算します。
リクエスト例:
{
"latitude": -26.1528113,
"longitude": 28.0049996,
"method": "EGYPTIAN"
}
レスポンス例:
{
"method": "Egyptian General Authority of Survey (Egypt)",
"fajr": "2025-06-01T05:19:11.373053+02:00",
"sunrise": "2025-06-01T06:47:44.369263+02:00",
"zuhr": "2025-06-01T12:05:43.358460+02:00",
"asr": "2025-06-01T15:23:52.560113+02:00",
"sunset": "2025-06-01T17:23:52.560113+02:00",
"maghrib": "2025-06-01T17:23:52.560113+02:00",
"isha": "2025-06-01T18:43:09.341111+02:00",
"midnight": "2025-06-02T00:06:02.228763+02:00"
}
キブラの方角を取得する
POST /qiblah
任意の場所からキブラの方角と距離を取得します。
{
"latitude": -26.1528113,
"longitude": 28.0049996,
"date": "2025-06-01T00:00:00Z"
}
レスポンス例:
{
"distance_km": 5452,
"distance_mi": 3388,
"direction": "NNE",
"angle_decimal": 14.647,
"angle_dms": "014° 38′ 49.84″"
}
太陽の情報を取得する
POST /sun
太陽の位置と時刻に関する詳細情報を取得します。
レスポンス例:
{
"sunrise": "2025-06-01T06:47:40",
"transit": "2025-06-01T12:05:33",
"sunset": "2025-06-01T17:23:36",
"apparent_altitude": -42.659,
"apparent_azimuth": 276.796,
"distance_au": 1.014106,
"apparent_declination": 22.166,
"apparent_right_ascension": "04h 39m 56.17s",
"greenwich_hour_angle": 99.904,
"local_hour_angle": 127.951
}
月の情報を取得する
POST /moon
月の位置と位相に関する詳細情報を取得します。
レスポンス例:
{
"moonrise": "2025-06-01T11:39:22",
"transit": "2025-06-01T16:25:15",
"moonset": "2025-06-01T22:54:19",
"illumination": 36.38,
"apparent_altitude": 25.803,
"azimuth": 305.203,
"distance_km": 388391,
"parallax": 0.941,
"topocentric_declination": 15.892,
"topocentric_right_ascension": "09h 52m 04.77s",
"greenwich_hour_angle": 21.198,
"local_hour_angle": 49.245
}
月の可視性を計算する
POST /moon/visibility
ヤロップの基準を使用して、新月の可視性を計算します。
{
"latitude": -26.1528113,
"longitude": 28.0049996,
"date": "2025-05-27T00:00:00Z",
"days": 3,
"criterion": 1
}
レスポンス例:
[
{
"criterion": "Yallop",
"date": "2025-05-27T15:28:52",
"value": -0.788,
"description": "F: Not visible; below the Danjon limit."
},
{
"criterion": "Yallop",
"date": "2025-05-28T15:56:44",
"value": 0.958,
"description": "A: Easily visible."
}
]
利用可能な計算方法
- ISNA:北米イスラム協会
- MWL:ムスリム世界連盟
- UMM_AL_QURA:マッカのウンム・アル=クラー大学
- EGYPTIAN:エジプト測量総局
- KARACHI:カラチのイスラム科学大学
- TEHRAN:テヘラン大学地球物理学研究所
- JAFARI:シーア派イスナー・アシャリー派、ゴムのレヴァ研究所
Claude Desktop との連携
Claude Desktop で礼拝時刻サービスを使用するには、以下の手順を実行します。
- 設定ファイルを作成します:
{
"mcpServers": {
"Salaah Times": {
"command": "/Users/yusuf/.local/bin/mcp-proxy",
"env": {
"SSE_URL": "http://localhost:8000/mcp"
}
}
}
}
-
このファイルを
claude_desktop_config.jsonとして、Claude Desktop の設定ディレクトリに保存します。 -
MCP サービスが実行中であることを確認します:
uv run run.py
- Claude Desktop を起動すると、次のように礼拝時刻について質問できます。
- 「今日のアスルの礼拝は何時ですか?」
- 「ヨハネスブルグで明日のファジュルは何時ですか?」
- 「ロンドンのすべての礼拝時刻を表示してください」
AI は MCP サービスを使用し、問い合わせに基づいて正確な礼拝時刻を計算します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。