pixera-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PIXERA_HOST | No | Pixera host | 127.0.0.1 |
| PIXERA_PORT | No | JSON/TCP(dl) port set in Pixera | 1500 |
| PIXERA_TIMEOUT | No | per-request timeout (s) | 5.0 |
| PIXERA_API_JSON | No | Pixera API JSON used by pixera_describe / pixera_call validation | local Pixera install |
| PIXERA_AUTOCONNECT | No | connect on startup (offline tools still work if it fails) | true |
| PIXERA_PROTECTED_PREFIXES | No | Comma-separated timeline name prefixes that tools never remove or rename (empty = none) | LE_ |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| pixera_recommend_calibration_methodC | Recommend a calibration approach (homography / PnP markers / VIOSO / MPCDI) for a scenario. |
| pixera_recommend_warp_methodC | Recommend a warp tool: FFD vs Vertex vs Polygonal vs Multi-Pos, with rationale. |
| pixera_diagnoseA | Diagnose a projection-mapping symptom (e.g. 'visible seam', 'black output') -> cause + fix. |
| pixera_plan_projection_mappingC | Produce an ordered, scenario-tailored Pixera setup plan (Screens -> Mapping -> Compositing). |
| pixera_import_warp_contextA | Parse a Pixera .avp show-file (offline) and summarize the mapping/warp context. Returns projectors (model + pose), FFD warp modifiers (grid dims + control points), marker calibration sets, and soft-edge presence read straight from the project file - warp data the Native API cannot expose. Heuristic for Pixera build 26-1. |
| pixera_validate_softedgeC | Validate a soft-edge/blend setup and flag what is wrong for the workflow. |
| pixera_validate_marker_calibrationC | Validate marker-calibration parameters (count, coplanarity, EDID/lens prereqs, error). |
| pixera_validate_canvas_resolutionC | Validate Canvas Resolution vs projector output (resolution + aspect). |
| pixera_validate_feed_modeB | Validate Feed Mode choice for a surface (e.g. 'None' only for 3D/non-continuous UV). |
| pixera_recommend_markers_for_projectorB | Read the projector pose live, cull the mesh to what it sees, and recommend marker placement. lens: {throw_ratio | fov_h_deg, aspect, shift_h, shift_v, resolution:[w,h]}. mesh_path: OBJ/GLTF/... on disk. mesh_transform: optional {position, rotation, scale} to place the mesh in world coordinates. Requires a live Pixera connection. |
| pixera_score_projector_calibratabilityC | Score how calibratable a mesh is from a projector (VQI + breakdown). Requires a live connection. |
| pixera_apply_markersB | Push world-space markers via Pixera.Calibration.setMarkerPositions (positions = flat x,y,z). Applies to the marker calibration open in Pixera; the API takes no screen handle. |
| pixera_get_api_revisionA | Return the Pixera Native API revision (even=release, odd=beta). |
| pixera_pingA | Liveness check: API revision + noop round-trip. |
| pixera_has_functionC | Probe whether the connected Pixera supports an API function. |
| pixera_set_timeline_transportB | Play/Pause/Stop a timeline by index (action: 'play'|'pause'|'stop'). |
| pixera_set_timeline_transport_by_nameC | Play/Pause/Stop a timeline by name (action: 'play'|'pause'|'stop'). |
| pixera_apply_cueB | Fire a cue by index on a timeline by index (zero-based). |
| pixera_apply_cue_by_numberC | Fire a cue by its cue number on a timeline by index. |
| pixera_set_projector_blackoutC | Blackout (or restore) a projector by name. |
| pixera_run_calibrationB | Launch a calibration tool for a screen (mode 'newCalib'|'autoRecalib', tool e.g. 'vioso'). |
| pixera_load_warp_fileC | Load a warp file (MPCDI by default) onto a screen. |
| pixera_load_projectB | Load a Pixera project (replaces the current project; clears the handle cache). |
| pixera_save_projectB | Save the current Pixera project. |
| pixera_refresh_mappingC | Trigger a mapping refresh on a screen. |
| pixera_describeA | Look up Pixera API methods offline (rev 481 API JSON). No connection needed. query: a full method name (returns signature + doc), a prefix such as 'Pixera.Timelines.Layer.' (lists methods), or a substring such as 'VideoStream'. Class methods take the object handle as params.handle. Use before pixera_call. |
| pixera_callA | Call any Pixera API method, e.g. method='Pixera.Screens.Screen.setIsVisible', params={'handle': 123, 'isVisible': true}. Checks first: method and params against the rev 481 index (validate=false skips), destructive calls (remove/delete, load/save project, import mappings, engine stop) need allow_destructive=true, protected timelines can never be removed or renamed, and getHasFunction must confirm the method. Returns {ok, result | errors, stage}. |
| pixera_list_screens_detailedB | All screens with handle, position (m), rotation (deg), scale, visible, blackout. |
| pixera_list_resourcesA | Resource folder tree with each resource's name, id and type. folder_name_path (e.g. 'Media/Screens') starts at one folder. detailed adds file path and resolution. Use the id with pixera_setup_layer(resource_id=...). |
| pixera_find_resourceA | Find one resource by folder name path and name; returns handle, id, type, file path. |
| pixera_list_timelines_detailedB | Timelines with fps and transport mode; per layer: assigned resource, model resource, home screen, scale mode. Protected timelines (PIXERA_PROTECTED_PREFIXES, default LE_) are marked. |
| pixera_get_layer_jsonB | Return Layer.getLayerJsonDescrip for one layer (raw JSON string from Pixera). |
| pixera_set_screen_poseA | Set screen position [x,y,z] (m), rotation [x,y,z] (deg) and/or scale; reads pose back. Pixera is right-handed, Y-up, metres. convention='blender' converts a Blender Z-up position (x, y, z) to Pixera (x, z, -y); rotation is refused in that mode. Omitted vectors stay unchanged. |
| pixera_import_resourceA | Import a file (or, with directory=true, every file in a folder) into a resource folder. OBJ files become '3DModel' resources (confirmed live); assign them to a layer with pixera_setup_layer(model_resource_id=...). Directory import never removes existing resources. Returns name, id and type of each new resource. |
| pixera_create_timelineB | Create and name a new timeline. Refuses existing names and protected prefixes. |
| pixera_setup_layerA | Find or create a layer, then set any of: media resource (id), 3D model resource (id of a '3DModel' resource, e.g. an imported OBJ), home screen, scale_mode ('fill' | 'fit' | 'stretch' | 'resource' | 'model_1to1'), render only on home screen. Refuses protected timelines. |
| pixera_set_live_inputB | Set the stream mode of an existing Live Input resource and (de)activate its streams. Without mode_index, only lists the available modes. |
| pixera_list_outputsA | Outputs of a live system (default: first) with idPath, resolution, assigned projectors and screens. idPath (e.g. '1/2') is used by pixera_import_mappings. |
| pixera_export_mappingsB | Export the live system's projector mappings (warp, soft edge, color correction) to a folder: service_/mapping_NNN.axp plus original_output_structure.json. |
| pixera_import_mappingsA | Import mappings exported by pixera_export_mappings. output_map retargets by output idPath, e.g. {"1/1": "1/2"} moves output 1/1's mappings to 1/2. Overwrites the target outputs' mappings, so allow_destructive=true is required. Cannot create Art-Net outputs or feeds. |
| pixera_list_projectorsA | List projector names in the current project. |
| pixera_get_projector_poseB | Get a projector's live position (m) and rotation (deg). |
| pixera_list_screensA | List screen names in the current project. |
| pixera_list_timelinesA | List timelines (handles + count) in the current project. |
| pixera_get_paramB | Read a parameter value by instance path (e.g. 'Timeline 1.Layer 1.Opacity'). |
| pixera_get_timeline_timeB | Get a timeline's current playhead time in seconds. |
| pixera_poll_monitoringB | Fetch Pixera monitoring data (alerts/heartbeat). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| marker_calibration_walkthrough | |
| recommend_calibration_strategy | |
| setup_projection_mapping | |
| setup_softedge_blend | |
| troubleshoot_projection |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Projection Mapping 101 (Pixera) | Projection Mapping 101 (Pixera) |
| Warping tools and workflow | Warping tools and workflow |
| Soft edge / edge blending | Soft edge / edge blending |
| Marker calibration (deep dive) | Marker calibration (deep dive) |
| Calibration algorithm taxonomy | Calibration algorithm taxonomy |
| View-cone marker recommendation method | View-cone marker recommendation method |
| Camera-based (VIOSO) calibration | Camera-based (VIOSO) calibration |
| Pixera parameter reference | Pixera parameter reference |
| Glossary | Glossary |
| API: controllable vs UI-only | API: controllable vs UI-only |
| Pixera status | Connection state and API revision |
| Projectors | Names of projectors in the current project |
| Screens | Names of screens in the current project |
TDQS
Scored across 47 tools
Most tools target clearly distinct actions and resources, and descriptions explain the differences. However, there are several near-duplicate variants (timeline transport by index vs by name, cue by index vs by number, list vs list_detailed) and multiple validate/recommend tools that could invite misselection.
Every tool uses the same pixera_ prefix and a consistent snake_case verb_noun pattern, with predictable suffixes such as _by_name, _by_number, and _detailed. The naming is highly uniform throughout the set.
With 47 tools, the server is far above the typical well-scoped range and many tools are thin wrappers around single API calls. The surface would benefit from consolidation, especially around timeline transport, cue firing, and calibration helpers.
The tool set covers the full Pixera projection-mapping workflow: project load/save, screens, projectors, calibration, mapping/warp, timelines, cues, resources, outputs, monitoring, and offline API discovery. The generic pixera_call tool also provides an escape hatch for any missing API method.