godot-docs-mcp
godot-docs-mcp
MCP-сервер, который предоставляет документацию Godot Engine ИИ-агентам для написания кода.
Godot недостаточно представлен в обучающих данных LLM по сравнению с Unity и Unreal, поэтому агенты регулярно галлюцинируют GDScript API, выдумывают имена узлов и применяют идиомы Godot 3.x к проектам 4.x. Этот сервер опирает их на реальную документацию: полнотекстовый поиск по руководству и учебным пособиям, а также структурированный справочник классов, построенный на основе собственных метаданных API движка.
Построен на ревизии спецификации MCP 2026-07-28 через официальный mcp Python SDK v2, который также обслуживает все более ранние ревизии протокола с того же сервера.
Статус: в разработке. Сервер, его инструменты и ресурсы, командная строка и еженедельный рабочий процесс, публикующий индекс, — всё работает, и опубликован готовый индекс для Godot 4.7, так что
syncустанавливает его без сборки. На PyPI пока нет — устанавливайте из git, как указано ниже. Упаковка в виде плагина Claude Code с навыками — более поздний этап.
How it works
Документация индексируется офлайн в единую базу данных SQLite, поэтому поиск быстрый и работает без сетевого соединения.
Содержимое | Источник | Зачем |
Руководство, учебные пособия, начало работы |
| Авторские тексты |
Справочник классов |
| Структурирован и типизирован — страницы классов |
docs.godotengine.org находится за Cloudflare-челленджем, отклоняющим не-браузерные клиенты, поэтому отрендеренный сайт не используется как источник. Всё берётся с GitHub.
Related MCP server: Godot MCP Documentation Server
Getting started
Установите готовый индекс. Это одна загрузка около 8 МБ, и её нужно выполнить только один раз для каждой версии Godot.
uvx --from git+https://github.com/mcintalmo/godot-docs-mcp godot-docs-mcp sync
uvx --from git+https://github.com/mcintalmo/godot-docs-mcp godot-docs-mcp statusЗатем укажите клиенту на него. Для Claude Code:
claude mcp add godot-docs -- \
uvx --from git+https://github.com/mcintalmo/godot-docs-mcp godot-docs-mcpНет опубликованного индекса для нужной версии или работаете над парсерами? Соберите его из исходников. Для этого нужен git, и это займёт около минуты:
uvx --from git+https://github.com/mcintalmo/godot-docs-mcp godot-docs-mcp sync --rebuildСпросите что-то, в чём модель стабильно ошибается — «какая правильная сигнатура 4.x для move_and_slide?» — и ответ должен прийти от get_godot_class_member как bool move_and_slide(), без аргументов. В Godot 3.x она принимала несколько аргументов, и именно это помнит большинство обучающих данных.
Commands
Команда | Назначение |
| Обслуживание через stdio. Именно так его запускает клиент; |
| Скачать готовый индекс. |
| Что проиндексировано, из чего собрано и не отстало ли оно. |
| Прогнать запрос через тот же код, что используют инструменты, и вывести ранжирование |
| Записать релизные артефакты для установленного индекса. Для сборочного рабочего процесса |
Каждый параметр также является переменной окружения с префиксом GODOT_DOCS_MCP_ — полную таблицу см. в config.py.
Staying current
Документация меняется без предупреждения, поэтому за ней независимо следят две вещи.
Еженедельный рабочий процесс проверяет, сдвинулись ли коммиты в апстриме, и если да, пересобирает индекс, прогоняет по всему корпусу запросы, чтобы убедиться, что он отвечает, и публикует его как релизный артефакт. godot-docs-mcp sync — это то, как он доходит до вас.
Запущенный сервер раз в день в фоне проверяет, не опубликован ли более новый индекс. Он никогда не скачивает его — индекс, который отстаёт, по-прежнему правильно отвечает для той версии, из которой он собран, и заменять его решаете вы. Вместо этого он сообщает об этом: в godot://status и однострочным notice в результатах поиска. Если проверка не может выполниться, ответ — «не удалось проверить», а не «актуально».
Tools
Каждый инструмент доступен только для чтения, и каждый ответ ограничен по размеру, чтобы один вызов не вытеснил разговор, который он должен был информировать. Обрезанный ответ сообщает об этом и называет вызов, который вернёт остальное.
Инструмент | Назначение |
| Ранжированный поиск по руководству, учебным пособиям и справочнику классов. Работают вопросы на простом языке |
| Страница или отдельный раздел страницы |
| Цепочка наследования плюс карта сигнатур для класса — без прозы, поэтому запись класса на 300 КБ остаётся доступной для ответа |
| Точная сигнатура и полное описание одного члена |
| Фрагменты GDScript и C# с указанием страницы и заголовка, откуда они взяты |
Resources
URI | Содержимое |
| Индексированная версия, счётчики и коммиты апстрима, из которых она собрана |
| Карта корпуса: что в нём есть, как к нему обращаться, какой инструмент вызывать |
| Страница или один её раздел |
| Класс или один его член |
515 страниц и 1078 классов намеренно не перечислены в resources/list. Шаблоны — это URI, которые уже возвращает каждый инструмент, так что по результату поиска хост может перейти без дополнительного вызова инструмента.
Development
Требуется uv.
uv sync --dev
uv run pre-commit installКоманда | Назначение |
| Модульные тесты (герметичные — без сети) |
| Интеграционные тесты против реального индекса |
| Линтинг и форматирование |
| Проверка типов |
| Всё, что выполняет CI-задача линтинга |
Об архитектуре и правилах внесения вклада см. CLAUDE.md.
License
MIT. Сама документация Godot лицензирована CC BY 4.0 Juan Linietsky, Ariel Manzur и сообществом Godot; этот проект распространяет её в индексированной форме и не изменяет эту лицензию.
Available Tools
5 toolsfetch_godot_docARead-only
Return one manual or tutorial page as Markdown, or a single section of it. Pass the uri from a search hit exactly as it was given: the #... on the end names the section that matched, and that section is what comes back -- section_title says which. Drop the #... to read the whole page. Pages are cut to fit the response budget: when truncated is set, section_titles lists the titles section accepts, so the rest can be read a section at a time. For a class-reference entry call get_godot_class instead -- this tool serves the prose documentation only.
| Name | Required | Description | Default |
|---|---|---|---|
| uri | Yes | A `godot://doc/...` URI, as returned by search_godot_docs. | |
| section | No | One title from the page's `section_titles`, or a section anchor. Overrides any `#...` on the uri. Omit to get whatever the uri asks for. |
Output Schema
| Name | Required | Description |
|---|---|---|
| uri | Yes | Canonical `godot://doc/...` URI of the page. |
| hint | No | What to call next to see what was omitted, or to narrow the request. Empty when nothing was left out. |
| kind | Yes | Which part of the documentation this belongs to. |
| title | Yes | Page title. |
| markdown | Yes | The page or section content, as Markdown. |
| truncated | No | Whether content was omitted to stay within the budget. |
| breadcrumb | No | Trail of ancestor sections. |
| section_title | No | The single section returned, when one was asked for; empty for a whole page. |
| section_titles | No | Every section on the page, in order. These are the values `section` accepts, so a truncated page can be re-read one section at a time. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses important behaviors: pages are truncated to fit the response budget, truncated indicates this, and section_titles lists acceptable section values. It also explains the meaning of the #... suffix and how section overrides it, which is valuable context not visible in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence carries necessary operational information. It front-loads the core purpose, then explains uri semantics, truncation handling, and sibling differentiation without wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a documentation-fetching tool with a read-only annotation and an output schema, the description covers all needed calling context: source of the uri, section selection, truncation behavior, and the boundary with get_godot_class. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema coverage is 100%, the description adds significant meaning beyond the schema: it explains how to pass the uri exactly, what the #... suffix does, how to drop it for the whole page, and how section interacts with the uri. This goes well beyond the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Return one manual or tutorial page as Markdown, or a single section of it.' It also distinguishes itself from get_godot_class by explicitly saying this tool serves prose documentation only, so an agent can tell it apart from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit instructions on when to use the tool: pass the uri from a search hit exactly, drop the #... to read the whole page, and use section to read truncated content section by section. It also names the alternative get_godot_class for class-reference entries, providing clear routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_godot_classARead-only
Return a map of one engine class: what it inherits, what it is for, and the signature of every member it declares, without their descriptions. This is the cheap first call for any question about a class -- some class entries run past 300 KB, so the map is what makes them answerable. Choose the member needed from members, then call get_godot_class_member for its full text. Inherited members are not listed; request a class named in inheritance_chain to see those.
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | List only members of this kind. Omit for every kind. Worth setting when a full map came back `truncated`. | |
| class_name | Yes | The class name, exactly as the engine spells it, e.g. 'Node2D'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| uri | Yes | Canonical `godot://class/...` URI. |
| hint | No | What to call next to see what was omitted, or to narrow the request. Empty when nothing was left out. |
| name | Yes | Class name. |
| members | No | Declared members, in source order. Inherited members are not listed; request a class from `inheritance_chain` to see those. |
| brief_md | No | One-line summary. |
| inherits | No | Immediate base class, empty for roots. |
| truncated | No | Whether content was omitted to stay within the budget. |
| tutorials | No | `(title, url)` pairs of linked tutorials. |
| deprecated | No | Why this class is deprecated; empty if not. |
| experimental | No | Why this class is experimental; empty if not. |
| description_md | No | Full class description, as Markdown. |
| inheritance_chain | No | Base classes from the immediate parent up to the root. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses behavior such as returning a map, potential truncation, and omission of inherited members. Combined with readOnlyHint=true annotation, the read-only nature is clear. No contradiction with annotations; description adds valuable context beyond the hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, using three sentences to convey purpose, usage guidance, and edge cases (truncation, inherited members). No redundant wording; each sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description adequately explains the return type (map) and how to interact with the results (select a member, follow inheritance_chain). It also covers the truncation scenario. The tool is fully understandable within its context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameters (class_name and include) with clear descriptions. The tool description does not add additional meaning beyond what is already in the schema, so a baseline score of 3 is appropriate given 100% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a map of one engine class, including inheritance, purpose, and member signatures without descriptions. It distinguishes itself as the 'cheap first call' for class questions, differentiating from siblings like get_godot_class_member and search_godot_docs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises when to use this tool (first call for any class question) and when to use alternatives (get_godot_class_member for member details, request inherited classes from inheritance_chain). It also explains the truncation behavior and how to follow up with include parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_godot_class_memberARead-only
Return the exact signature and full description of one member of one class. Use this to confirm a signature before writing a call: Godot's API changed substantially between 3.x and 4.x, and a remembered signature is often the 3.x one. Several members can share a name -- Godot overloads constructors and operators -- so members may hold more than one. If the name is wrong, the error names the closest members the class does declare, which is usually where a 3.x name is corrected to its 4.x form.
| Name | Required | Description | Default |
|---|---|---|---|
| class_name | Yes | The class name, exactly as the engine spells it, e.g. 'Node2D'. | |
| member_kind | No | Restrict to one kind, for the few names a class uses for members of more than one kind. | |
| member_name | Yes | The member name, e.g. 'move_and_slide'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| hint | No | What to call next to see what was omitted, or to narrow the request. Empty when nothing was left out. |
| members | No | Every member of that name, in declaration order. |
| truncated | No | Whether content was omitted to stay within the budget. |
| class_name | Yes | The owning class. |
| member_name | Yes | The member name that was requested. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description reveals meaningful behavior: overloaded constructors/operators can lead to multiple matches, and an incorrect name returns the closest declared members, often exposing the 3.x-to-4.x rename. This extra context is valuable for interpreting results and handling ambiguous cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with every sentence earning its place: it states the primary behavior, gives the concrete use-case with version mismatch, and warns about overloads and error behavior. It is concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the return values are already documented. The description adds the only important context missing from structured fields: the version-confliction motivation, overload ambiguity, and the diagnostic behavior when a name is wrong. This makes the description functionally complete for the tool's simple lookup purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each parameter already has a clear description with examples. The tool description adds no parameter-specific semantics beyond what the schema provides, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the specific verb-object pair 'Return the exact signature and full description of one member of one class,' making the tool's purpose immediately clear. The phrase 'one member of one class' implicitly distinguishes it from class-level lookups like get_godot_class, so an agent can separate it from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use the tool: 'confirm a signature before writing a call,' specifically because Godot's 3.x and 4.x APIs differ. It does not name the alternative tools for 'when not to use it,' but the when-to-use guidance is concrete and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_godot_code_examplesARead-only
Search runnable code examples extracted from the documentation. Each sample carries its language tag, the URI of the page or class it came from, and the heading it appeared under. Use this when working code is wanted; use search_godot_docs when an explanation is wanted.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum results to return. Values above 50 are reduced to 50 rather than rejected. Fewer may come back: the response is also capped by total size. | |
| query | Yes | What to look for, in plain words. A question is fine. | |
| language | No | Restrict to one language tag, e.g. 'gdscript' or 'csharp'. Omit for every language. |
Output Schema
| Name | Required | Description |
|---|---|---|
| hint | No | What to call next to see what was omitted, or to narrow the request. Empty when nothing was left out. |
| query | Yes | The query as it was actually searched. |
| samples | No | Examples, best first. |
| truncated | No | Whether content was omitted to stay within the budget. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate read-only, non-destructive behaviorni. The description adds that results carry language tag, URI, and heading, which gives the agent context about what to expect in results (though the output schema likely also documents this). It doesn't mention any side effects or limitations, but for a search tool that's fine. The annotation covers safety, so the description adds marginal value about result content.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, then usage guidance. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, what results contain, and when to use this tool vs the sibling. With output schema present and full schema coverage, this is complete for the agent to decide and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, meaning all parameters (limit and query) have descriptions. The description itself doesn't add any parameter-specific semantics beyond what the schema provides)Skip. So baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Search') and a precise resource ('runnable code examples extracted from the documentation'), and immediately differentiates from the sibling search tool by stating the intended use case (working code vs. explanations). This makes the tool's purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use this tool ('when working code is wanted') and when to use the alternative ('use search_godot_docs when an explanation is wanted'). This clearly guides the agent to choose between siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_godot_docsARead-only
Search the Godot documentation -- manual, tutorials, and class reference -- and return ranked matches. Start here whenever the exact class or page is not already known. Natural-language questions work as well as keywords: framing words are stripped before searching, so 'how do I make a character jump' finds the tutorial rather than every page titled 'How do I'. Follow a hit with its own fields: uri is what fetch_godot_doc takes, and a hit from the class reference also carries class_name and member_name, which are what get_godot_class and get_godot_class_member take. At most one hit is returned per page or class; also_matched counts the further matches on that same source that were folded into it.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Restrict results to one part of the documentation. | |
| limit | No | Maximum results to return. Values above 50 are reduced to 50 rather than rejected. Fewer may come back: the response is also capped by total size. | |
| query | Yes | What to look for, in plain words. A question is fine. |
Output Schema
| Name | Required | Description |
|---|---|---|
| hint | No | What to call next to see what was omitted, or to narrow the request. Empty when nothing was left out. |
| hits | No | Matches, best first, at most one per page or class. |
| query | Yes | The query as it was actually searched, which may differ from what was asked when question phrasing was stripped out. |
| notice | No | An advisory about the index itself -- that a newer one has been published, for instance. It says nothing about the hits, which are as correct for the indexed version as they ever were. Empty when there is nothing to report. |
| truncated | No | Whether content was omitted to stay within the budget. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
ReadOnlyHint already covers the read-only nature. The description adds valuable behavior details: output fields (uri, class_name, member_name) and the handling of limit reductions. Slightly more detail could be given about ranking, but overall transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence contributes: search scope, usage direction, query example, output fields, and limit caveats are all packed without redundancy. The description is long but efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's search nature and relationship to sibling tools, the description fully covers what results look like, how they map to sibling tools, and edge cases (limit reduction). No gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions are thorough for all three parameters, including nuances like plain words for query, restriction by kind, and limit behavior (reduction to 50, size cap). The description reinforces these but does not introduce entirely new meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Search') and resource ('Godot documentation'), and explicitly mentions it is for when the exact class or page is not known, distinguishing it from sibling tools that fetch specific docs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit direction: 'Start here whenever the exact class or page is not already known.' Includes example of natural-language query and notes that framing words are stripped, guiding the agent on appropriate queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v0.1.0- First observed
fetch_godot_doc - First observed
get_godot_class - First observed
get_godot_class_member - First observed
search_godot_code_examples - First observed
search_godot_docs
TDQS
Scored across 5 tools
Each tool targets a distinct retrieval need: prose pages, document/code search, class overviews, and individual member details. Cross-references are explicit, such as fetch_godot_doc directing class-reference lookups to get_godot_class, so an agent is unlikely to confuse them.
All tool names use a lowercase snake_case verb_noun pattern: fetch/search/get followed by the object. The singular doc in fetch_godot_doc is meaningful because it fetches one page, while search_godot_docs searches the corpus, and get_godot_class_member extends get_godot_class naturally.
Five tools cover the full Godot docs workflow without bloat: search prose/classes, fetch prose, get class summaries, get member details, and search code examples. Each tool has a distinct role and none is redundant.
The surface covers the main documentation workflows: discovering sources via search, retrieving prose pages section-by-section, extracting cheap class overviews, drilling into individual members, and finding runnable examples. Search hits carry the exact fields needed by the retrieval tools, so there are no dead ends.
Maintenance
Related MCP Connectors
Serves your design system and coding standards to coding agents, so they stop guessing.
Versioned documentation registry and semantic search for AI tools and coding assistants.
Provide your AI coding tools with token-efficient access to up-to-date technical documentation for…
The documentation, as a tool your agent can call: 950+ AI-dev guides. Search + fetch tools.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to search and retrieve information from the official Godot game engine documentation. Provides tools to search documentation, get page content, and access detailed class information.25MIT
- AlicenseAqualityDmaintenanceProvides AI assistants with direct access to the complete Godot Engine documentation, including classes, tutorials, and features. It enables developers to retrieve and analyze official documentation through natural language interfaces using the Model Context Protocol.2MIT
- AlicenseNot gradedqualityDmaintenanceProvides AI assistants with access to the complete Godot Engine documentation, enabling developers to get answers about Godot classes, tutorials, and features directly in their chat interface.73MIT
- FlicenseNot gradedqualityDmaintenanceQuery Godot Engine documentation with full-text search across classes, methods, properties, and inheritance.1-