Koskamo

GDTF Stage Studio MCP

An official MCP server provided by the vendor of GDTF Stage Studio that allows AI agents to search for lighting fixtures, retrieve detailed fixture information including DMX modes, generate GDTF downloads, and prepare or generate MVR export files for stage lighting designs.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

GDTF Stage Studio MCP logo, by SOH Sound & Lights s.r.o.Vendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-07Operated by SOH Sound & Lights s.r.o.
MCP endpoint (Streamable HTTP)
https://gdtf-lights.com/mcp/dmx-to-gdtf
Vendor documentation

What its tools do

1 tool, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

Read-only (1)

1 of 1 have a description · 1 of 1 declare behavior hints · 0 of 1 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to gdtf-lights.com ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Identify lighting fixtures from DMX channel lists
  • Search fixture catalog with filters
  • Generate MVR export files for stage designs
  • Retrieve GDTF profile downloads

Source and maintenance

Vendor evidenceRegistry 1.5.0

Protocol and capabilities

Server
gdtf-lights-dmx-to-gdtf 1.5.0
MCP protocol negotiated in check
2025-11-25
Tools
1 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Identifies lighting fixtures by their DMX channel layout in the GDTF Stage Studio library (https://gdtf-lights.com) of 10500+ fixtures with GDTF profiles, run by SOH Sound & Lights s.r.o., Prague. Give match_dmx_channels the channel names in DMX order from address 1 (from a manual, a console, a fixture-profile TXT or a photo the person describes). It returns the best matching fixtures with score 0-100 and the matched DMX mode, with links to the fixture page and the .gdtf file. With confidence low or same_score_count above 1 say the result is uncertain and ask for the manufacturer or DMX values. Tool errors carry a machine code (code) and, when waiting helps, retry_after_seconds. One JSON-RPC message per POST. Catalog language follows the endpoint URL: English by default; ?lang=cs, de or es. The site publishes no prices or stock. Privacy: https://gdtf-lights.com/api#privacy. Full rules: https://gdtf-lights.com/llms.txt

Tools

1 advertised

match_dmx_channels — Identify fixture by DMX channels
Advertised by the server during the last successful anonymous check.
Advertised read-only

Finds the fixtures whose GDTF profile matches a DMX channel list and the matched DMX mode: channel names in DMX order from address 1 (English, Czech, German or Spanish; abbreviations, synonyms and typos are understood), as in a manual, on a console or in a fixture-profile TXT. Give channels (a list) or text (a pasted list, or a TXT with one or more modes; rows such as "Shutter;0;Closed;32;Open" add DMX values as a tie-breaker). Returns up to limit fixtures with score 0-100, the matched GDTF mode (mode.name and mode.channels), links to the fixture page (url) and the .gdtf file (gdtf_url), confidence and same_score_count (several fixtures with the same layout: ask for the manufacturer or DMX values). Same search as https://gdtf-lights.com/dmx-to-gdtf. Limit per IP: 20000 searches a day and 300 a minute, shared with the JSON API of that page; 500 a minute and 10000 an hour for all API and MCP clients together.

match_dmx_channels input schema
{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "maxLength": 100000,
      "description": "Instead of channels: a pasted channel list (one per line, numbered or comma-separated) or a fixture-profile TXT (***mode:N***, --- Mode: ---, ##Name;N##)"
    },
    "limit": {
      "type": "integer",
      "default": 5,
      "maximum": 10,
      "minimum": 1
    },
    "channels": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 120
      },
      "maxItems": 512,
      "minItems": 1,
      "description": "Channel names in DMX order, address 1 first, e.g. [\"Pan\", \"Pan fine\", \"Tilt\", \"Tilt fine\", \"Dimmer\", \"Shutter\", \"Color wheel\", \"Gobo\"]; use \"Empty\" for an unused address"
    },
    "include_diff": {
      "type": "boolean",
      "default": false,
      "description": "Add for each match the DMX addresses that differ (your channel vs the fixture channel)"
    },
    "manufacturer": {
      "type": "string",
      "maxLength": 100,
      "description": "Only fixtures of this manufacturer; part of the name is enough, e.g. \"Robe\""
    }
  },
  "additionalProperties": false
}
match_dmx_channels output schema
{
  "type": "object",
  "anyOf": [
    {
      "type": "object",
      "required": [
        "input",
        "indexed",
        "confidence",
        "same_score_count",
        "matches",
        "page_url"
      ],
      "properties": {
        "note": {
          "type": "string"
        },
        "input": {
          "type": "object",
          "required": [
            "modes"
          ],
          "properties": {
            "modes": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "channels"
                ],
                "properties": {
                  "name": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "channels": {
                    "type": "integer"
                  }
                }
              }
            },
            "fixture_name": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        },
        "scored": {
          "type": "integer"
        },
        "indexed": {
          "type": "integer"
        },
        "matches": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "rank",
              "id",
              "name",
              "score",
              "url",
              "add_to_my_list_url"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "diff": {
                "type": "object"
              },
              "mode": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "name": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "in_gdtf": {
                    "type": "boolean"
                  },
                  "channels": {
                    "type": "integer"
                  }
                }
              },
              "name": {
                "type": "string"
              },
              "rank": {
                "type": "integer"
              },
              "image": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "score": {
                "type": "integer",
                "maximum": 100,
                "minimum": 0
              },
              "gdtf_url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "input_mode": {
                "type": [
                  "object",
                  "null"
                ]
              },
              "manufacturer": {
                "type": "string"
              },
              "mvr_export_url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "value_channels": {
                "type": "integer"
              },
              "value_agreement": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "channels_matched": {
                "type": [
                  "object",
                  "null"
                ]
              },
              "add_to_my_list_url": {
                "type": "string"
              }
            }
          }
        },
        "page_url": {
          "type": "string"
        },
        "confidence": {
          "enum": [
            "high",
            "medium",
            "low",
            "none"
          ],
          "type": "string"
        },
        "elapsed_ms": {
          "type": "number"
        },
        "same_score_count": {
          "type": "integer"
        },
        "ignored_arguments": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "manufacturer_filter": {
          "type": "string"
        },
        "same_score_count_is_minimum": {
          "type": "boolean"
        }
      }
    },
    {
      "type": "object",
      "required": [
        "error",
        "code"
      ],
      "properties": {
        "code": {
          "enum": [
            "invalid_argument",
            "fixture_not_found",
            "no_gdtf",
            "unknown_layout",
            "unknown_visualizer",
            "unknown_template",
            "templates_disabled",
            "invalid_layout_params",
            "invalid_scene",
            "job_unknown",
            "forbidden_origin",
            "rate_day",
            "rate_minute",
            "rate_global",
            "rate_storage",
            "busy",
            "server_busy",
            "unavailable",
            "template_unavailable",
            "invalid_job",
            "server_error"
          ],
          "type": "string"
        },
        "error": {
          "type": "string"
        },
        "errors": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "warnings": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "candidates": {
          "type": "array",
          "items": {
            "type": "object"
          }
        },
        "parameters": {
          "type": "string"
        },
        "allowed_layouts": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "mvr_export_page": {
          "type": "string"
        },
        "allowed_templates": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "allowed_visualizers": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "retry_after_seconds": {
          "type": "integer",
          "minimum": 0
        }
      }
    }
  ]
}
match_dmx_channels annotations
{
  "title": "Identify fixture by DMX channels",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
681 ms
95th percentile latency
681 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 681 ms · metadata changed · 1 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http gdtf-stage-studio-mcp https://gdtf-lights.com/mcp/dmx-to-gdtf

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add gdtf-stage-studio-mcp --url https://gdtf-lights.com/mcp/dmx-to-gdtf

Cursor

Merge this server into .cursor/mcp.json in your project, then enable gdtf-stage-studio-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "gdtf-stage-studio-mcp": {
      "url": "https://gdtf-lights.com/mcp/dmx-to-gdtf"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "gdtf-stage-studio-mcp": {
      "type": "streamableHttp",
      "url": "https://gdtf-lights.com/mcp/dmx-to-gdtf",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start gdtf-stage-studio-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "gdtf-stage-studio-mcp": {
      "type": "http",
      "url": "https://gdtf-lights.com/mcp/dmx-to-gdtf"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http gdtf-stage-studio-mcp https://gdtf-lights.com/mcp/dmx-to-gdtf

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://gdtf-lights.com/mcp/dmx-to-gdtf

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "gdtf-stage-studio-mcp": {
      "serverUrl": "https://gdtf-lights.com/mcp/dmx-to-gdtf"
    }
  }
}

Let your agent find its tools

Find servers like GDTF Stage Studio MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run GDTF Stage Studio MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing