lsl-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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 |
|---|---|
| lookup_functionA | Look up an LSL function by name. Returns the full function record: signature, parameters, return type, delay, energy cost, caveats, examples, related functions, and any known AI-specific pitfalls associated with this function. Falls back to fuzzy matching if the exact name is not found, and returns a 'did_you_mean' list when no match exists at all — helping catch hallucinated function names. Args: name: Function name, e.g. "llListen" or "llReplaceSubString". |
| search_functionsA | Full-text search across LSL function names and descriptions. Use when you know roughly what a function does but not its exact name. Returns a ranked summary list — call lookup_function for the full record. Args: query: Keywords or natural language, e.g. "listen channel message" or "set prim texture face". limit: Maximum results to return (default 10, max 25). |
| get_pitfallsA | Return known LSL pitfalls for AI coding assistants. Call with no arguments for a full briefing before starting an LSL task. Filter by category or by which AI tool produced the mistake. Args: category: reserved_words | nonexistent_functions | unsupported_syntax | scoping | type_coercion | state_behavior ai_source: kiro | claude-code | both |
| check_codeA | Scan an LSL code snippet for known AI-generated pitfalls. Checks for nonexistent function calls, unsupported syntax (ternary operators, switch statements), reserved words used as variable names, and other patterns from the pitfalls database. Call this on any LSL you generate before presenting it to the user. Returns line numbers and suggestions for each issue found. Args: code: Raw LSL source code as a string. |
| list_eventsA | Return valid LSL event signatures. Call with no arguments to get all events and verify an event name exists. Call with a name to get the full signature and parameter details. Args: name: Optional event name, e.g. "listen" or "touch_start". Omit to return all events. |
| get_constantsA | Return LSL constants, optionally filtered by category or name. Call with no arguments to see available categories and total count. Use category to browse a group (e.g. "permissions", "prim_params"). Use name for a direct lookup (e.g. "NULL_KEY", "PERMISSION_TAKE_CONTROLS"). Args: category: Optional category filter. See response for valid categories. name: Optional exact constant name. Takes precedence over category. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool targets a distinct aspect of LSL development: code checking, constants, pitfalls database, events, function lookup by name, and full-text search. No two tools have overlapping purposes, and descriptions clearly differentiate them.
All tool names follow a consistent verb_noun pattern in lowercase snake_case (e.g., check_code, lookup_function). The naming is predictable and easy to understand.
With 6 tools, the server is well-scoped for assisting with LSL code. Each tool provides essential functionality without unnecessary bloat. The count feels appropriate for the domain.
The tool set covers the core needs for LSL development: checking for pitfalls, exploring constants, events, and functions. Missing features like syntax guidance are mitigated by detailed returns from lookup_function and search_functions.