Al Jazeera 360 MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Al Jazeera 360 MCP ServerWhat's trending on Al Jazeera 360?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Al Jazeera 360 MCP Server
Connect any AI assistant to Al Jazeera 360's streaming catalog — search, browse, and retrieve Arabic video content with direct watch links.
An MCP (Model Context Protocol) server that gives AI tools like Claude, ChatGPT, Gemini, and Cursor real-time access to Al Jazeera 360's full content library: documentaries, investigative programs, talk shows, podcasts, and original productions.
⚠️ Unofficial community project. Not affiliated with, endorsed by, or sponsored by Al Jazeera Media Network. It uses the platform's publicly accessible API and links back to
aljazeera360.comfor all content.
⚡ Quick Connect — No Install Needed
A hosted instance is live on Cloudflare. Add this to your MCP client config and you're done:
{
"mcpServers": {
"aljazeera360": {
"type": "http",
"url": "https://aljazeera360-mcp.ahmed-26d.workers.dev/mcp"
}
}
}First request after idle takes a few seconds (container cold start) — subsequent requests are fast.
Then ask your assistant: "What's trending on Al Jazeera 360?" — or in Arabic: "ايه أحدث حلقات الدحيح؟"
Related MCP server: YouTube Search MCP Server
What It Does
Ask your AI assistant questions like:
"What's trending on Al Jazeera 360?"
"Find documentaries about Palestine"
"Show me the latest episodes of Al Daheeh"
"Search for videos about Gaza"
The AI connects to this server, fetches real data from Al Jazeera 360, and returns actual video titles, descriptions, durations, and direct watch links to aljazeera360.com.
Tools Available
The server ships with two tool profiles:
Profile | Tools | For whom | How |
Core (default) | 8 discovery tools | End users asking AI assistants about content | Works out of the box |
Full | All 24 tools (+ SEO & analytics) | Content teams, SEO analysts | Set |
A small default toolset keeps AI tool selection fast and accurate. Enable the full profile only if you need the SEO/analytics tools.
Core Discovery Tools (always on)
Tool | What It Does |
| Lists all 15 sections/channels available on the platform |
| Returns featured and most-watched content from the homepage |
| Browses all content within a specific section (e.g., Documentaries, Podcasts) |
| Returns full metadata for a video: title, description, duration, quality (up to 4K), watch URL |
| Returns series info with all available seasons |
| Lists all episodes within a specific season |
| Full-text search across all content (Arabic & English), with optional content type filter |
| Returns the most recently published episodes from any section |
SEO & Metadata Tools (requires AJ360_ENABLE_SEO_TOOLS=1)
Tool | What It Does |
| Generates optimized Arabic titles, descriptions, and keywords for a video |
| Generates a Google Search Console-ready Video XML Sitemap (paginated) |
| Audits catalog health — missing descriptions, thumbnails, and categories (paginated) |
| Extracts the top trending keywords and topics across the catalog |
| Compares content freshness and activity across all sections |
| Generates a complete SEO map for a series with all episodes |
Advanced AI & Analytics Tools (requires AJ360_ENABLE_SEO_TOOLS=1)
Tool | What It Does |
| Builds an entity knowledge graph from catalog metadata |
| Generates FAQ Schema JSON-LD for a video |
| Scores how discoverable content is by AI assistants |
| Groups content into SEO topic clusters with pillar and supporting pages |
| Identifies content that stays relevant over time |
| Generates a Person Schema and profile for a show host |
| Reports on genre distribution and SEO opportunities |
| Maps the most searched keywords across the catalog (paginated) |
| Maps content by country for geo-targeted SEO (paginated) |
| Generates TVSeries + TVEpisode JSON-LD Schema for a series |
Sections
ID | Channel |
| Al Jazeera 360 Originals |
| Al Jazeera Arabic |
| Al Jazeera Documentary |
| Atheer |
| AJ+ Arabic |
| Talk Shows |
| Investigative Programs |
| Podcasts |
| Documentaries |
| Field Reporting |
| Political Series |
| Social Series |
| Historical Series |
| Biographical Series |
| Culture & Arts |
Quick Start
Install
git clone https://github.com/ahmedaminsa/aljazeera360-mcp-server.git
cd aljazeera360-mcp-server
pip install -r requirements.txtConfigure Authentication
The server supports multiple authentication methods (in priority order):
Refresh Token (Recommended) — Auto-refreshes every 10 minutes, valid for ~1 year:
export AJ360_REFRESH_TOKEN="eyJ..."Auth Token — Direct token, expires in ~10 minutes:
export AJ360_AUTH_TOKEN="eyJ..."Guest Mode — No configuration needed. The server auto-creates a guest session.
How to get your refresh token:
Open https://www.aljazeera360.com in your browser
Log in with your account
Open DevTools → Console → Run:
localStorage.getItem('dice:refreshToken')Copy the token value
Test
python test_server.pyCore tools are tested against the live API.
Run
python server.pyUse with Claude Desktop
Add to your config file:
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"
}
}
}
}Restart Claude Desktop. The Al Jazeera 360 tools will appear automatically.
Use with Any MCP Client
This server speaks the standard MCP protocol over stdio (local) and Streamable HTTP (hosted). It works with any MCP-compatible client:
MCP Inspector (for testing)
Any custom MCP client
Configuration
Variable | Required | Default | Description |
| No | — | Long-lived refresh token (~1 year). Best for production. |
| No | Guest mode | Short-lived auth token (~10 min). Good for quick testing. |
| Yes | — | Platform API key (public, from browser network requests). No default is bundled — you must provide it. |
| No |
| Transport mode: |
| No |
| Port for the HTTP transport (cloud deployment). |
| Cloud only | — | Public hostname of your deployment (no scheme). Required when self-hosting on a custom domain — the DNS-rebinding protection rejects unknown hosts with 421. |
| No | off | Set to |
| No |
| Enable/disable the analytics dashboard. |
| No |
| Port for the analytics dashboard. |
| No | — | Shared secret for the analytics data endpoints ( |
| No |
| Path to SQLite analytics database. |
The server needs only AJ360_API_KEY to run — authentication falls back to an automatic guest session. For full content access, also provide a refresh token.
Deploy
The production instance runs on Cloudflare Containers — full walkthrough in
deploy/cloudflare/README.md (wraps the Dockerfile in a
Cloudflare Container behind a tiny Worker; requires the Workers Paid plan and local
Docker for deploys). Any container platform works — alternatives below.
Docker
docker build -t aljazeera360-mcp .
docker run -p 8080:8080 -e MCP_TRANSPORT=streamable-http -e AJ360_REFRESH_TOKEN=your-token aljazeera360-mcpGoogle 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
Connect this repo — auto-deploys from the included Dockerfile. Set environment variables in the dashboard (including AJ360_ALLOWED_HOST=<your-domain> so the DNS-rebinding protection accepts your host).
How It Works
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) │
└──────────────────────────┘Built-in Prompts
The server includes pre-built prompts for common AI scenarios:
Prompt | Description |
| Find and recommend documentaries about a specific topic |
| Summarize the latest episodes from a section |
| Explore a series — find all seasons and episodes |
Example Output
Calling search_videos("غزة") returns:
{
"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"
}
]
}Analytics Dashboard
The server includes a built-in analytics dashboard that tracks every request made by AI tools.
What It Tracks
Which AI tool made the request (Claude, ChatGPT, Cursor, etc.)
Which MCP tool was called (
search_videos,get_trending_content, etc.)When each request happened (timestamp)
How long each request took (response time in ms)
Whether it succeeded or failed
Top search terms (what users are asking about)
Daily/hourly activity patterns
Access the Dashboard
The dashboard starts automatically on port 9090 when you run the server:
http://localhost:9090For cloud deployments, expose port 9090 alongside the MCP port (8080).
API Endpoints
Endpoint | Returns |
| Interactive HTML dashboard (auto-refreshes every 10s) |
| JSON summary: total requests, tools usage, top searches, daily breakdown |
| JSON list of the 50 most recent requests with full details |
| Health check with version, transport, and links to |
| Privacy Policy page |
| Server documentation page |
Configuration
Variable | Default | Description |
|
| Set to |
|
| Port for the analytics HTTP server |
| — | Shared secret required to read |
|
| SQLite database file path |
Example Stats Output
{
"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}
]
}Tech Stack
Component | Technology |
Language | Python 3.10+ |
MCP SDK |
|
HTTP |
|
Retry |
|
Auth | Firebase JWT (auto-managed with refresh) |
Analytics | SQLite + built-in HTTP dashboard |
Video Quality | Up to 4K (2160p) |
Transport | stdio (local) / Streamable HTTP (cloud, recommended) / SSE (legacy) |
License
MIT
SEO Ops & Vesper Knowledge Base (AI-assisted)
This repo doubles as an AI-assisted SEO operations workspace for the platform. Open it in Claude Code and you get:
Piece | What it does |
| Expert agent on the Vesper/Deltatre platform that powers aljazeera360.com — ask it anything about Back Office, DVE, licences, advertising, etc. |
| Full offline mirror of the official Vesper docs (317 pages, rebuild anytime with |
| On-demand deep SEO analysis: runs the SEO tools, reads trends, and turns findings into exact Back Office fix steps |
| Metrics collector behind the skill (discoverability scores, metadata audits, tag maps). Reports are generated locally on demand — never committed. |
export AJ360_API_KEY=…
python scripts/seo_snapshot.py # → reports/seo/<date>.md (local only)Contributing
PRs welcome. See CONTRIBUTING.md for guidelines.
Run tests before submitting:
python test_server.pyThis server cannot be deployed
Maintenance
Related MCP Connectors
YouTube transcripts, search, channel/playlist listings and upload tracking for AI agents.
Video knowledge base for agents: search your library's transcripts, keyframes and on-screen text.
- VivuOAuthio.github.vivuai
Search your video library with natural language and retrieve relevant moments through MCP.
15 media & data tools for AI agents: search, transcribe, subtitles, voiceover, translate & more.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceEnables AI assistants to search YouTube for videos, channels, and playlists while retrieving detailed analytics and metrics through the YouTube Data API v3. Supports advanced filtering options and provides comprehensive statistics for content discovery and analysis.1MIT
- FlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to search YouTube videos with rich metadata including titles, channels, view counts, and duration. Supports multi-language search and is designed for remote deployment on the Dedalus platform.-
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to search videos, channels, and playlists, retrieve video metadata, transcripts, and comments via the YouTube Data API v3.71MIT
- FlicenseNot gradedqualityDmaintenanceEnables natural language search through personal video collections, returning AI-generated descriptions and direct URLs to relevant 30-second video clips.-