MCP
Connect your preferred MCP-compatible development tool to the s&box docs server.
Use MCP when your IDE or agent supports MCP servers.
In development
This feature is still in development and may not work yet, or may behave differently than intended.
1) Configure your preferred tool
Install with one click from Visual Studio Code:
Install in VS CodeOr paste this in your Visual Studio Code MCP settings:
{
"servers": {
"sdocs": {
"url": "https://sdocs.suiram.dev/api/v1/mcp",
"type": "http"
}
}
}Install with one click:
Add to CursorOr paste this in your Cursor MCP settings:
{
"mcpServers": {
"sdocs": {
"url": "https://sdocs.suiram.dev/api/v1/mcp"
}
}
}In your tool's MCP settings (Windsurf, Cline, Zed, Claude Desktop, and similar), register an HTTP MCP server that points to:
https://sdocs.suiram.dev/api/v1/mcp2) Restart your tool
After saving the config, restart your IDE/agent so it can discover the sdocs MCP server.
3) Verify with a quick prompt
Search for `Sandbox.Component`, inspect its members, then show the exact signature for `OnUpdate`.Advanced
The MCP server now behaves like a typical SDK documentation server rather than a generic docs search endpoint. It exposes a small set of structured tools that let an AI agent progressively discover the s&box API using the standard workflow:
- Search
- Inspect
- Read details
In practice, an agent will usually:
- Call
search_docsto find the most relevant symbols for a question - Call
resolve_symbolif a short name likeComponentorSceneis ambiguous - Call
get_symbolorget_type_membersto inspect a resolved type - Call
get_method_detailsto inspect one exact overload - Call
get_exampleswhen sample code is needed - Call
list_namespaceswhen exploring the API tree from the top down
This makes the s&box documentation MCP feel closer to a .NET API browser, where namespaces, types, and members are returned in a predictable structure instead of as raw page text.
Tool Reference
search_docs
Use this first. It performs keyword or semantic search across the indexed s&box API docs.
Typical input:
{
"query": "component update loop",
"kind": "method",
"typeName": "Sandbox.Component",
"limit": 5
}Typical output:
- Ranked results
- Each result includes a structured symbol summary
- Common fields include symbol id, fully-qualified name, kind, signature, URL, score, and summary text
Example use:
- Find methods related to
Sandbox.Component - Search for
Ray,SceneTrace, orGameObjectby concept instead of exact id
resolve_symbol
Use this when a type name is short, incomplete, or ambiguous. It resolves names to fully-qualified API types.
Typical input:
{
"name": "Component",
"limit": 5
}Typical output:
- Matching types only
- Fully-qualified names such as
Sandbox.Component - Type metadata such as namespace, kind, and symbol id
Example use:
- Resolve
Componentbefore inspecting members - Narrow
SceneorTransformto the exact s&box type you need
get_symbol
Use this to inspect one resolved symbol. It returns structured metadata for a type or exact member reference.
Typical input:
{
"symbol": "Sandbox.Component"
}Typical output:
- Namespace and declaring type
- Symbol kind such as class, struct, enum, method, or property
- Signature and summary
- URLs, inheritance or declaration context when available
Example use:
- Read the summary for
Sandbox.Component - Inspect a property or exact member after resolving its symbol id
get_type_members
Use this after get_symbol when you want to browse what a type exposes.
Typical input:
{
"symbol": "Sandbox.Component",
"kind": "method",
"limit": 20
}Typical output:
- Member list for the target type
- Constructors, methods, or properties
- Structured rows with name, member kind, signature, summary, and symbol id
Example use:
- List lifecycle methods on
Sandbox.Component - Enumerate properties on a struct or class before asking about one specific member
get_method_details
Use this when you already know the method you want and need the exact overload details.
Typical input:
{
"symbol": "Sandbox.Component.OnUpdate()"
}Typical output:
- Exact method signature
- Parameters with names, types, and documentation
- Return type and return documentation
- Exceptions or related notes when indexed
Example use:
- Inspect
Sandbox.Component.OnUpdate() - Read the parameters for a trace, spawn, or utility method overload
get_examples
Use this to fetch code examples attached to a symbol. This is useful when an agent needs usage patterns instead of just signatures.
Typical input:
{
"symbol": "Sandbox.Component.OnUpdate()",
"includeRelated": true
}Typical output:
- Direct examples for the symbol when available
- Optionally related examples from the declaring type
- Structured example snippets with source context
Example use:
- Get examples for a method override
- Fall back to type-level examples when a member has no dedicated sample
list_namespaces
Use this to explore the API hierarchy from the top down.
Typical input:
{
"namespace": "Sandbox",
"limit": 50
}Typical output:
- Child namespaces
- Types defined in the namespace
- Structured namespace and type summaries for navigation
Example use:
- Explore what lives under
Sandbox - Discover related namespaces before searching deeper
Resources
The MCP server also exposes canonical docs:// resources for agents that
already know the exact target they want to load. These resources complement the
tools:
- Use tools for discovery
- Use resources for deterministic page loading
Available resource patterns:
docs://schemadocs://namespace/rootdocs://namespace/{name}docs://type/{full_name}docs://member/{full_name}
Examples:
docs://namespace/Sandbox
docs://type/Sandbox.Component
docs://member/Sandbox.Component.OnUpdateResources return structured JSON-style documentation pages. Depending on the resource, this can include:
- Summary and description
- Exact signatures and declarations
- Parameters, return types, and return documentation
- Examples
- Child namespaces, member listings, and related resource links
Typical usage:
- Use
search_docsorresolve_symbolto identify the canonical symbol - Read the matching
docs://type/...ordocs://member/...resource - Use the structured resource payload as the canonical page for that API element
How Agents Use It
For a question like "How do I update a custom component every frame?", a well behaved agent will usually:
- Use
search_docswith a query likecomponent update every frame - Use
resolve_symbolif it needs to confirmComponentmeansSandbox.Component - Use
get_symbolto inspect the type summary - Use
get_type_membersto find lifecycle members such asOnUpdate - Read
docs://member/Sandbox.Component.OnUpdateto load the canonical member page - Use
get_method_detailsorget_exampleswhen it needs an extra focused lookup
That is the intended MCP interaction model: search broadly, inspect the right symbol, then read exact member details or the canonical resource page.