Al Jazeera 360 について
Al Jazeera 360は、AIアシスタントからプラットフォームのアラビア語動画・音声カタログを検索、閲覧するためのMCPサーバーです。ドキュメンタリー、番組、ポッドキャストの詳細と視聴リンクを返し、コンテンツ担当者向けにSEO・分析ツールも追加できます。
主な機能
- 01アラビア語と英語での検索
- 02セクションとトレンドの閲覧
- 03動画・シリーズ詳細の取得
- 04シーズンと最新エピソードの一覧
- 05任意のSEO・分析ツール
活用シーン
- 01テーマからドキュメンタリーを探す
- 02番組の最新エピソードを探す
- 03カタログのメタデータと傾向を確認
MCP 対応
MCPクライアントにカタログ検索、発見、メタデータ取得ツールを提供し、設定によりSEO・分析ツールも有効化できます。stdioとStreamable HTTPのトランスポートに対応します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://aljazeera360-mcp.ahmed-26d.workers.dev/mcpclaude mcp add --transport http ahmedaminsa-aljazeera360 https://aljazeera360-mcp.ahmed-26d.workers.dev/mcp{"mcpServers":{"ahmedaminsa-aljazeera360":{"type":"http","url":"https://aljazeera360-mcp.ahmed-26d.workers.dev/mcp"}}}Cursor で開く{"servers":{"ahmedaminsa-aljazeera360":{"type":"http","url":"https://aljazeera360-mcp.ahmed-26d.workers.dev/mcp"}}}VS Code で開く{"mcpServers":{"ahmedaminsa-aljazeera360":{"type":"http","url":"https://aljazeera360-mcp.ahmed-26d.workers.dev/mcp"}}}{"mcpServers":{"ahmedaminsa-aljazeera360":{"serverUrl":"https://aljazeera360-mcp.ahmed-26d.workers.dev/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
15このツールにパラメーターはありません。
詳細
Al Jazeera 360 MCP サーバー
あらゆる AI アシスタントを Al Jazeera 360 のストリーミングカタログに接続し、アラビア語の動画コンテンツを検索、閲覧し、視聴リンクを取得できます。
Claude、ChatGPT、Gemini、Cursor などの AI ツールが、Al Jazeera 360 のドキュメンタリー、調査番組、トークショー、ポッドキャスト、オリジナル作品を含む全コンテンツライブラリにリアルタイムでアクセスできるようにする、MCP(Model Context Protocol)サーバーです。
⚠️ 非公式のコミュニティプロジェクトです。 Al Jazeera Media Network とは提携しておらず、同社による承認や支援も受けていません。このサーバーは、プラットフォームで一般公開されている API を使用し、すべてのコンテンツについて
aljazeera360.comへのリンクを提供します。
⚡ クイック接続 — インストール不要
Cloudflare でホストされたインスタンスを利用できます。以下を MCP クライアントの設定に追加すれば完了です。
{
"mcpServers": {
"aljazeera360": {
"type": "http",
"url": "https://aljazeera360-mcp.ahmed-26d.workers.dev/mcp"
}
}
}
アイドル状態後の最初のリクエストには数秒かかります(コンテナのコールドスタート)。その後のリクエストは高速です。
次のようにアシスタントに尋ねてみましょう。「Al Jazeera 360 で話題のコンテンツは何ですか?」 — またはアラビア語で、「ايه أحدث حلقات الدحيح؟」
できること
AI アシスタントに次のような質問をできます。
- 「Al Jazeera 360 で話題のコンテンツは何ですか?」
- 「パレスチナに関するドキュメンタリーを探してください」
- 「Al Daheeh の最新エピソードを見せてください」
- 「ガザに関する動画を検索してください」
AI はこのサーバーに接続して Al Jazeera 360 から実際のデータを取得し、実際の動画タイトル、説明、再生時間、aljazeera360.com への直接視聴リンクを返します。
利用可能なツール
このサーバーには、2 種類のツールプロファイルが用意されています。
| プロファイル | ツール | 対象ユーザー | 利用方法 |
|---|---|---|---|
| コア(デフォルト) | 8 つの探索ツール | コンテンツについて AI アシスタントに尋ねる一般ユーザー | そのまま利用できます |
| フル | 24 個すべてのツール(SEO と分析を含む) | コンテンツチーム、SEO アナリスト | AJ360_ENABLE_SEO_TOOLS=1 を設定 |
デフォルトのツールセットを小さくすることで、AI によるツール選択を高速かつ正確に保てます。SEO/分析ツールが必要な場合にのみ、フルプロファイルを有効にしてください。
コア探索ツール(常時有効)
| ツール | 機能 |
|---|---|
list_sections | プラットフォームで利用可能な 15 のセクション/チャンネルを一覧表示します |
get_trending_content | ホームページのおすすめコンテンツと最も視聴されているコンテンツを返します |
browse_section | 指定したセクション(例:ドキュメンタリー、ポッドキャスト)の全コンテンツを閲覧します |
get_video_details | 動画のタイトル、説明、再生時間、画質(最大 4K)、視聴 URL などの完全なメタデータを返します |
get_series_details | シリーズ情報と、視聴可能なすべてのシーズンを返します |
get_season_episodes | 指定したシーズンの全エピソードを一覧表示します |
search_videos | コンテンツ種別の任意のフィルターを使って、全コンテンツをアラビア語と英語で全文検索します |
get_latest_episodes | すべてのセクションから、最近公開されたエピソードを返します |
SEO・メタデータツール(AJ360_ENABLE_SEO_TOOLS=1 が必要です)
| ツール | 機能 |
|---|---|
generate_seo_content | 動画向けに最適化されたアラビア語のタイトル、説明、キーワードを生成します |
generate_sitemap | Google Search Console 対応の動画 XML サイトマップを生成します(ページ分割対応) |
audit_metadata_quality | カタログの状態を監査します。説明、サムネイル、カテゴリの不足を確認します(ページ分割対応) |
get_trending_topics | カタログ全体で人気上昇中のキーワードとトピックを抽出します |
compare_sections | すべてのセクションのコンテンツの鮮度とアクティビティを比較します |
get_series_seo_map | すべてのエピソードを含む、シリーズの完全な SEO マップを生成します |
高度な AI・分析ツール(AJ360_ENABLE_SEO_TOOLS=1 が必要です)
| ツール | 機能 |
|---|---|
build_knowledge_graph | カタログのメタデータからエンティティのナレッジグラフを構築します |
generate_faq_schema | 動画向けの FAQ Schema JSON-LD を生成します |
get_ai_discoverability_score | AI アシスタントによるコンテンツの見つけやすさをスコア化します |
build_topic_clusters | コンテンツを、ピラーページとサポートページを含む SEO トピッククラスターに分類します |
find_evergreen_content | 長期にわたって関連性を保つコンテンツを特定します |
get_host_profile | 番組ホストの Person Schema とプロフィールを生成します |
get_genre_report | ジャンルの分布と SEO の機会をレポートします |
get_searchable_tags_map | カタログ全体で最も検索されているキーワードをマッピングします(ページ分割対応) |
get_country_content_map | 地域をターゲットにした SEO 向けに、国別のコンテンツをマッピングします(ページ分割対応) |
generate_series_schema | シリーズ向けの TVSeries + TVEpisode JSON-LD Schema を生成します |
セクション
| ID | チャンネル |
|---|---|
AJ360-Originals | Al Jazeera 360 オリジナル |
AJA | Al Jazeera アラビア語 |
AJD | Al Jazeera ドキュメンタリー |
Atheer | Atheer |
AJ-Plus | AJ+ アラビア語 |
Talk Show | トーク番組 |
Investigative Show | 調査報道番組 |
Podcast | ポッドキャスト |
Documentaries | ドキュメンタリー |
Field Show | 現地取材 |
Policy Series | 政治シリーズ |
Social Series | 社会シリーズ |
Historical Series | 歴史シリーズ |
Biographical Series | 伝記シリーズ |
Culture and Arts Series | 文化・芸術 |
クイックスタート
インストール
git clone https://github.com/ahmedaminsa/aljazeera360-mcp-server.git
cd aljazeera360-mcp-server
pip install -r requirements.txt
認証の設定
サーバーは複数の認証方法に対応しています(優先順位順):
-
リフレッシュトークン(推奨) — 10 分ごとに自動更新され、有効期間は約 1 年です:
export AJ360_REFRESH_TOKEN="eyJ..." -
認証トークン — 直接指定するトークンで、有効期間は約 10 分です:
export AJ360_AUTH_TOKEN="eyJ..." -
ゲストモード — 設定は不要です。サーバーがゲストセッションを自動作成します。
リフレッシュトークンの取得方法:
- ブラウザーで https://www.aljazeera360.com を開きます
- アカウントでログインします
- DevTools → Console を開き、
localStorage.getItem('dice:refreshToken')を実行します - トークンの値をコピーします
テスト
python test_server.py
コアツールは、稼働中の API に対してテストされます。
実行
python server.py
Claude Desktop での使用
設定ファイルに追加します:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"aljazeera360": {
"command": "python",
"args": ["/full/path/to/aljazeera360-mcp-server/server.py"],
"env": {
"AJ360_REFRESH_TOKEN": "your-refresh-token-here"
}
}
}
}
Claude Desktop を再起動します。Al Jazeera 360 のツールが自動的に表示されます。
任意の MCP クライアントでの使用
このサーバーは、標準の MCP プロトコルを stdio(ローカル)と Streamable HTTP(ホスト型)で通信します。MCP 対応のクライアントであれば、どれでも使用できます。
- Claude Desktop
- Cursor
- Continue
- Windsurf
- MCP Inspector(テスト用)
- 任意のカスタム MCP クライアント
設定
| 変数 | 必須 | デフォルト | 説明 |
|---|---|---|---|
AJ360_REFRESH_TOKEN | いいえ | — | 有効期間の長いリフレッシュトークン(約1年)。本番環境に最適です。 |
AJ360_AUTH_TOKEN | いいえ | ゲストモード | 有効期間の短い認証トークン(約10分)。手早いテストに適しています。 |
AJ360_API_KEY | はい | — | プラットフォーム API キー(公開されており、ブラウザーのネットワークリクエストから取得できます)。デフォルトでは含まれていないため、ご自身で指定する必要があります。 |
MCP_TRANSPORT | いいえ | streamable-http | トランスポートモード:stdio(ローカル)、streamable-http(クラウド、推奨)、または sse(従来のクラウド)。 |
MCP_PORT | いいえ | 8080 | HTTP トランスポートのポート(クラウドデプロイ用)。 |
AJ360_ALLOWED_HOST | クラウドのみ | — | デプロイ先の公開ホスト名(スキームなし)。カスタムドメインでセルフホストする場合に必要です。DNS リバインディング保護により、認識されないホストは 421 で拒否されます。 |
AJ360_ENABLE_SEO_TOOLS | いいえ | オフ | 1 に設定すると、16 個の SEO/分析ツールを登録します(フルプロファイル)。 |
AJ360_ENABLE_DASHBOARD | いいえ | true | 分析ダッシュボードを有効/無効にします。 |
AJ360_DASHBOARD_PORT | いいえ | 9090 | 分析ダッシュボードのポート。 |
AJ360_DASHBOARD_TOKEN | いいえ | — | 分析データエンドポイント(/api/stats、/api/recent)用の共有シークレット。設定すると、呼び出し元は Authorization: Bearer <token> または ?token=<token> を送信する必要があります。公開環境やクラウド環境にデプロイする場合は、設定を強く推奨します。 |
AJ360_ANALYTICS_DB | いいえ | analytics.db | SQLite 分析データベースのパス。 |
サーバーの実行に必要なのは AJ360_API_KEY だけです。認証は自動的にゲストセッションにフォールバックします。コンテンツに完全にアクセスするには、リフレッシュトークンも指定してください。
デプロイ
本番インスタンスは Cloudflare Containers で実行されています。詳しい手順は
deploy/cloudflare/README.md を参照してください(Dockerfile を
小規模な Worker の背後にある Cloudflare Container として実行します。デプロイには Workers Paid プランとローカルの
Docker が必要です)。任意のコンテナプラットフォームを利用できます。その他の選択肢は以下のとおりです。
Docker
docker build -t aljazeera360-mcp .
docker run -p 8080:8080 -e MCP_TRANSPORT=streamable-http -e AJ360_REFRESH_TOKEN=your-token aljazeera360-mcp
Google Cloud Run
gcloud builds submit --tag gcr.io/YOUR_PROJECT/aljazeera360-mcp
gcloud run deploy aljazeera360-mcp \
--image gcr.io/YOUR_PROJECT/aljazeera360-mcp \
--platform managed \
--allow-unauthenticated \
--set-env-vars="MCP_TRANSPORT=streamable-http,AJ360_REFRESH_TOKEN=your-token"
Render / Railway / Fly.io
このリポジトリに接続すると、付属の Dockerfile から自動的にデプロイされます。ダッシュボードで環境変数を設定してください(DNS リバインディング保護でホストが許可されるよう、AJ360_ALLOWED_HOST=<your-domain> も設定してください)。
仕組み
Your AI Assistant
│
│ MCP Protocol (stdio / Streamable HTTP)
▼
┌──────────────────────────┐
│ This MCP Server │
│ ┌────────────────────┐ │
│ │ Token Manager │ │
│ │ (auto-refresh) │ │
│ ├────────────────────┤ │
│ │ 24 Tools + Prompts │ │
│ │ + Retry + Cache │ │
│ └────────────────────┘ │
└──────────┬───────────────┘
│
│ HTTPS (authenticated)
▼
┌──────────────────────────┐
│ Al Jazeera 360 API │
│ (Vesper/Dice Platform) │
└──────────┬───────────────┘
│
▼
┌──────────────────────────┐
│ aljazeera360.com │
│ (Direct watch links) │
└──────────────────────────┘
組み込みプロンプト
このサーバーには、一般的な AI の用途向けに、あらかじめ用意されたプロンプトが含まれています。
| プロンプト | 説明 |
|---|---|
recommend_documentary | 特定のトピックに関するドキュメンタリーを探して、おすすめします |
summarize_latest | セクションの最新エピソードを要約します |
explore_series | シリーズを探索し、すべてのシーズンとエピソードを探します |
出力例
search_videos("غزة") を呼び出すと、次のように返されます。
{
"query": "غزة",
"total_results": 20,
"results": [
{
"title": "المسعفون أهداف إسرائيل المتنقلة!",
"type": "VOD",
"duration": "24:53",
"id": "965741",
"watch_url": "https://www.aljazeera360.com/video/965741"
},
{
"title": "قيادة السنوار لجهاز حماس الأمني",
"type": "VOD",
"duration": "54:57",
"id": "953659",
"watch_url": "https://www.aljazeera360.com/video/953659"
}
]
}
分析ダッシュボード
このサーバーには、AI ツールによるすべてのリクエストを記録する組み込み分析ダッシュボードが含まれています。
記録する内容
- リクエストを行った AI ツール(Claude、ChatGPT、Cursor など)
- 呼び出された MCP ツール(
search_videos、get_trending_contentなど) - 各リクエストの発生時刻(タイムスタンプ)
- 各リクエストにかかった時間(応答時間、ミリ秒)
- 成功したか失敗したか
- 検索頻度の高い語句(ユーザーが尋ねている内容)
- 日別/時間別のアクティビティパターン
ダッシュボードへのアクセス
サーバーの実行時に、ダッシュボードはポート 9090 で自動的に起動します。
http://localhost:9090
クラウドにデプロイする場合は、MCP ポート(8080)と合わせてポート 9090 も公開してください。
API エンドポイント
| エンドポイント | 戻り値 |
|---|---|
GET / | インタラクティブな HTML ダッシュボード(10 秒ごとに自動更新) |
GET /api/stats | JSON サマリー:リクエスト総数、ツールの使用状況、人気の検索、日ごとの内訳 |
GET /api/recent | 最新 50 件のリクエストの詳細を含む JSON リスト |
GET /api/health | バージョン、トランスポート、/privacy および /docs へのリンクを含むヘルスチェック |
GET /privacy | プライバシーポリシーのページ |
GET /docs | サーバーのドキュメントページ |
設定
| 変数 | デフォルト | 説明 |
|---|---|---|
AJ360_ENABLE_DASHBOARD | true | ダッシュボードを無効にするには false に設定します |
AJ360_DASHBOARD_PORT | 9090 | 分析用 HTTP サーバーのポート |
AJ360_DASHBOARD_TOKEN | — | /api/stats および /api/recent の読み取りに必要な共有シークレットです。公開環境にデプロイする場合は設定してください。 |
AJ360_ANALYTICS_DB | analytics.db | SQLite データベースファイルのパス |
統計出力の例
{
"total_requests": 1247,
"success_rate": "99.2%",
"tools_usage": [
{"tool": "search_videos", "calls": 523, "avg_response_ms": 340},
{"tool": "get_trending_content", "calls": 312, "avg_response_ms": 180}
],
"clients": [
{"client": "claude-desktop", "requests": 890},
{"client": "cursor", "requests": 357}
],
"top_searches": [
{"term": "\u063a\u0632\u0629", "count": 89},
{"term": "\u0641\u0644\u0633\u0637\u064a\u0646", "count": 67}
]
}
技術スタック
| コンポーネント | 技術 |
|---|---|
| 言語 | Python 3.10+ |
| MCP SDK | mcp(Anthropic 公式) |
| HTTP | httpx(非同期) |
| リトライ | tenacity(指数バックオフ) |
| 認証 | Firebase JWT(更新を自動管理) |
| 分析 | SQLite + 組み込み HTTP ダッシュボード |
| 動画品質 | 最大 4K(2160p) |
| トランスポート | stdio(ローカル)/Streamable HTTP(クラウド、推奨)/SSE(レガシー) |
ライセンス
MIT
SEO 運用と Vesper ナレッジベース(AI 支援)
このリポジトリは、プラットフォームの AI 支援型 SEO 運用ワークスペースとしても機能します。 Claude Code で開くと、次の機能を利用できます。
| 項目 | 内容 |
|---|---|
.claude/agents/onvesper-expert.md | aljazeera360.com を支える Vesper/Deltatre プラットフォームのエキスパートエージェントです。Back Office、DVE、ライセンス、広告などについて何でも質問できます。 |
onvesper-kb/ | Vesper 公式ドキュメントのオフラインミラー全体(317 ページ。bash onvesper-kb/refresh.sh でいつでも再構築できます) |
/seo-report スキル | 必要に応じて詳細な SEO 分析を実行します。SEO ツールを実行し、傾向を読み取り、調査結果を具体的な Back Office の修正手順にまとめます。 |
scripts/seo_snapshot.py | このスキルを支える指標収集ツール(検出可能性スコア、メタデータ監査、タグマップ)です。レポートは必要に応じてローカルで生成され、コミットされることはありません。 |
export AJ360_API_KEY=…
python scripts/seo_snapshot.py # → reports/seo/<date>.md (local only)
貢献
プルリクエストを歓迎します。ガイドラインについては、CONTRIBUTING.md をご覧ください。
提出前にテストを実行してください。
python test_server.py
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。