mcp-vision
# mcp-vision
MCP server for vision capabilities - screenshot and camera analysis using Ollama vision models.
## Features
- **Screenshot Analysis**: Capture and analyze screenshots with AI
- **Camera Capture**: Take photos from webcam and analyze them
- **Image Analysis**: Analyze existing image files
- **Streaming Output**: Real-time streaming of AI analysis
- **Multiple Models**: Support for various vision models (llava, bakllava, etc.)
## Installation
```bash
cd /Users/bard/Code/mcp-vision
npm install
```
## Prerequisites
- Ollama must be running with a vision model installed:
```bash
ollama pull llava
```
- macOS (for screenshot functionality)
- Camera access (for webcam features)
## Tools
### vision_screenshot
Take a screenshot and analyze it with AI.
```javascript
{
prompt: "What application is open?", // optional
model: "llava", // optional
region: { // optional
x: 100,
y: 100,
width: 500,
height: 400
}
}
```
### vision_camera
Capture from camera and analyze.
```javascript
{
prompt: "What do you see?", // optional
model: "llava", // optional
device: "FaceTime HD Camera" // optional
}
```
### vision_analyze_image
Analyze an existing image file.
```javascript
{
path: "/path/to/image.jpg",
prompt: "Describe this image", // optional
model: "llava" // optional
}
```
### vision_list_cameras
List available camera devices.
## Usage with Claude Desktop
Add to your Claude Desktop configuration:
```json
{
"mcpServers": {
"vision": {
"command": "node",
"args": ["/Users/bard/Code/mcp-vision/src/index.js"]
}
}
}
```
## Integration with ELVIS
This tool can be integrated with ELVIS for enhanced visual context:
1. Use `vision_screenshot` to capture current screen state
2. Pass the analysis to `elvis_delegate` for context-aware task processing
3. ELVIS can use visual information to better understand and complete tasks
## Example Workflow
```javascript
// 1. Analyze what's on screen
vision_screenshot({ prompt: "What code is visible?" })
// 2. Use with ELVIS
elvis_delegate({
task: "Fix the syntax error shown",
context: "Based on the screenshot analysis"
})
```
## Streaming Output
The tool streams AI responses in real-time, providing immediate feedback as the model analyzes images. This is shown in the MCP server logs and can be used for progress tracking.
TDQS
Scored across 4 tools
Each tool targets a distinct input source: screenshot captures the screen, camera captures from a physical camera, and analyze_image works with existing files. The help tool is clearly auxiliary and separate from the vision functions.
Three tools share a 'vision_' prefix, but the structure varies: 'screenshot' and 'camera' are single nouns used as verbs, while 'analyze_image' follows verb_noun. The 'help' tool breaks the prefix pattern entirely, making the naming inconsistent.
With four tools, the server is well-scoped for its purpose. It covers the three primary vision input methods (screen, camera, file) plus documentation, with no redundancy or unnecessary bloat.
The core vision analysis workflows are covered: capturing and analyzing from screen or camera, and analyzing existing images. However, there are minor gaps such as no way to capture an image without analysis, no model management, and no URL-based image input, though these are not critical for the server's stated purpose.