EnriVision
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@EnriVisionsummarize the video at /Users/me/demo.mp4 and transcribe the audio"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
EnriVision
EnriVision is a Model Context Protocol (MCP) server over stdio that uploads local media to EnriProxy and returns server-side extraction + model analysis.
This is useful for media types that many MCP clients cannot read reliably (videos, audio, scanned PDFs, HEIC/AVIF, large files), while keeping the MCP server itself lightweight.
What this project is
An MCP server process your MCP host launches (OpenCode, Claude Code, Codex, etc.)
A thin client for EnriProxy (resumable upload + structured output)
Related MCP server: media-mcp
Requirements
Node.js
>= 22(recommended: Node 24 LTS)A reachable EnriProxy server with these endpoints enabled:
POST /v1/uploadsHEAD /v1/uploads/:idPATCH /v1/uploads/:idPOST /v1/vision/analyze
An EnriProxy API key (configured on the EnriProxy side)
Install
# Global install
npm install -g @bedolla/enrivision
# Or run without installing
npx -y @bedolla/enrivision@latest --helpBuild
npm install
npm run typecheck
npm run buildUsage
1) Configure your MCP host
EnriVision runs as an MCP server over stdio. Your MCP host is responsible for launching the process.
Example: global install
{
"EnriVision": {
"type": "stdio",
"command": "enrivision",
"args": [],
"env": {
"ENRIPROXY_URL": "http://127.0.0.1:8787",
"ENRIPROXY_API_KEY": "YOUR_ENRIPROXY_API_KEY",
"ENRIVISION_DEFAULT_LANGUAGE": "es"
}
}
}Example: no install (always uses whatever npm currently tags as latest)
{
"EnriVision": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@bedolla/enrivision@latest"],
"env": {
"ENRIPROXY_URL": "http://127.0.0.1:8787",
"ENRIPROXY_API_KEY": "YOUR_ENRIPROXY_API_KEY",
"ENRIVISION_DEFAULT_LANGUAGE": "es"
}
}
}{
"EnriVision": {
"type": "stdio",
"command": "node",
"args": ["C:\\\\Users\\\\Administrator\\\\Projects\\\\EnriVision\\\\dist\\\\index.js"],
"env": {
"ENRIPROXY_URL": "http://127.0.0.1:8787",
"ENRIPROXY_API_KEY": "YOUR_ENRIPROXY_API_KEY",
"ENRIVISION_DEFAULT_LANGUAGE": "es"
}
}
}Configuration
EnriVision is configured via environment variables:
ENRIPROXY_URL(string, optional, default:http://127.0.0.1:8787)ENRIPROXY_API_KEY(string, required)ENRIVISION_TIMEOUT_MS(string, optional, default:1800000)Parsed as an integer (milliseconds). Uploads are performed in chunks; this timeout applies per request.
ENRIVISION_DEFAULT_LANGUAGE(string, optional)Default language to send when the tool call does not provide
language.
MCP tools
EnriVision exposes this MCP tool:
analyze_media
General notes:
The tool accepts a single JSON object as its input (the MCP
arguments).Exactly one of
pathorpathsis required.Paths must be absolute on the machine running the MCP server.
EnriVision does not accept per-call
server_url/api_keyoverrides (these are configured via env vars).
analyze_media
Inputs:
path(string, optional): absolute local file path.paths(string[], optional): absolute local image paths (useful for UI screenshot sets).context(string, optional): high-level hint (examples:ui,diagram,chart,error,code,meeting,tutorial,photo).question(string, optional): what you want to extract/answer.language(string, optional): preferred response language (ISO 639-1; e.g.,es,en). If omitted, usesENRIVISION_DEFAULT_LANGUAGEwhen set.analysis_mode(string, optional):auto|single|multipass.max_frames(number, optional): single-pass video frames (1..20).transcribe(boolean, optional): enable/disable transcription (videos).transcription_language(string, optional): whisper hint (auto,es,en, ...).
Video targeting:
video.clip_start_seconds(number, optional)video.clip_duration_seconds(number, optional)
Multipass tuning (advanced; used only for analysis_mode: multipass):
video.segment_seconds(number, optional)video.max_segments(number, optional)video.max_frames_per_segment(number, optional)document.max_pages_total(number, optional)document.pages_per_batch(number, optional)document.max_images_per_batch(number, optional)document.scanned_text_threshold_chars(number, optional)audio.timestamps(boolean, optional)audio.segment_seconds(number, optional)audio.max_segments(number, optional)images.max_images_total(number, optional)images.images_per_batch(number, optional)images.max_dimension(number, optional)
Output:
analysis(string): model-produced analysis.media_type(string): detected media type (video,audio,image,document,image_set).extraction(object): safe metadata summary (internal routing details are stripped).
Example arguments object:
{
"path": "C:\\\\path\\\\to\\\\video.mp4",
"question": "What are the key steps demonstrated?",
"analysis_mode": "auto",
"transcribe": true,
"language": "es"
}Many MCP clients include a built-in Read(...) tool that can ingest local files and attach them to the model request.
This is convenient, but the set of supported formats is limited and can change across client versions.
If the file you need to analyze is not reliably supported by your client (for example .avif, .heic, .svg, videos,
audio, or Office documents), prefer EnriVision MCP so the client can upload bytes and EnriProxy can do extraction reliably.
EnriProxy determines media type using content-type and extension allow-lists.
Videos:
.mp4,.mov,.avi,.mkv,.webm,.m4v,.wmv,.flv,.3gp,.3g2,.ts,.mts,.m2ts,.mpeg,.mpg,.gif
Audio:
.mp3,.mp1,.mp2,.mpa,.mpga,.wav,.aiff,.aif,.aifc,.caf,.flac,.m4a,.m4b,.m4r,.aac,.ogg,.oga,.wma,.opus,.weba,.mka
Images:
.png,.apng,.jpg,.jpeg,.gif,.webp,.avif,.heic,.heif,.tiff,.tif,.bmp,.svg,.ico
Documents:
.pdf,.docx,.pptx,.xlsx,.jsonl
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Related MCP Servers
- Alicense-qualityCmaintenanceAn MCP server that enables AI assistants to perform semantic searches over local document collections using multi-context organization and automatic OCR. It supports various file formats including PDF, DOCX, and images, ensuring all data processing remains local and private.Last updated6MIT
- AlicenseAqualityCmaintenanceAn MCP server for image and video processing that allows AI assistants to resize, convert, compress, and analyze media files locally without API keys. It supports a wide range of formats and provides tools for tasks such as metadata removal, frame extraction, and video conversion.Last updated134MIT
- AlicenseBqualityFmaintenanceAn MCP server that lets AI assistants read and visually analyze local documents — PDFs, Excel spreadsheets, CSV files, Word documents, PowerPoint presentations, and images.Last updated468MIT
- Flicense-qualityDmaintenanceMCP server for analyzing local audio and video files with Google Gen AI, returning structured summaries, timelines, transcripts, and observations.Last updated1
Related MCP Connectors
OCR, transcription, file extraction, and image generation for AI agents via MCP.
MCP server for Wan AI video generation
MCP server for ScanMalware.com URL scanning, malware detection, and analysis.
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/Bedolla/EnriVision'
If you have feedback or need assistance with the MCP directory API, please join our Discord server