Aljazeera 360 MCP Server

MCP server for Al Jazeera 360 — Connect AI assistants to Al Jazeera's streaming catalog. Search, browse, and retrieve Arabic video content with direct watch links.

Documentation

Al Jazeera 360 MCP Server

CI Python 3.10+ License: MIT MCP Protocol Smithery

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.


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

ToolWhat It Does
list_sectionsLists all 15 sections/channels available on the platform
get_trending_contentReturns featured and most-watched content from the homepage
browse_sectionBrowses all content within a specific section (e.g., Documentaries, Podcasts)
get_video_detailsReturns full metadata for a video: title, description, duration, quality (up to 4K), watch URL
get_series_detailsReturns series info with all available seasons
get_season_episodesLists all episodes within a specific season
search_videosFull-text search across all content (Arabic & English), with optional content type filter
get_latest_episodesReturns the most recently published episodes from any section

Sections

IDChannel
AJ360-OriginalsAl Jazeera 360 Originals
AJAAl Jazeera Arabic
AJDAl Jazeera Documentary
AtheerAtheer
AJ-PlusAJ+ Arabic
Talk ShowTalk Shows
Investigative ShowInvestigative Programs
PodcastPodcasts
DocumentariesDocumentaries
Field ShowField Reporting
Policy SeriesPolitical Series
Social SeriesSocial Series
Historical SeriesHistorical Series
Biographical SeriesBiographical Series
Culture and Arts SeriesCulture & Arts

Quick Start

Install

git clone https://github.com/ahmedaminsa/aljazeera360-mcp-server.git
cd aljazeera360-mcp-server
pip install -r requirements.txt

Configure Authentication

The server supports multiple authentication methods (in priority order):

  1. Refresh Token (Recommended) — Auto-refreshes every 10 minutes, valid for ~1 year:

    export AJ360_REFRESH_TOKEN="eyJ..."
    
  2. Auth Token — Direct token, expires in ~10 minutes:

    export AJ360_AUTH_TOKEN="eyJ..."
    
  3. Guest Mode — No configuration needed. The server auto-creates a guest session.

How to get your refresh token:

  1. Open https://www.aljazeera360.com in your browser
  2. Log in with your account
  3. Open DevTools → Console → Run: localStorage.getItem('dice:refreshToken')
  4. Copy the token value

Test

python test_server.py

All 8 tools are tested against the live API. Expected result: 8/8 tests passed.

Run

python server.py

Use 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 uses the standard MCP protocol over stdio. It works with any MCP-compatible client:


Configuration

VariableRequiredDefaultDescription
AJ360_REFRESH_TOKENNoLong-lived refresh token (~1 year). Best for production.
AJ360_AUTH_TOKENNoGuest modeShort-lived auth token (~10 min). Good for quick testing.
AJ360_API_KEYNoBuilt-inPlatform API key (public, from browser network requests).
MCP_TRANSPORTNostdioTransport mode: stdio (local) or sse (cloud).
MCP_PORTNo8080Port for SSE transport (cloud deployment).

The server works without any configuration in guest mode. For full content access, provide a refresh token.


Deploy

Deploy on Railway Deploy to Render

Docker

docker build -t aljazeera360-mcp .
docker run -p 8080:8080 -e MCP_TRANSPORT=sse -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=sse,AJ360_REFRESH_TOKEN=your-token"

Render / Railway / Fly.io

Connect this repo — auto-deploys from the included Dockerfile. Set environment variables in the dashboard.


How It Works

Your AI Assistant
       │
       │  MCP Protocol (stdio or SSE)
       ▼
┌──────────────────────────┐
│  This MCP Server         │
│  ┌────────────────────┐  │
│  │ Token Manager      │  │
│  │ (auto-refresh)     │  │
│  ├────────────────────┤  │
│  │ 8 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:

PromptDescription
recommend_documentaryFind and recommend documentaries about a specific topic
summarize_latestSummarize the latest episodes from a section
explore_seriesExplore 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"
    }
  ]
}

Tech Stack

ComponentTechnology
LanguagePython 3.11+
MCP SDKmcp (Anthropic official)
HTTPhttpx (async)
Retrytenacity (exponential backoff)
AuthFirebase JWT (auto-managed with refresh)
Video QualityUp to 4K (2160p)
Transportstdio (local) / SSE (cloud)

License

MIT


Contributing

PRs welcome. See CONTRIBUTING.md for guidelines.

Run tests before submitting:

python test_server.py