Using AI tools (MCP)
The Open Play MCP (Model Context Protocol) server lets your AI assistant answer questions such as “how do I sign in a guest”, “how do I save player data” or “how do I call a plugin” from the official documentation on this site and from the SDK API, instead of guessing. The server is read-only: it never touches your Open Play server or your keys; the docs and the SDK index are read only from the public docs site.
Installation
Hosted server (recommended)
Connect to https://open-play.b4klabs.dev/mcp without installing anything (Streamable HTTP, read-only, no authentication):
claude mcp add --transport http open-play https://open-play.b4klabs.dev/mcp
For Cursor add this to .cursor/mcp.json, for VS Code to .vscode/mcp.json (use the key servers instead of mcpServers there):
{
"mcpServers": {
"open-play": {
"url": "https://open-play.b4klabs.dev/mcp"
}
}
}
The server loads the docs and SDK index from https://open-play.b4klabs.dev/docs/mcp/index.json; the index is rebuilt together with the docs site, so you do not need to update the server when a page is published.
Local package
If you prefer a local process over the network, the package @ferdiunal/open-play-mcp is published on GitHub Packages (source: ferdiunal/open-play-mcp). Add the line @ferdiunal:registry=https://npm.pkg.github.com and a GitHub token with read:packages to your user .npmrc (never write the token into docs or a repository), then:
claude mcp add open-play -- npx -y @ferdiunal/open-play-mcp
For Cursor and VS Code use "command": "npx" and "args": ["-y", "@ferdiunal/open-play-mcp"]. The local package loads the same index from the live address; without a network it falls back to its last cache, and then to the snapshot bundled in the package.
Tools
Tool names and descriptions are in English; pass lang: "tr" to get the Turkish page content (the default is en).
| Tool | What it does | Example input |
|---|---|---|
search_docs | Searches the docs; scoring runs title, then headings, then body; returns the page id, description and public URL | {"query": "guest sign in"} |
read_doc | Returns the full markdown of one page (at most 40,000 characters) | {"page": "auth/guest"} |
list_docs | Lists page ids and titles; section limits it to one section | {"section": "auth"} |
search_sdk | Searches type, function and member names in the TypeScript and Unity SDKs | {"query": "signInGuest", "sdk": "typescript"} |
get_sdk_symbol | Returns the signature, summary and members of a type; the Type.Member form is supported | {"name": "PlayerSession", "sdk": "unity"} |
Every doc page is also a resource at open-play-docs://<lang>/<page> (for example open-play-docs://en/auth/guest), and a prompt named integrate_open_play (platform: web, unity or server) returns integration steps and the right page links.
Limit: The Unity API index is extracted from the C# source by a lightweight parser; details such as inheritance and generic type parameters may be missing. For an exact reference use the generated reference linked from the Unity SDK page. SDK summaries are in Turkish for now, because they come from the Turkish comments in the source code.
llms.txt and llms-full.txt
For tools that cannot use MCP (or when you want to paste the docs into a chat), the docs are also published as plain text in the llmstxt.org format:
| File | Contents |
|---|---|
https://open-play.b4klabs.dev/llms.txt | English index: every page’s title, one-line description and the address of its .md copy |
https://open-play.b4klabs.dev/llms-full.txt | All English docs in one file |
https://open-play.b4klabs.dev/docs/tr/llms.txt | Turkish index |
https://open-play.b4klabs.dev/docs/tr/llms-full.txt | All Turkish docs in one file |
The English files are also at https://open-play.b4klabs.dev/docs/llms.txt and https://open-play.b4klabs.dev/docs/llms-full.txt. Every page has a markdown copy at its HTML address with .md instead of .html (for example https://open-play.b4klabs.dev/docs/en/auth/guest.md). The files are refreshed with the docs site.
Example questions
- “How do I sign a player in as a guest?” →
search_docs+read_doc(auth/guest). - “How do I save player data?” →
guides/player-data. - “How do I call a plugin?” →
plugins/calling-plugins. - “Which methods does
PlayerSessionhave in Unity?” →get_sdk_symbol.
For a first look, start from the Quickstart. To make your agent use Open Play correctly in your game, put the ready-made rules file into your repository: AGENTS.md for your game.