Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Pixeltable Developer

FreeNot checked

Pixeltable Developer — Model Context Protocol server

GitHubEmbed

About

Pixeltable Developer — Model Context Protocol server

README

Multimodal AI data infrastructure as an MCP server. 35 tools · 13 resources · 11 prompts for catalog management, AI/ML pipelines, dependency management, project scaffolding, and an interactive REPL.

Uses sync endpoints + uvloop for best performance with Pixeltable ≥ 0.6.3 (see pyproject.toml). Aligned with the pixeltable-skill and pixeltable-starter-kit conventions (pxt.mcp_udfs, FastAPIRouter, return_rows=True, pxt.Required[T], pxt.Array[T]).


Quick Start

Requires uv:

curl -LsSf https://astral.sh/uv/install.sh | sh

Claude Code (easiest) — just say:

"Install https://github.com/pixeltable/mcp-server-pixeltable-developer as a uv tool and add it to your MCPs"

Manual install:

uv tool install --from git+https://github.com/pixeltable/mcp-server-pixeltable-developer.git mcp-server-pixeltable-developer
claude mcp add pixeltable mcp-server-pixeltable-developer   # Claude Code

If uv warns that ~/.local/bin is not on your PATH, run uv tool update-shell (or add that directory to PATH) so mcp-server-pixeltable-developer is found. Check with mcp-server-pixeltable-developer --version.

From source:

git clone https://github.com/pixeltable/mcp-server-pixeltable-developer && cd mcp-server-pixeltable-developer
uv sync

Client Configuration

Claude Desktop
{
  "mcpServers": {
    "pixeltable": {
      "command": "mcp-server-pixeltable-developer",
      "env": {
        "PIXELTABLE_HOME": "/Users/{you}/.pixeltable",
        "PIXELTABLE_FILE_CACHE_SIZE_G": "10"
      }
    }
  }
}

From source — use "command": "uv" with "args": ["run", "--directory", "{repo}", "python", "-m", "mcp_server_pixeltable_stio"].

Cursor

User config~/.cursor/mcp.json (applies to all workspaces):

{
  "mcpServers": {
    "pixeltable-developer": {
      "command": "mcp-server-pixeltable-developer",
      "env": {
        "PIXELTABLE_HOME": "/Users/you/.pixeltable"
      }
    }
  }
}

If Cursor reports command not found, use the full path from uv tool update-shell / which mcp-server-pixeltable-developer, e.g. "command": "/Users/you/.local/bin/mcp-server-pixeltable-developer".

Develop this repo from source — optional project .cursor/mcp.json so the server runs from your clone (replace the path):

{
  "mcpServers": {
    "pixeltable-developer": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/mcp-server-pixeltable-developer", "python", "-m", "mcp_server_pixeltable_stio"],
      "env": {
        "PIXELTABLE_HOME": "/Users/you/.pixeltable"
      }
    }
  }
}

Do not define the same server name twice (user + project) unless you intend to run two entries.

Restart your client after configuration changes.


Testing

Use a dedicated PIXELTABLE_HOME for testing so you do not touch other catalogs.

MCP Inspector (interactive)

From a clone, after uv sync:

export PIXELTABLE_HOME="$HOME/.pixeltable-mcp-test"
uv run mcp dev src/mcp_server_pixeltable_stio/server.py:mcp

This starts the server and opens the MCP Inspector in your browser so you can invoke tools, read resources, and try prompts without an IDE.

Quick checks: tool pixeltable_check_dependencies with expression openai.chat_completions; tool execute_python with print(pxt.__version__); resource pixeltable://version.

Cursor

Add PIXELTABLE_HOME under env in .cursor/mcp.json (see Client Configuration above). Restart Cursor, confirm the server connects, then run a simple tool from the MCP panel.

CLI sanity (no JSON-RPC)

mcp-server-pixeltable-developer --version
uv run python list_tools.py

--version / --help exit immediately. list_tools.py only prints registered tools, resources, and prompts (import check, not a full MCP session).


Tools (35)

Category Tools
Init init (recovery for circular env init)
Tables create_table · drop_table · create_view · create_snapshot
Data create_replica · query_table · insert_data · query · add_computed_column
Directories create_dir · drop_dir · move
Config configure_logging · set_datastore
AI/ML create_udf · create_array · create_tools · connect_mcp (wraps pxt.mcp_udfs)
Deps check_dependencies · install_dependency
Types create_type (Image, Video, Audio, Array[Float], Required[T], …)
Docs search_docs
Scaffolding scaffold_project · list_project_templates (wraps pixeltable-new)
REPL execute_python · introspect_function · list_available_functions · install_package
Logging log_bug · log_missing_feature · log_success · generate_bug_report · get_session_summary
Display display_in_browser (canvas-extra + PIXELTABLE_MCP_CANVAS=1)

All tools are prefixed pixeltable_ (except REPL/logging helpers). Full docstrings available via introspect_function. pixeltable://tools always reflects the live FastMCP registration.

create_view accepts iterator (frame_iterator / document_splitter / audio_splitter / string_splitter) + iterator_kwargs so frame and chunk views don't require dropping into execute_python.

Resources (13)

URI What it returns
pixeltable://tables All tables with count
pixeltable://tables/{path} Info about a table / view / snapshot
pixeltable://tables/{path}/schema Column schema
pixeltable://directories All directories
pixeltable://ls / pixeltable://ls/{path} Directory listing
pixeltable://version Pixeltable version
pixeltable://config/datastore Datastore config
pixeltable://types Available data types
pixeltable://functions Registered Pixeltable functions
pixeltable://tools MCP tool list (introspects the live FastMCP server)
pixeltable://help Workflow guidance + pitfalls
pixeltable://diagnostics System & dependency diagnostics

Prompts (11)

Core: pixeltable_usage_guide (now leads with pitfalls) · getting_started · computer_vision_pipeline · rag_pipeline · video_analysis_pipeline · audio_processing_pipeline

Agent / data (from pixeltable-skill): tool_calling_agent_pipeline · agent_with_memory_pipeline · video_rag_agent_pipeline · agentic_patterns_guide · ml_data_pipeline


Examples

Create a table called movies with title, year, and rating columns → insert sample data → query ratings above 8.5

Add a computed column that runs YOLOX object detection on every image

Check what deps I need for openai.chat_completions(...) → install them

execute_python("print(pxt.list_tables())")

Documentation

  • Pixeltable docs
  • pixeltable-skill — task router, critical anti-patterns (openai.vision, FrameIterator, positional .similarity, etc.), and workflow examples aligned with current Pixeltable
  • pixeltable-starter-kitFastAPIRouter / pxt serve patterns and seven app templates; use pixeltable_scaffold_project to bootstrap them
  • Consumer side of MCP: pxt.mcp_udfs(url) (Pixeltable 0.6.x+) pulls this server's tools into a Pixeltable agent; expose them with pxt.tools(local_udf, *mcp_tools) and invoke_tools

Architecture

src/mcp_server_pixeltable_stio/
  server.py            FastMCP server, tool/resource/prompt registration, uvloop, canvas gate
  core/
    tables.py          Table CRUD, views (iterator support), snapshots, replicas, queries,
                       computed columns (eval context exposes all skill providers),
                       _resolve_pxt_type (Required[T] / Array[T] / dict form)
    directories.py     Directory CRUD, listing, moving
    dependencies.py    Dependency checking, unified installer, diagnostics
    udf.py             UDF creation, type system, pxt.tools / pxt.mcp_udfs wrappers
    helpers.py         Config, version, docs search, live pixeltable://tools introspection
    resources.py       Read-only MCP resource handlers
    scaffold.py        pixeltable-new wrappers (module first, uvx fallback)
    canvas_server.py   Optional browser canvas (lazy-imported; opt-in via env)
  prompt.py            Prompt templates (11 prompts covering core flows + 5 skill agent flows)
  repl_functions.py    Persistent Python REPL, introspection, package management
tests/                 Fast pytest suite + slow smoke (--run-slow uses tmp PIXELTABLE_HOME)
.github/workflows/     CI: matrix py3.10/3.11/3.12, list_tools.py + pytest

Optional canvas display

The display_in_browser tool requires:

  1. Install the canvas extra: uv pip install 'mcp-server-pixeltable-developer[canvas]' (adds FastAPI + uvicorn).
  2. Start the MCP server with PIXELTABLE_MCP_CANVAS=1 (override the port with PIXELTABLE_MCP_CANVAS_PORT).

Without those, the tool returns a clear error and core MCP traffic is unaffected.

Project scaffolding

pixeltable_list_project_templates and pixeltable_scaffold_project wrap pixeltable-new. The MCP imports pixeltable_new.new if installed, otherwise shells out to uvx pixeltable-new --json. Patterns: serving / backend / batch. Templates include multimodal-rag, agent, video-intel, audio-intel, data-lab, content-pipeline, full-stack-showcase.


Troubleshooting

  • Restart your client after any config change
  • Python 3.10+ and uv are required
  • command not found after uv tool install: ensure ~/.local/bin is on PATH (uv tool update-shell) or invoke via full path; confirm with mcp-server-pixeltable-developer --version
  • Check that PIXELTABLE_HOME points to a valid directory
  • Circular env initialization detected: call the pixeltable_init tool to clear the stale state, or re-create your PIXELTABLE_HOME
  • Canvas error from display_in_browser: install the canvas extra and set PIXELTABLE_MCP_CANVAS=1 (see above)
  • Use log_bug(...) / generate_bug_report() for structured issue tracking
  • File issues at github.com/pixeltable/mcp-server-pixeltable-developer

from github.com/pixeltable/mcp-server-pixeltable-developer

Installing Pixeltable Developer

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/pixeltable/mcp-server-pixeltable-developer

FAQ

Is Pixeltable Developer MCP free?

Yes, Pixeltable Developer MCP is free — one-click install via Unyly at no cost.

Does Pixeltable Developer need an API key?

No, Pixeltable Developer runs without API keys or environment variables.

Is Pixeltable Developer hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Pixeltable Developer in Claude Desktop, Claude Code or Cursor?

Open Pixeltable Developer on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Pixeltable Developer with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs