Skip to main content
Glama
sbox-mcp-documentation

sbox-mcp-documentation

sbox-mcp-documentation

npm version License: MIT

An MCP (Model Context Protocol) server that provides AI assistants with searchable access to the full s&box game engine documentation — 180+ pages of guides, tutorials, and concepts — plus the complete API reference with 1,800+ types and 15,000+ members.

Quick Start

No installation required — use npx directly in your MCP config:

{
    "servers": {
        "sbox-docs": {
            "type": "stdio",
            "command": "npx",
            "args": ["-y", "sbox-mcp-documentation"]
        }
    }
}

Or install globally:

npm install -g sbox-mcp-documentation

Related MCP server: Dedalus MCP Documentation Server

Features

Documentation

  • Full-text search across all s&box documentation with fuzzy matching and relevance ranking

  • Direct page retrieval with chunked reading for large pages

  • Category browsing to discover available documentation topics

API Reference

  • API type search across 1,800+ public types (classes, structs, enums, interfaces) with member-aware ranking

  • Detailed type lookup — methods, properties, fields, events, XML doc comments, and inheritance info

  • Chunked output for large types so no detail is truncated

General

  • Automatic caching — docs cached for 4 hours, API schema cached for 24 hours

  • Background indexing on startup — both subsystems ready within seconds

  • Built-in self-tests to verify the server is working correctly

Data Sources

Documentation

Documentation is fetched from the official s&box wiki via the LLM-optimized index at sbox.game/llms.txt. This file lists all available documentation pages, and each page is fetched as raw Markdown from sbox.game/dev/doc/{page}.md. The server crawls all listed pages and builds a local search index using MiniSearch.

API Reference

The API schema is downloaded from the Facepunch CDN as a JSON file (the same data powering sbox.game/api). It contains all public types from the s&box assembly — 1,800+ types with full member signatures, XML doc comments, and inheritance info. The server strips internal/compiler-generated types and indexes everything with MiniSearch for fast fuzzy lookup.

Installation

No install needed. Just reference npx sbox-mcp-documentation in your MCP configuration (see below).

Option 2: Global install

npm install -g sbox-mcp-documentation

Option 3: From source

git clone https://github.com/fiedlermarius/sbox-mcp-documentation.git
cd sbox-mcp-documentation
npm install
npm run build

Configuration

VS Code (GitHub Copilot)

Add to .vscode/mcp.json in your workspace:

{
    "servers": {
        "sbox-docs": {
            "type": "stdio",
            "command": "npx",
            "args": ["-y", "sbox-mcp-documentation"]
        }
    }
}

Cursor

Add to .cursor/mcp.json:

{
    "mcpServers": {
        "sbox-docs": {
            "command": "npx",
            "args": ["-y", "sbox-mcp-documentation"]
        }
    }
}

Claude Desktop

Add to your Claude Desktop config (%APPDATA%/Claude/claude_desktop_config.json on Windows):

{
    "mcpServers": {
        "sbox-docs": {
            "command": "npx",
            "args": ["-y", "sbox-mcp-documentation"]
        }
    }
}

Local Checkout Example

If you want to use a local checkout instead of npx, update your configuration as follows:

{
    "servers": {
        "sbox-docs": {
            "type": "stdio",
            "command": "node",
            "args": ["<path-to-repo>/dist/index.js"]
        }
    }
}

As shown above, you need to replace "command": "npx" and "args" with "command": "node" and "args": ["<path-to-repo>/dist/index.js"].

Tools

Tool

Description

sbox_search_docs

Search documentation with fuzzy matching. Returns titles, URLs, categories, and relevant snippets. Supports category filtering and result limits.

sbox_get_doc_page

Fetch a specific documentation page as Markdown. Supports chunked reading via start_index and max_length for large pages.

sbox_list_doc_categories

List all documentation categories with page counts. Useful for discovering what topics are available.

sbox_search_api

Search the s&box API reference by type name, namespace, or keyword. Returns matching types with namespace, description, and top member names.

sbox_get_api_type

Get full details for a specific API type — all methods, properties, fields, events, XML doc comments, and inheritance. Supports chunked output for large types.

sbox_cache_status

Show cache and index health — page counts, freshness, and whether both docs and API indexing are complete.

sbox_run_tests

Run built-in self-tests for all six modules (cache, search, crawler — docs and API). Returns pass/fail results per test case.

Architecture

sbox.game/llms.txt (doc index)            cdn.sbox.game (AssemblySchema JSON)
        │                                           │
        ▼                                           ▼
   DocCrawler ──► GET /llms.txt             ApiCrawler ──► resolves schema URL
        │         GET /dev/doc/*.md               │         downloads + filters types
        │                                           │
        ▼                                           ▼
     DocCache ──► ~/.sbox-docs-mcp/cache/       ApiCache ──► ~/.sbox-docs-mcp/cache/
        │        manifest.json (TTL 4h)              │        api-types.json (TTL 24h)
        │                                           │
        ▼                                           ▼
   DocSearch ──► MiniSearch index            ApiSearch ──► MiniSearch index
                 title (3x), category (2x),              name (4x), fullName (3x),
                 content (1x)                            members (2x), namespace (1.5x)

Cache Behavior

  • Location: ~/.sbox-docs-mcp/cache/

  • Docs TTL: 4 hours (configurable via SBOX_DOCS_CACHE_TTL env var, in seconds)

  • API TTL: 24 hours — the schema is large (~9 MB) and changes infrequently

  • Custom directory: Set SBOX_DOCS_CACHE_DIR env var

  • Both caches are populated on server startup in the background

  • Set SBOX_API_SCHEMA_URL to pin a specific schema version

License

MIT

Available Tools

7 tools
sbox_cache_statusA

Show the current status of the documentation cache and search index. Use this to verify the MCP server is running and has indexed documentation.

Inputs: no named parameters.

sbox_get_api_typeA

Get full API reference for a specific s&box type: all public methods, properties, fields, and their signatures and descriptions. Accepts short names (e.g. 'Component') or fully-qualified names (e.g. 'Sandbox.Component').

Inputs: name (required), max_length, start_index.

sbox_get_doc_pageA

Fetch a specific s&box documentation page and return its content as Markdown. Supports chunked reading for large pages via start_index and max_length.

Inputs: url (required), max_length, start_index.

sbox_list_doc_categoriesA

List all available s&box documentation categories with page counts. Use this to discover what documentation is available before searching.

Inputs: no named parameters.

sbox_run_testsB

Run built-in self-tests for the cache, search index, and crawler. Returns pass/fail results for each test case.

Inputs: no named parameters.

sbox_search_apiA

Search the s&box API reference for classes, structs, interfaces, and their members. Returns matching types with descriptions and member names. Use sbox_get_api_type to get full details for a specific type.

Inputs: query (required), limit.

sbox_search_docsB

Search s&box documentation for guides, tutorials, and concepts. Returns matching pages with titles, URLs, and relevant snippets.

Inputs: query (required), limit, category.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A3.8/5.0

    Scored across 7 tools

    Disambiguation4/5

    The tools are mostly distinct: search_api vs search_docs clearly separate API reference from general documentation, and get_api_type vs get_doc_page are both retrieval operations but target different content types. list_doc_categories, cache_status, and run_tests are clearly distinct. The only mild ambiguity is between search_api and get_api_type, but their descriptions (search vs get full details) resolve it well.

    Naming Consistency4/5

    All tools follow a consistent 'sbox_' prefix convention. The verbs are mixed but predictable: search_* for discovery, get_* for retrieval, list_* for enumeration, cache_status and run_tests are noun-phrase operational commands. The naming is coherent and per-purpose, though not a uniform verb_noun pattern across all tools.

    Tool Count5/5

    Seven tools is well within the ideal 3-15 range. Each tool serves a distinct purpose: two search operations, two retrieval operations, one listing operation, and two diagnostic/status tools. This is appropriate for a documentation MCP server covering both API reference and guides.

    Completeness4/5

    The server covers documentation search (search_docs), API reference lookup (search_api, get_api_type), page retrieval (get_doc_page), discovery (list_doc_categories), and operational diagnostics (cache_status, run_tests). This is a reasonably complete surface for a documentation server. Minor gaps include no direct 'get category' operation and no way to list all API types without searching, but these are workable.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers