Skip to main content
Glama
bbernstein

LacyLights MCP Server

by bbernstein

list_fixtures

List fixtures with pagination and filtering; returns basic metadata, DMX addressing, and tags, not full channel details.

Instructions

List fixtures in a project with pagination and filtering.

Returns lightweight fixture information:

  • Basic metadata (id, name, manufacturer, model, type)

  • DMX addressing (universe, startChannel, channelCount)

  • Tags

Does NOT include:

  • Full channel definitions (use get_fixture for that)

  • Look usage (use get_fixture_usage)

Pagination:

  • Default: 50 items per page

  • Max: 100 items per page

  • Use pagination.hasMore to check if more results exist

Filtering:

  • type: Filter by fixture type (LED_PAR, MOVING_HEAD, etc.)

  • universe: Filter by DMX universe

  • tags: Filter by tags (array)

  • manufacturer: Filter by manufacturer name

  • model: Filter by model name

Example workflow:

  1. list_fixtures(projectId, page=1) - Get first page

  2. If pagination.hasMore, call with page=2, etc.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default: 1)
filterNoOptional filters to apply
perPageNoItems per page (default: 50, max: 100)
projectIdYesProject ID to list fixtures from

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.7.0

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It discloses pagination defaults (50) and caps (100), the hasMore termination signal, and exactly what is and is not returned. It stops short of stating permission/auth requirements or sort order, which leaves a small gap for a zero-annotation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Strongly front-loaded with labeled sections (Returns, Does NOT include, Pagination, Filtering) and no filler prose. Minor redundancy: the example workflow repeats pagination details already given in the Pagination section.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description fully compensates by enumerating returned fields, exclusions, pagination semantics, and filter dimensions. Nothing an agent needs to call this correctly appears to be missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents page, perPage, projectId and every filter field. The filtering section largely restates the schema enum and field list, adding only marginal meaning (it explicitly frames filter as optional and enumerates example types). Baseline 3 is correct when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List fixtures in a project') and immediately narrows scope with 'with pagination and filtering'. It names the siblings it is not (get_fixture for channel definitions, get_fixture_usage for look usage), so an agent can distinguish it without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use routing to get_fixture and get_fixture_usage, plus a concrete pagination loop workflow (page=1, check pagination.hasMore, page=2). The conditions that select this tool over alternatives are stated, not inferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools