The SEO and analytics half stays unregistered until AJ360_ENABLE_SEO_TOOLS is set, so an assistant answering a viewer's question chooses from a short list instead of a long one — which is often the difference between the right tool being picked and a plausible neighbour being picked. Turn the full profile on when the job is catalogue work: sitemaps, metadata audits, topic clusters and schema generation all live there. On credentials, a guest session is enough to browse and the refresh token is what opens full content access; and if you deploy this yourself on a custom domain, set the allowed host or the rebinding guard will answer 421 to your own traffic.
An unaffiliated MCP server over Al Jazeera 360's publicly accessible API, returning real titles, descriptions, durations and direct watch links back to aljazeera360.com. Eight discovery tools are on by default; a second profile of SEO and analytics tools registers only when you switch it on.
- list_sections returns all 15 channels — AJ360-Originals, Al Jazeera Arabic, Al Jazeera Documentary, AJ+ Arabic, Podcasts, Investigative Programs and the rest
- get_trending_content returns featured and most-watched items from the homepage, browse_section walks one channel, and get_latest_episodes returns the newest episodes from any section
- search_videos is full-text across Arabic and English, with an optional content-type filter
- get_video_details returns title, description, duration, quality up to 4K and the watch URL; get_series_details lists a series with its seasons and get_season_episodes the episodes inside one
- With AJ360_ENABLE_SEO_TOOLS=1 the full profile appears: generate_seo_content for Arabic titles, descriptions and keywords, generate_sitemap for a paginated video XML sitemap, audit_metadata_quality for missing descriptions, thumbnails and categories, plus get_trending_topics, compare_sections and get_series_seo_map
- The same switch adds the analytics side: build_knowledge_graph, generate_faq_schema, generate_series_schema for TVSeries and TVEpisode JSON-LD, get_ai_discoverability_score, build_topic_clusters, find_evergreen_content, get_host_profile, get_genre_report, get_searchable_tags_map and get_country_content_map
A hosted instance answers at https://aljazeera360-mcp.ahmed-26d.workers.dev/mcp with nothing to install — the first request after idle takes a few seconds while the container starts. Locally it wants Python 3.10+ and runs server.py, with MCP_TRANSPORT switching between stdio and streamable-http. AJ360_API_KEY is required and is the platform's public key taken from browser network requests; no default is bundled. Authentication otherwise falls back to an automatic guest session, or supply AJ360_AUTH_TOKEN, which lasts about 10 minutes, or AJ360_REFRESH_TOKEN, which lasts about a year and refreshes every 10 minutes — read it from a logged-in browser with localStorage.getItem('dice:refreshToken'). Self-hosting on a custom domain needs AJ360_ALLOWED_HOST, since the DNS-rebinding guard answers 421 to unknown hosts, and AJ360_DASHBOARD_TOKEN belongs on anything public. Not affiliated with or endorsed by Al Jazeera Media Network. MIT.
One command plus a key — npx -y mcp-remote https://aljazeera360-mcp-server-production.up.railway.app/mcp, then supply credentials
