github analyzed 7b85c66

Galbaz1/video-research-mcp

github

Give Claude Code 51 research, analysis & media production tools with one command. Video analysis, deep research, academic papers, TTS voice-over, AI video generation, and Weaviate knowledge store — powered by Gemini 3.5 Flash.

maintainer
Galbaz1
license
MIT
first seen
2026-06-01
last seen
2026-06-04
releases · 30d
7
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged hidden prompt content ×2 in Galbaz1/video-research-mcp
capabilities0 tools
transport stdio counts 0 tools · 0 res · 0 prompts permission surface via code analysis

no tools enumerated yet for this server.

skills & danger signalsgithub-tarball
code evidencevv0.6.1 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

filesystem 29

  • fs Galbaz1-video-research-mcp-7b85c66/packages/video-agent-mcp/src/video_agent_mcp/config.py :7 from pathlib import Path
  • fs Galbaz1-video-research-mcp-7b85c66/packages/video-agent-mcp/src/video_agent_mcp/dotenv.py :10 from pathlib import Path
  • fs Galbaz1-video-research-mcp-7b85c66/packages/video-agent-mcp/src/video_agent_mcp/tools/scenes.py :13 from pathlib import Path
  • fs Galbaz1-video-research-mcp-7b85c66/packages/video-explainer-mcp/src/video_explainer_mcp/config.py :6 from pathlib import Path
  • fs Galbaz1-video-research-mcp-7b85c66/packages/video-explainer-mcp/src/video_explainer_mcp/dotenv.py :10 from pathlib import Path
  • fs Galbaz1-video-research-mcp-7b85c66/packages/video-explainer-mcp/src/video_explainer_mcp/prereqs.py :5 import shutil
  • fs Galbaz1-video-research-mcp-7b85c66/packages/video-explainer-mcp/src/video_explainer_mcp/runner.py :10 from pathlib import Path
  • fs Galbaz1-video-research-mcp-7b85c66/packages/video-explainer-mcp/src/video_explainer_mcp/scanner.py :7 from pathlib import Path
  • fs Galbaz1-video-research-mcp-7b85c66/scripts/detect_review_scope.py :8 import shutil
  • fs Galbaz1-video-research-mcp-7b85c66/scripts/export_installer_state_matrix.py :14 from pathlib import Path
  • fs Galbaz1-video-research-mcp-7b85c66/scripts/export_tool_contract_manifest.py :15 from pathlib import Path
  • fs Galbaz1-video-research-mcp-7b85c66/scripts/run_live_tool_security_checks.py :18 from pathlib import Path
  • fs Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/cache.py :9 from pathlib import Path
  • fs Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/config.py :192 from pathlib import Path
  • fs Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/context_cache.py :12 from pathlib import Path
  • fs Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/contract/pipeline.py :13 import shutil
  • fs Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/contract/quality.py :12 from pathlib import Path
  • fs Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/contract/render.py :12 from pathlib import Path
  • fs Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/dotenv.py :11 from pathlib import Path
  • fs Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/local_path_policy.py :5 from pathlib import Path
  • fs Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/persistence.py :8 from pathlib import Path
  • fs Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/tools/content.py :7 from pathlib import Path
  • fs Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/tools/content_batch.py :7 from pathlib import Path
  • fs Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/tools/research_document_file.py :8 import shutil
  • fs Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/tools/video.py :9 from pathlib import Path
  • fs Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/tools/video_batch.py :6 from pathlib import Path
  • fs Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/tools/video_file.py :10 from pathlib import Path
  • fs Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/tools/youtube_download.py :11 import shutil
  • fs Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/url_policy.py :15 from pathlib import Path

shell / exec 2

  • shell Galbaz1-video-research-mcp-7b85c66/scripts/detect_review_scope.py :9 import subprocess
  • shell Galbaz1-video-research-mcp-7b85c66/scripts/export_installer_state_matrix.py :11 import subprocess

network 8

  • net Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/academic_client.py :74 _client: Any | None = None # httpx.AsyncClient
  • net Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/config.py :8 from urllib.parse import urlparse
  • net Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/errors.py :53 import httpx
  • net Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/tools/video_url.py :7 from urllib.parse import parse_qs, urlparse
  • net Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/tools/youtube.py :7 from urllib.parse import parse_qs, urlparse
  • net Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/tracing.py :66 import socket
  • net Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/url_policy.py :13 import socket
  • net Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/weaviate_client.py :15 from urllib.parse import urlparse

secrets 3

  • secrets Galbaz1-video-research-mcp-7b85c66/scripts/revectorize_openai.py :45 openai_key = os.environ.get("OPENAI_API_KEY", "")
  • secrets Galbaz1-video-research-mcp-7b85c66/scripts/run_live_tool_security_checks.py :185 api_key = (os.environ.get("GEMINI_API_KEY") or "").strip()
  • secrets Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/config.py :199 _cohere_key = os.environ.get("COHERE_API_KEY", "")

database 1

  • db Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/persistence.py :7 import sqlite3

tool registrations 32

  • explainer_sound Galbaz1-video-research-mcp-7b85c66/packages/video-explainer-mcp/src/video_explainer_mcp/tools/audio.py :20
  • explainer_music Galbaz1-video-research-mcp-7b85c66/packages/video-explainer-mcp/src/video_explainer_mcp/tools/audio.py :48
  • explainer_generate Galbaz1-video-research-mcp-7b85c66/packages/video-explainer-mcp/src/video_explainer_mcp/tools/pipeline.py :50
  • explainer_step Galbaz1-video-research-mcp-7b85c66/packages/video-explainer-mcp/src/video_explainer_mcp/tools/pipeline.py :89
  • explainer_render Galbaz1-video-research-mcp-7b85c66/packages/video-explainer-mcp/src/video_explainer_mcp/tools/pipeline.py :119
  • explainer_render_start Galbaz1-video-research-mcp-7b85c66/packages/video-explainer-mcp/src/video_explainer_mcp/tools/pipeline.py :164
  • explainer_render_poll Galbaz1-video-research-mcp-7b85c66/packages/video-explainer-mcp/src/video_explainer_mcp/tools/pipeline.py :230
  • explainer_short Galbaz1-video-research-mcp-7b85c66/packages/video-explainer-mcp/src/video_explainer_mcp/tools/pipeline.py :262
  • explainer_create Galbaz1-video-research-mcp-7b85c66/packages/video-explainer-mcp/src/video_explainer_mcp/tools/project.py :23
  • explainer_inject Galbaz1-video-research-mcp-7b85c66/packages/video-explainer-mcp/src/video_explainer_mcp/tools/project.py :53
  • explainer_status Galbaz1-video-research-mcp-7b85c66/packages/video-explainer-mcp/src/video_explainer_mcp/tools/project.py :99
  • explainer_list Galbaz1-video-research-mcp-7b85c66/packages/video-explainer-mcp/src/video_explainer_mcp/tools/project.py :130
  • explainer_refine Galbaz1-video-research-mcp-7b85c66/packages/video-explainer-mcp/src/video_explainer_mcp/tools/quality.py :20
  • explainer_feedback Galbaz1-video-research-mcp-7b85c66/packages/video-explainer-mcp/src/video_explainer_mcp/tools/quality.py :47
  • explainer_factcheck Galbaz1-video-research-mcp-7b85c66/packages/video-explainer-mcp/src/video_explainer_mcp/tools/quality.py :72
  • research_paper_search Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/tools/academic.py :47
  • research_paper_details Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/tools/academic.py :104
  • research_paper_citations Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/tools/academic.py :139
  • research_paper_recommendations Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/tools/academic.py :189
  • research_author_search Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/tools/academic.py :231
  • content_analyze Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/tools/content.py :64
  • content_extract Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/tools/content.py :238
  • content_batch_analyze Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/tools/content_batch.py :164
  • research_deep Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/tools/research.py :37
  • research_plan Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/tools/research.py :109
  • research_assess_evidence Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/tools/research.py :165
  • research_document Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/tools/research_document.py :53
  • research_web Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/tools/research_web.py :117
  • research_web_status Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/tools/research_web.py :178
  • research_web_followup Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/tools/research_web.py :262
  • research_web_cancel Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/tools/research_web.py :322
  • web_search Galbaz1-video-research-mcp-7b85c66/src/video_research_mcp/tools/search.py :22

declared dependencies 6

  • fastmcp@>=3.0.2
  • google-api-python-client@>=2.100
  • google-genai@>=1.57
  • httpx@>=0.27
  • pydantic@>=2.0
  • weaviate-client@>=4.19.2