video-material-db
Video Material DB(Semantische Video-Material-Datenbank)
Eine Local-First-Wissensbasis für die Erforschung und Erstellung von Kurzvideos. Sie speichert Videos, Untertitel und strukturierte KI-Analysen von PostgreSQL zentral gebündelt und ermöglicht über Weboberfläche, REST-API und MCP-Tools die Suche in natürlicher Sprache. Videomaterial und Analysedaten werden standardmäßig in der eigenen Umgebung des Nutzers gespeichert.
Hauptfunktionen
Videoomaterial aus lokalen Dateien, Ohren oder öffentlichen Online-Videos importieren
Videolisten von Urhebern auf Flattformen wie Douyin, TikTok, YouTube, Bilibili sameln
Automatische Video-Vorverbeitung, Transkription, Keyframe-Extraktion und visuele Analyse durchführen
Extraktion von Personenzellen, Szenen, Kameraeinstellungen, Dialogen, Punktstrukturen, Minen und UmSetzungsvorschlagen
Aufbau eines semantischen Indes mit pgvector und natürlichsprachliche Sue in Videos, Didlogtexten und Handlungs
Verwaltung von Material und Hintergrundautgaben über die argued FastAPI-Weboberflada
Anbindung von Kreaten wie Codex über MCP
Unterstütz für Deduplikation, asynchrone Verarbeitung, Wiederhollung bei Fachlern and Stapel-Export
Related MCP server: youtube-mcp
Anwendungsfälle
Drehbuchautoren für Kurzvideos suchen na Handlung, Didlogen, Gags, Twists and Kamerafereferenzen
Inhahteams bauen eine durchsuchbare Beispiele-Datenbank and Kreativwissensbase auf
Situation und Erzählrythmus sowie visuel-Ausdrucksformen beliebter Urheber analysieren
Aus vielen Referenzvideos aterwendbare Schreibungsmuster finden
KI-Assistene mit strukturierte, nachvolziehbaren Videoforschungaterien versogen
Tech ke
Python 3.11+
Fast
PostgreSQL + pgvector
MCP Server
ffmpeg / ffprobe
通义千问-kompatible Schnittstelle (ASR, visuelle Analyse and Strukturanalys? Vector-Embeddings)
Schnellstart
Vollständiger Installationstiftung finden Sie in INSTALL.md. Material wird standardmäßig in the project-local ./data directory speicher.
python3 -m venv .venv
.venv/bin/pip install -e .
cp .env.example .envNach dem Starten the Datenbank run each the Web-Cervice and Background task tasks:
.venv/bin/video-db-api
.venv/bin/video-db-workerBrowser the up with http://127.0.0.1:8000/.
MCP-Anbindung
codex mcp add video-material-db -- <仓库绝对路径>/.venv/bin/video-db-mcpAvailable Tools include add_video_url, add_local_video, search_videos, search_dialogue, search_jokes, search_story_sturg und get_video_detail.
Data and Sicherheit
Öffentliche Repositoryen nur die Programmcode. .env-, API-Schlüssel, "on dir" and other data are not stored in version control:
Need correct translate. Actually I accidentally translated "启动 database" etc wrong. Need Restful final carefully.
Need no "Step" inaccuracies. Let me generate final proper# Video Material DB(Semantische Videomaterial-Datenbank)
Eine Local-First-Wissensbasis für die Recherche und Erstellung von Kurzvideos. Sie speichert Videos, Untertitel und strukturierte KI-Analysen zentral in PostgreSQL und bietet über Weboberfläche, REST-API und MCP-Tools eine Suche mit natürlicher Sprache. Material- und Analysedaten werden standardmäßig in der eigenen Umgebung der Nutzer gespeichert.
Hauptfunktionen
Material aus lokalen Dateien, Ordnern oder öffentlichen Videolinks importieren
Videolisten von Urhebern auf Plattformen wie Douyin, TikTok, YouTube, Bilibili erfassen
Automatische Videovorverarbeitung, Transkription, Keyframe-Extraktion und visuelle Analyse
Der Attributieren von Personen, Szenen, Kameraeinstellungen, Dialogen, Handlungsstrukturen, Pointe und Adaptionsvorschlägen
Mit einer semantischen Indexierung über pgvector eine natürliche Sprachsuche in Videos, Dialogtexten und Handlungselementen
Verwaltung von Material und Hintergrundaufgaben über die FastAPI-Veboberfläche
Anbindung von KI-Tools wie Codex über MCP
Unterstützung von Dedupe, asynchroner Verarbeitung, Fehlerwiederholung und Stapel-Export
Anwendungsfälle
In einem Drehbuchautor für Kurzvideos Handlung, Dialogzeilen, Wörter/Gött, Turns und Kameraeinstellungen als Referenz suchen
Content-Teams bauen eine durchsuchbare Videobeispiel-Datenbank und ein Fachwissen für kreative Optionen auf.
Content-Struktur, Erzählrhythmus und visuelle Ausdruck beliebter Creator analysieren
Findbare wiederverwendbare Gestaltungsmuster aus einer schutzreichen Referenz
Für KI-Asistenten strukturierte, vollständig rückverfolgbare Video-Rechercheterien bereitstellen
Technische Komponenten
Python 3.11+
FastAPI
PostgreSQL + pgvector
MCP Server
ffmpeg / ffprobe
通义千问-kompatible Schnittstelle (ASR, visuelle Analyse, Vektor-Embeddings)
Schnellstart
Vollständige Installationshinweise finden Sie in INSTALL.md. Die Materialien werden standardmäßig im Projektrepertoire unter ./data gespeichert.
python3 -m venv .venv
.venv/bin/pip install -e .
cp .env.example .envStarten Sie die Datenbank und führen Sie anschließend separat den Webservice und den Analyse-Hochergrund aus:
.venv/bin/video-db-api
.venv/bin/video-db-workerÖffnen Sie im Browser http://127.0.0.1:8000/.
MCP-Anbindung
codex mcp add video-material-db -- <仓库绝对路径>/.venv/bin/video-db-mcpVerfügbare Werkzeuge sind add_video_url, add_local_video, search_videos, search_dialogue, search_jokes und get_video_detail.
Daten und Sicherheit
Das öffentliche Repository enthält ausschließlich allgemeinen Quellcode. Geheime Schlüssel in .env, API-Schlüssel, Videodateien, Datenbankinhalte, Backups, lokale Pfade und persönliche Daten werden nicht in der Versionskontrolle gespeichert.
Available Tools
8 toolsadd_local_videoD
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_video_urlD
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_remake_contextD
| Name | Required | Description | Default |
|---|---|---|---|
| video_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_video_detailD
| Name | Required | Description | Default |
|---|---|---|---|
| video_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_dialogueD
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_jokesD
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_story_structureD
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_videosD
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
v0.2.1- First observed
add_local_video - First observed
add_video_url - First observed
build_remake_context - First observed
get_video_detail - First observed
search_dialogue - First observed
search_jokes - First observed
search_story_structure - First observed
search_videos
TDQS
Scored across 8 tools
All tools have clearly distinct purposes. Adding via URL vs local file are distinct, and the various search tools target different content types (videos, dialogue, jokes, story structure), so there is no ambiguity in what each tool does.
All tool names follow the same verb_noun pattern in snake_case: add_, search_, get_, build_. This is fully consistent across the entire set.
8 tools is well-scoped for a video material database. The set covers ingestion (add), retrieval (search, get), and a specialized operation (build_remake_context) without unnecessary bloat.
The main workflows of adding, searching across content types, and retrieving details are covered. Minor gaps exist—no update/delete operations for videos and no general list all videos—but agents can work around these with the provided search tools.
Maintenance
Related MCP Connectors
Video analysis AI: transcripts, summaries, visual scenes/shots, clips, answers in natural language.
Video knowledge base for agents: search your library's transcripts, keyframes and on-screen text.
Edit video by talking to your AI — search footage, cut timelines, apply effects, add captions.
Shot breakdowns of video clips, plus logos and brand kits, for any AI assistant.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to search through structured databases and unstructured content (documents, videos, files) using natural language queries with semantic understanding.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to watch YouTube videos by extracting frames at scene changes and visual references, pairing each frame with the exact words spoken at that timestamp. Provides dense frame-transcript interleaving for any model.19 npm5MIT

VZT Video-Intelofficial
AlicenseNot gradedqualityDmaintenanceSelf-hosted video intelligence pipeline that turns video into structured, citable, queryable JSON scene graphs, enabling AI assistants to analyze and search across video libraries without re-processing.15 npm1MIT- FlicenseNot gradedqualityDmaintenanceEnables natural language search through personal video collections, returning AI-generated descriptions and direct URLs to relevant 30-second video clips.-