Claude meets Pixeltable. Multimodal AI data infrastructure - not (just) a database - now available as an MCP server.
You must have uv
installed. If you don't have it or aren't sure, run:
curl -LsSf https://astral.sh/uv/install.sh | sh
Or consult the uv installation guide.
Just tell Claude:
"Install https://github.com/pixeltable/mcp-server-pixeltable-developer as a uv tool and add it to your MCPs"
That's it! Claude will handle the installation and configuration for you.
# Install as a global tool
uv tool install --from git+https://github.com/pixeltable/mcp-server-pixeltable-developer.git mcp-server-pixeltable-developer
# Add to Claude Code
claude mcp add pixeltable mcp-server-pixeltable-developer
# Update to latest version
uv tool install --force --from git+https://github.com/pixeltable/mcp-server-pixeltable-developer.git mcp-server-pixeltable-developer
git clone https://github.com/pixeltable/mcp-server-pixeltable-developer
cd mcp-server-pixeltable-developer
uv sync
Add to your Claude Desktop config:
{
"mcpServers": {
"pixeltable": {
"command": "mcp-server-pixeltable-developer",
"env": {
"PIXELTABLE_HOME": "/Users/{your-username}/.pixeltable",
"PIXELTABLE_FILE_CACHE_SIZE_G": "10"
}
}
}
}
Or if running from source:
{
"mcpServers": {
"pixeltable": {
"command": "uv",
"args": [
"run",
"--directory",
"{path-to-your-repo}",
"python",
"-m",
"mcp_server_pixeltable_stio"
],
"env": {
"PIXELTABLE_HOME": "/Users/{your-username}/.pixeltable",
"PIXELTABLE_FILE_CACHE_SIZE_G": "10"
}
}
}
}
Cursor users can add the Pixeltable MCP server to their .cursorrules
file or configure it through Cursor's MCP settings:
-
Via Cursor Settings:
- Open Cursor Settings
- Navigate to "Features" → "Model Context Protocol"
- Add a new MCP server with command:
mcp-server-pixeltable-developer
-
Via JSON Configuration: Add to your Cursor MCP configuration:
{ "mcpServers": { "pixeltable": { "command": "mcp-server-pixeltable-developer", "env": { "PIXELTABLE_HOME": "/Users/{your-username}/.pixeltable", "PIXELTABLE_FILE_CACHE_SIZE_G": "10" } } } }
-
For development/source installations:
{ "mcpServers": { "pixeltable": { "command": "uv", "args": [ "run", "--directory", "{path-to-your-repo}", "python", "-m", "mcp_server_pixeltable_stio" ], "env": { "PIXELTABLE_HOME": "/Users/{your-username}/.pixeltable", "PIXELTABLE_FILE_CACHE_SIZE_G": "10" } } } }
Create and populate a table:
Claude: Create a table for my screenshots
Claude: Add object detection to all images
Claude: Transcribe any audio files with Whisper
Local AI analysis:
Claude: Use Ollama to analyze these images
Claude: Generate embeddings for semantic search
Claude: Run YOLOX object detection on my photos
Data workflows:
Claude: Show me all images with cars detected
Claude: Find documents mentioning "AI"
Claude: Create a summary of this video
Change where Pixeltable stores its data:
Claude: Set datastore to ~/my-pixeltable-data
Claude: Get current datastore configuration
The datastore path can be configured through:
- Environment variable
PIXELTABLE_HOME
(highest priority) - Persistent configuration file (survives restarts)
- System default
~/.pixeltable
Execute Python code with PixelTable pre-loaded in a persistent session:
Claude: execute_python("tables = pxt.list_tables(); print(f'Found {len(tables)} tables')")
Claude: introspect_function("pxt.create_table") # Get docs and signature
Claude: list_available_functions("pxt") # Discover PixelTable functions
Structured logging for testing and bug discovery:
Claude: log_bug("Cannot save images", severity="high", function_name="pxt.create_table")
Claude: log_missing_feature("No image resize function", use_case="Standardize image sizes")
Claude: log_success("Table creation works", approach="Used schema parameter")
Claude: generate_bug_report() # Get summary of all issues
Bug logs are saved to pixeltable_testing_logs/
in both Markdown and JSON formats.
- REPL: Explore PixelTable dynamically without rebuilding the MCP
- Introspection: Discover functions and get docs on-demand
- Bug Logging: Document issues systematically during development
- Future-proof: Adapts to PixelTable API changes automatically
If you're having trouble with Claude Desktop:
- Restart Claude Desktop after adding the MCP server configuration
- Check that the path to your Pixeltable home directory is correct
- Ensure you have the latest version of Claude Desktop
- Verify that
uv
is installed and accessible from your PATH
If Cursor isn't recognizing the MCP server:
- Make sure you have MCP support enabled in Cursor settings
- Restart Cursor after configuration changes
- Check the Cursor logs for any error messages
If installation fails:
- Ensure you have Python 3.10+ installed
- Make sure
uv
is installed:curl -LsSf https://astral.sh/uv/install.sh | sh
- Try installing from source if the GitHub installation fails
If you encounter issues:
- Use the built-in bug logging:
Claude: log_bug("description", severity="high")
- Check the generated bug report:
Claude: generate_bug_report()
- File an issue on the GitHub repository
Built while having coffee. ☕