MCP Video Parser
MCP Video Parser
A powerful video analysis system that uses the Model Context Protocol (MCP) to process, analyze, and query video content using AI vision models.
π¬ Features
AI-Powered Video Analysis: Automatically extracts and analyzes frames using vision LLMs (Llava)
Natural Language Queries: Search videos using conversational queries
Time-Based Search: Query videos by relative time ("last week") or specific dates
Location-Based Organization: Organize videos by location (shed, garage, etc.)
Audio Transcription: Extract and search through video transcripts
Chat Integration: Natural conversations with Mistral/Llama while maintaining video context
Scene Detection: Intelligent frame extraction based on visual changes
MCP Protocol: Standards-based integration with Claude and other MCP clients
π Quick Start
Prerequisites
Python 3.10+
Ollama installed and running
ffmpeg (for video processing)
Installation
Clone the repository:
git clone https://github.com/michaelbaker-dev/mcpVideoParser.git
cd mcpVideoParserInstall dependencies:
pip install -r requirements.txtPull required Ollama models:
ollama pull llava:latest # For vision analysis
ollama pull mistral:latest # For chat interactionsStart the MCP server:
python mcp_video_server.py --http --host localhost --port 8000Basic Usage
Process a video:
python process_new_video.py /path/to/video.mp4 --location garageStart the chat client:
python standalone_client/mcp_http_client.py --chat-llm mistral:latestExample queries:
"Show me the latest videos"
"What happened at the garage yesterday?"
"Find videos with cars"
"Give me a summary of all videos from last week"
ποΈ Architecture
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Video Files ββββββΆβ Video Processor ββββββΆβ Frame Analysis β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β β
βΌ βΌ
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β MCP Server βββββββ Storage Manager βββββββ Ollama LLM β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β HTTP Client β
βββββββββββββββββββπ οΈ Configuration
Edit config/default_config.json to customize:
Frame extraction rate: How many frames to analyze
Scene detection sensitivity: When to capture scene changes
Storage settings: Where to store videos and data
LLM models: Which models to use for vision and chat
See Configuration Guide for details.
π§ MCP Tools
The server exposes these MCP tools:
process_video- Process and analyze a video filequery_location_time- Query videos by location and timesearch_videos- Search video content and transcriptsget_video_summary- Get AI-generated summary of a videoask_video- Ask questions about specific videosanalyze_moment- Analyze specific timestamp in a videoget_video_stats- Get system statisticsget_video_guide- Get usage instructions
π οΈ Utility Scripts
Video Cleanup
Clean all videos from the system and reset to a fresh state:
# Dry run to see what would be deleted
python clean_videos.py --dry-run
# Clean processed files and database (keeps originals)
python clean_videos.py
# Clean everything including original video files
python clean_videos.py --clean-originals
# Skip confirmation and backup
python clean_videos.py --yes --no-backupThis script will:
Remove all video entries from the database
Delete all processed frames and transcripts
Delete all videos from the location-based structure
Optionally delete original video files
Create a backup of the database before cleaning (unless
--no-backup)
Video Processing
Process individual videos:
# Process a video with automatic location detection
python process_new_video.py /path/to/video.mp4
# Process with specific location
python process_new_video.py /path/to/video.mp4 --location garageπ Documentation
API Reference - Detailed MCP tool documentation
Configuration Guide - Customization options
Video Analysis Info - How video processing works
Development Guide - Contributing and testing
Deployment Guide - Production setup
π¦ Development
Running Tests
# All tests
python -m pytest tests/ -v
# Unit tests only
python -m pytest tests/unit/ -v
# Integration tests (requires Ollama)
python -m pytest tests/integration/ -vProject Structure
mcp-video-server/
βββ src/
β βββ llm/ # LLM client implementations
β βββ processors/ # Video processing logic
β βββ storage/ # Database and file management
β βββ tools/ # MCP tool definitions
β βββ utils/ # Utilities and helpers
βββ standalone_client/ # HTTP client implementation
βββ config/ # Configuration files
βββ tests/ # Test suite
βββ video_data/ # Video storage (git-ignored)π€ Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
π Roadmap
β Basic video processing and analysis
β MCP server implementation
β Natural language queries
β Chat integration with context
π§ Enhanced time parsing (see INTELLIGENT_QUERY_PLAN.md)
π§ Multi-camera support
π§ Real-time processing
π§ Web interface
π Troubleshooting
Common Issues
Ollama not running:
ollama serve # Start OllamaMissing models:
ollama pull llava:latest
ollama pull mistral:latestPort already in use:
# Change port in command
python mcp_video_server.py --http --port 8001π License
MIT License - see LICENSE for details.
π Acknowledgments
Built on FastMCP framework
Uses Ollama for local LLM inference
Inspired by the Model Context Protocol specification
π¬ Support
Version: 0.1.1
Author: Michael Baker
Status: Beta - Breaking changes possible
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/michaelbaker-dev/mcpVideoParser'
If you have feedback or need assistance with the MCP directory API, please join our Discord server