Pixeltable Developer — Claude Code MCP server: build Pixeltable apps
A local MCP server that lets an agent scaffold app.py, apply tables to a catalog, insert rows and serve HTTP routes.
claude mcp add mcp-server-pixeltable-developer -e PIXELTABLE_MCP_PROJECT_ROOT=<PIXELTABLE_MCP_PROJECT_ROOT> -e PIXELTABLE_HOME=<PIXELTABLE_HOME> -- uvx mcp-server-pixeltable-developerWhat Pixeltable Developer does
The server sits on top of the pxt CLI. An agent writes a single app.py, checks the catalog schema against it, applies updates, inserts rows, inspects what is stored, recomputes failed values and starts services. Every action goes through MCP tools, so a bad call comes back as a tool error the client can retry with fixed input.
You need uv first: the package lives on PyPI and uvx fetches it. Two variables are required — PIXELTABLE_MCP_PROJECT_ROOT pointing at the directory that holds app.py, and PIXELTABLE_HOME pointing at the Pixeltable catalog. Both paths are locked for the life of the process, and file arguments outside the project root get refused. The pxt daemon listens on port 22089 by default, and one daemon serves one project: run pxt for a second project at the same time and in-flight calls die with RemoteDisconnected. Point tests at a separate catalog, since the server writes to whichever one you hand it.
Setting PIXELTABLE_MCP_ENABLE_UNSAFE=1 unlocks tools that execute arbitrary Python, install packages and read any file the process can reach. This is a beta developer tool running with your permissions. The same app.py works in the cloud, but that path wants pxt login, a [[pixeltable.database]] entry in pixeltable.toml and provider keys stored via pxt secret set. The server itself provisions nothing paid.
What it helps with
- scaffold
app.pywith tables and computed columns - diff the app schema against the live catalog and apply it
- insert rows and inspect what a table already holds
- recompute a column after editing its expression
- start a service and find its URL
Example prompts for the agent
- Scaffold a Pixeltable app in
app.pywith a documents table and an embedding computed column. - Show the schema diff between
app.pyand themy_appcatalog, then apply it. - Recompute the
embeddingcolumn inmy_app/docs— the values are stale.
How to install Pixeltable Developer
Platform CLI
claude mcp add mcp-server-pixeltable-developer -e PIXELTABLE_MCP_PROJECT_ROOT=<PIXELTABLE_MCP_PROJECT_ROOT> -e PIXELTABLE_HOME=<PIXELTABLE_HOME> -- uvx mcp-server-pixeltable-developerReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from mcp-server-pixeltable-developer <command>
Platform CLI
codex mcp add pixeltable-developer --env PIXELTABLE_MCP_PROJECT_ROOT=<PIXELTABLE_MCP_PROJECT_ROOT> --env PIXELTABLE_HOME=<PIXELTABLE_HOME> -- uvx mcp-server-pixeltable-developerReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from mcp-server-pixeltable-developer <command>
Config file
{
"mcpServers": {
"pixeltable-developer": {
"command": "uvx",
"args": [
"mcp-server-pixeltable-developer"
],
"env": {
"PIXELTABLE_MCP_PROJECT_ROOT": "<PIXELTABLE_MCP_PROJECT_ROOT>",
"PIXELTABLE_HOME": "<PIXELTABLE_HOME>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from mcp-server-pixeltable-developer <command>
Config file
{
"servers": {
"pixeltable-developer": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-server-pixeltable-developer"
],
"env": {
"PIXELTABLE_MCP_PROJECT_ROOT": "<PIXELTABLE_MCP_PROJECT_ROOT>",
"PIXELTABLE_HOME": "<PIXELTABLE_HOME>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from mcp-server-pixeltable-developer <command>
Platform CLI
gemini mcp add -e PIXELTABLE_MCP_PROJECT_ROOT=<PIXELTABLE_MCP_PROJECT_ROOT> -e PIXELTABLE_HOME=<PIXELTABLE_HOME> pixeltable-developer uvx mcp-server-pixeltable-developerReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from mcp-server-pixeltable-developer <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about Pixeltable Developer
How do I install Pixeltable Developer in Claude Code?
Install uv first. Then run `claude mcp add mcp-server-pixeltable-developer -e PIXELTABLE_MCP_PROJECT_ROOT=<PIXELTABLE_MCP_PROJECT_ROOT> -e PIXELTABLE_HOME=<PIXELTABLE_HOME> -- uvx mcp-server-pixeltable-developer` and restart the client.
What does Pixeltable Developer do?
It hands the agent tools for a Pixeltable app: scaffolding app.py, checking and updating the schema, inserting rows, recomputing values and managing services.
What has to be configured before it runs?
PIXELTABLE_MCP_PROJECT_ROOT with the app directory and PIXELTABLE_HOME with the Pixeltable catalog. Both are fixed for the process lifetime, and files outside the project root are refused.