Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
제작자가 쓴 설명(영어 원문)
Browse, search & watch Al Jazeera 360's Arabic shows, documentaries and podcasts inside the chat.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
웹, 데스크톱, 모바일의 Claude에서 쓸 수 있어요:
https://aljazeera360-mcp.ahmed-26d.workers.dev/mcp터미널에서 이 명령어를 실행하세요
claude mcp add --transport http aljazeera360 https://aljazeera360-mcp.ahmed-26d.workers.dev/mcp프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"aljazeera360": {
"url": "https://aljazeera360-mcp.ahmed-26d.workers.dev/mcp"
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"aljazeera360": {
"type": "http",
"url": "https://aljazeera360-mcp.ahmed-26d.workers.dev/mcp"
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요:
https://aljazeera360-mcp.ahmed-26d.workers.dev/mcp메뉴 이름은 요금제나 시기에 따라 조금 다를 수 있어요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
도구 이름과 설명은 서버가 2026년 11월 8일에 알려 준 그대로예요. 우리가 아니라 제작자가 쓴 글이고, 일반 텍스트로만 보여 드려요.
get_trending_contentGet the trending and most-watched content on Al Jazeera 360 platform. Returns featured shows, most-watched videos, latest episodes, and editorial picks. الحصول على المحتوى الرائج والأكثر مشاهدة على منصة الجزيرة 360. يشمل: البرامج المميزة، الأكثر مشاهدة، أحدث الحلقات، واقتراحات ال
browse_sectionBrowse content in a specific section/channel on Al Jazeera 360. تصفح محتوى قسم أو قناة محددة على منصة الجزيرة 360. Available sections (الأقسام المتاحة): - AJ360-Originals: أعمال الجزيرة 360 الأصلية - AJA: قناة الجزيرة العربية - AJD: الجزيرة الوثائقية - Atheer: أثير - AJ-Plus: AJ+
get_video_detailsGet detailed information about a specific video on Al Jazeera 360. Returns title, description, duration, quality, categories, episode info, and watch URL. الحصول على معلومات تفصيلية عن فيديو محدد على منصة الجزيرة 360. يشمل: العنوان، الوصف، المدة، الجودة، التصنيفات، ورابط المشاهدة
play_videoPlay a video from Al Jazeera 360. In AI apps that support interactive views (MCP Apps), this opens the official Al Jazeera 360 player inside the chat; elsewhere it returns the watch link. Use when the user asks to watch or play something. تشغيل فيديو من الجزيرة 360. في التطبيقات
run_diagnosticsCheck whether this AI app can play Al Jazeera 360 videos inside the chat (protected video / DRM, embedding the official player, fullscreen). Use when the user says a video does not play in the chat. Call it with no arguments; the interactive view runs the checks and shows the res
get_series_detailsGet detailed information about a series on Al Jazeera 360, including all seasons. الحصول على معلومات تفصيلية عن مسلسل/برنامج على منصة الجزيرة 360 مع قائمة المواسم. Args: series_id: The numeric ID of the series (e.g., 2355 for الدحيح)
get_season_episodesGet all episodes in a specific season. Use get_series_details first to find season IDs. الحصول على جميع حلقات موسم محدد. استخدم get_series_details أولاً للحصول على أرقام المواسم. Args: season_id: The season ID (obtained from get_series_details) max_episodes: Maximum number of epi
search_videosSearch for videos, documentaries, and programs on Al Jazeera 360. Supports Arabic and English search queries. Optionally filter by content type. البحث عن فيديوهات ووثائقيات وبرامج على منصة الجزيرة 360. يدعم البحث بالعربية والإنجليزية. يمكن تصفية النتائج حسب نوع المحتوى. Examples:
list_sectionsList all available sections and channels on Al Jazeera 360. Returns section IDs with their Arabic names for use with browse_section. عرض جميع الأقسام والقنوات المتاحة على منصة الجزيرة 360. يرجع معرفات الأقسام مع أسمائها العربية لاستخدامها مع browse_section.
get_latest_episodesGet the latest episodes from a specific section on Al Jazeera 360. الحصول على أحدث الحلقات من قسم محدد على منصة الجزيرة 360. Args: section_id: Section to get latest from (default: "AJA" for Al Jazeera Arabic) count: Number of episodes to return (default: 10)
show_on_screenOpen the interactive Al Jazeera 360 view (the site's look: rows, programme pages, episode page, player) in the conversation. Use it ONLY when the user explicitly asks to see or display something on screen or to play an episode here (e.g. «اعرضلي»، «وريني»، «شغّلها هنا», "show me"
watch_videoLook at an Al Jazeera 360 episode: returns timestamped frames (one every ~15 s is available) as images, so you can see scenes, people and read on-screen text such as guest names and titles, news tickers and quotes. Use it to describe an episode, find who appears or when something
search_video_indexSearch inside analysed episodes: who appeared, when a topic came up, what was said or shown on screen. Returns episodes with the timestamps of each match; for speech the exact second the phrase is spoken (exact_sec, from word timings). Covers episodes saved with save_video_analys
get_video_analysisRead the saved analysis of an episode (summary, chapters, guests, topics, ad breaks, name fixes, on-screen text) or list all analysed episodes when no video_id is given. The transcript lines are left out unless include_transcript is true: use get_transcript for the text, or the d
get_transcriptGet the full text of an episode: the platform's own subtitle file (WebVTT/SRT) when the episode has one, otherwise a transcript already saved in the video index. Returns the text with timestamps, plain text, or a ready SRT/VTT file. If neither exists, says so and lists the subtit
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 9일 점검
레지스트리 이름이 GitHub 계정 ahmedaminsa 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
572ms 만에 응답(HTTP 200)
로그인 필요 없음
도구 설명 15개를 읽었고, AI에게 보내는 숨겨진 지시는 없었어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 3개 중 3개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(2.5.0)은 40일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.
같은 카테고리에는: Vexa, emailmd, MCP WhatsApp Cloud
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.
MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
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.
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: *"ايه أحدث حلقات الدحيح؟"*
Ask your AI assistant questions like:
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.
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 AJ360_ENABLE_SEO_TOOLS=1 |
A small default toolset keeps AI tool selection fast and accurate. Enable the full profile only if you need the SEO/analytics tools.
| Tool | What It Does |
|---|---|
list_sections | Lists all 15 sections/channels available on the platform |
get_trending_content | Returns featured and most-watched content from the homepage |
browse_section | Browses all content within a specific section (e.g., Documentaries, Podcasts) |
get_video_details | Returns full metadata for a video: title, description, duration, quality (up to 4K), watch URL |
get_series_details | Returns series info with all available seasons |
get_season_episodes | Lists all episodes within a specific season |
search_videos | Full-text search across all content (Arabic & English), with optional content type filter |
get_latest_episodes | Returns the most recently published episodes from any section |
AJ360_ENABLE_SEO_TOOLS=1)| Tool | What It Does |
|---|---|
generate_seo_content | Generates optimized Arabic titles, descriptions, and keywords for a video |
generate_sitemap | Generates a Google Search Console-ready Video XML Sitemap (paginated) |
audit_metadata_quality | Audits catalog health — missing descriptions, thumbnails, and categories (paginated) |
get_trending_topics | Extracts the top trending keywords and topics across the catalog |
compare_sections | Compares content freshness and activity across all sections |
get_series_seo_map | Generates a complete SEO map for a series with all episodes |
AJ360_ENABLE_SEO_TOOLS=1)| Tool | What It Does |
|---|---|
build_knowledge_graph | Builds an entity knowledge graph from catalog metadata |
generate_faq_schema | Generates FAQ Schema JSON-LD for a video |
get_ai_discoverability_score | Scores how discoverable content is by AI assistants |
build_topic_clusters | Groups content into SEO topic clusters with pillar and supporting pages |
find_evergreen_content | Identifies content that stays relevant over time |
get_host_profile | Generates a Person Schema and profile for a show host |
get_genre_report | Reports on genre distribution and SEO opportunities |
get_searchable_tags_map | Maps the most searched keywords across the catalog (paginated) |
get_country_content_map | Maps content by country for geo-targeted SEO (paginated) |
generate_series_schema | Generates TVSeries + TVEpisode JSON-LD Schema for a series |
| ID | Channel |
|---|---|
AJ360-Originals | Al Jazeera 360 Originals |
AJA | Al Jazeera Arabic |
AJD | Al Jazeera Documentary |
Atheer | Atheer |
AJ-Plus | AJ+ Arabic |
Talk Show | Talk Shows |
Investigative Show | Investigative Programs |
Podcast | Podcasts |
Documentaries | Documentaries |
Field Show | Field Reporting |
Policy Series | Political Series |
Social Series | Social Series |
Historical Series | Historical Series |
Biographical Series | Biographical Series |
Culture and Arts Series | Culture & Arts |
git clone https://github.com/ahmedaminsa/aljazeera360-mcp-server.git
cd aljazeera360-mcp-server pip install -r requirements.txt
The server supports multiple authentication methods (in priority order):
export AJ360_REFRESH_TOKEN="eyJ..."
export AJ360_AUTH_TOKEN="eyJ..."
How to get your refresh token:
localStorage.getItem('dice:refreshToken')python test_server.py
Core tools are tested against the live API.
python server.py
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.
This server speaks the standard MCP protocol over stdio (local) and Streamable HTTP (hosted). It works with any MCP-compatible client:
| Variable | Required | Default | Description |
|---|---|---|---|
AJ360_REFRESH_TOKEN | No | — | Long-lived refresh token (~1 year). Best for production. |
AJ360_AUTH_TOKEN | No | Guest mode | Short-lived auth token (~10 min). Good for quick testing. |
AJ360_API_KEY | Yes | — | Platform API key (public, from browser network requests). No default is bundled — you must provide it. |
MCP_TRANSPORT | No | streamable-http | Transport mode: stdio (local), streamable-http (cloud, recommended), or sse (legacy cloud). |
MCP_PORT | No | 8080 | Port for the HTTP transport (cloud deployment). |
AJ360_ALLOWED_HOST | 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. |
AJ360_ENABLE_SEO_TOOLS | No | off | Set to 1 to register the 16 SEO/analytics tools (full profile). |
AJ360_ENABLE_DASHBOARD | No | true | Enable/disable the analytics dashboard. |
AJ360_DASHBOARD_PORT | No | 9090 | Port for the analytics dashboard. |
AJ360_DASHBOARD_TOKEN | No | — | Shared secret for the analytics data endpoints (/api/stats, /api/recent). When set, callers must send Authorization: Bearer or ?token= . Strongly recommended for any public/cloud deployment. |
AJ360_ANALYTICS_DB | No | analytics.db | 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.
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 build -t aljazeera360-mcp .
docker run -p 8080:8080 -e MCP_TRANSPORT=streamable-http -e AJ360_REFRESH_TOKEN=your-token aljazeera360-mcp
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"
Connect this repo — auto-deploys from the included Dockerfile. Set environment variables in the dashboard (including AJ360_ALLOWED_HOST= so the DNS-rebinding protection accepts your host).
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) │ └──────────────────────────┘
The server includes pre-built prompts for common AI scenarios:
| Prompt | Description |
|---|---|
recommend_documentary | Find and recommend documentaries about a specific topic |
summarize_latest | Summarize the latest episodes from a section |
explore_series | Explore a series — find all seasons and episodes |
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": "قيادة السنوار لجهاز حماس الأمني", "ty
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요