Skip to main content
Glama

Second Life MCP

Offline MCP tools for Second Life LSL and SLua: API reference, caveats, migration guidance and optional local compilation. Includes 1,640 LSL and 1,993 SLua records from pinned official sources.

Install

Requires Python 3.11+. Install the 1.0.0 release in your Python environment:

python -m pip install https://github.com/voidel/second-life-mcp/releases/download/v1.0.0/second_life_mcp-1.0.0-py3-none-any.whl

The release includes a source archive and SHA-256 checksums. The package is not published to PyPI. Normal use requires no network, credentials or Second Life account.

Related MCP server: ACE-MCP

Connect

Add this to your MCP client's configuration, replacing the interpreter path:

{
  "mcpServers": {
    "second-life": {
      "command": "/absolute/path/to/.venv/bin/python",
      "args": ["-m", "second_life_mcp"]
    }
  }
}

On Windows, use the environment's Scripts\python.exe. Client-specific examples: Claude Code and VS Code.

The server uses stdio and waits for MCP requests. Use lsl_mcp or slua_mcp instead of second_life_mcp for a single language. Console commands are second-life-mcp, lsl-mcp and slua-mcp.

Tools

Tool names start with lsl_ or slua_. All are read-only.

Suffix

Purpose

reference_status

Coverage, source revisions and review dates

lookup_symbol

Exact signature, parameter semantics, source and caveats

search_reference

Literal search with filters and pagination

check_code

Lexical diagnostics with line and column

compile_code

Optional local compilation and SLua type checking

get_guidance

Reviewed pitfalls by topic

migration_guidance

LSL/SLua API and behavior comparisons

Examples:

  • slua_lookup_symbol: {"name":"LLTimers:every"}

  • lsl_migration_guidance: {"symbol":"llSetTimerEvent"}

  • lsl_get_guidance: {"topic":"async-recovery"}

Status is also available through lsl://status and slua://status resources. Lookups include index origins, enum/boolean semantics, permissions and provenance where verified. Unknown symbols are not automatically corrected or declared invalid.

Compiler setup

second-life-toolchains --output-dir .toolchains

This downloads the hash-pinned SLua v0.732.17 compiler and luau-lsp 1.70.1 analyzer for Windows/Linux x86-64. Set SECOND_LIFE_MCP_TOOLCHAINS in your MCP host's environment to the absolute .toolchains/toolchains.json path.

LSL uses SLua's LSL compiler frontend; SLua uses compilation and optional type analysis against the bundled official definitions. Checks are time-limited, verify executable hashes and never execute submitted code. Single-file checks do not resolve imports. No compiler is downloaded during MCP requests.

Limits and sources

check_code is lexical, not compilation. It does not establish types, callback lifecycles or runtime safety; SLua backtick interpolation bodies are not inspected. Compilation also cannot verify simulator timing, memory, throttles or rendering. Empty caveats do not prove safety, and a null delay means unknown. Confirm SLua viewer/region support before deployment.

References use the Second Life Wiki, creation documentation and pinned official definitions. Import dates and manual review dates are recorded separately.

Development

python -m pip install uv==0.13.7
uv sync --locked --extra dev
uv run --no-sync python -m pytest
uv run --no-sync second-life-evaluate
uv run --no-sync python -m build

For compiler and fixed native-runtime tests, fetch the toolchains above and set SECOND_LIFE_MCP_TOOLCHAINS and SECOND_LIFE_MCP_TEST_RUNTIME to the absolute toolchains.json and test-runtime.json paths. CI tests Windows/Linux with Python 3.11–3.13. Evaluations exercise real MCP transport, not in-world behavior.

second-life-source-audit checks upstream fingerprints. To prepare a reviewable reference update without changing bundled data:

second-life-update --output-dir candidate --cache-dir .source-cache

Review candidates before applying them. See contributing and data attribution.

Release 1.0.0

  • Canonical index, enum and boolean semantics, permissions and purity metadata.

  • Expanded SLua migration guidance and behavior caveats.

  • Native semantic regressions and stable wheel/source releases with checksums.

Available Tools

14 tools
lsl_check_codeA
Read-onlyIdempotent

Run language-specific lexical checks; this is not compilation or type checking.

Inputs: code (required). Returns: object

lsl_compile_codeA
Read-onlyIdempotent

Run configured, hash-pinned local compilers; never execute submitted scripts. Separate from lexical checks.

Inputs: code (required). Returns: object

lsl_get_guidanceB
Read-onlyIdempotent

Read source-backed pitfalls and LSL-to-SLua migration notes by topic.

Inputs: topic. Returns: object

lsl_lookup_symbolA
Read-onlyIdempotent

Exact, case-sensitive symbol lookup with official source, caveats and review date.

Inputs: name (required). Returns: object

lsl_migration_guidanceA
Read-onlyIdempotent

Review exact per-API counterparts and event, timer, table, numeric and conversion differences. No automatic source rewriting.

Inputs: topic, symbol. Returns: object

lsl_reference_statusB
Read-onlyIdempotent

Report source-scoped reference coverage, revisions and manual review dates.

Inputs: no named parameters. Returns: object

lsl_search_referenceB
Read-onlyIdempotent

Literal word search with deterministic ranking and bounded pagination.

Inputs: query (required), kind, limit, offset. Returns: object

slua_check_codeA
Read-onlyIdempotent

Run language-specific lexical checks; this is not compilation or type checking.

Inputs: code (required). Returns: object

slua_compile_codeA
Read-onlyIdempotent

Run configured, hash-pinned local compilers; never execute submitted scripts. Separate from lexical checks.

Inputs: code (required). Returns: object

slua_get_guidanceB
Read-onlyIdempotent

Read source-backed pitfalls and LSL-to-SLua migration notes by topic.

Inputs: topic. Returns: object

slua_lookup_symbolA
Read-onlyIdempotent

Exact, case-sensitive symbol lookup with official source, caveats and review date.

Inputs: name (required). Returns: object

slua_migration_guidanceC
Read-onlyIdempotent

Review exact per-API counterparts and event, timer, table, numeric and conversion differences. No automatic source rewriting.

Inputs: topic, symbol. Returns: object

slua_reference_statusB
Read-onlyIdempotent

Report source-scoped reference coverage, revisions and manual review dates.

Inputs: no named parameters. Returns: object

slua_search_referenceC
Read-onlyIdempotent

Literal word search with deterministic ranking and bounded pagination.

Inputs: query (required), kind, limit, offset. Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 14 tools

    Disambiguation4/5

    Within each language family the seven operations are clearly distinct (status, lookup, search, lexical check, compile, guidance, migration guidance). The main risk is cross-family confusion: lsl_* and slua_* pairs are near-identical apart from the language, so an agent unsure which language a snippet belongs to could misselect. Guidance and migration_guidance also overlap conceptually as 'read source-backed notes'.

    Naming Consistency5/5

    Every tool follows the same {language}_{verb}_{noun} pattern, with parallel naming across LSL and SLua (lookup_symbol, search_reference, check_code, compile_code, get_guidance, migration_guidance). No stylistic drift or mixed conventions.

    Tool Count4/5

    14 tools sits comfortably in the well-scoped 3-15 range. The count is inflated only by exact duplication across two symmetric language families, which is defensible but means there are effectively seven distinct operations.

    Completeness4/5

    The surface covers the plausible workflow: reference status, symbol lookup, search, lexical checks, compilation, guidance, and migration mapping. Minor gaps: no way to enumerate available guidance topics or browse/list symbols, so discovery relies entirely on search and exact lookup.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Exposes Language Server Protocol (LSP) tools such as diagnostics, goto definition, find references, symbols, and rename as a stdio MCP server.
      8
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI clients to perform local code search, indexing, and analysis across Java, JavaScript/TypeScript, .NET/C#, and Python projects through the MCP protocol.
      1
      Apache 2.0
    • F
      license
      Not graded
      quality
      D
      maintenance
      A single MCP server that bridges to any LSP, enabling code intelligence features like hover, go-to-definition, references, and diagnostics for multiple languages via configurable language servers.
      1
      -
    • F
      license
      Not graded
      quality
      B
      maintenance
      Enables MCP clients to analyze call graphs, run Grover-ranked code searches, generate boundary test cases, get refactoring suggestions, and inspect quantum backends through stdio JSON-RPC tools.
      2
      -