LABSCO SUMMARY
Turns Godot's docs into something the model can cite rather than approximate.
Godot's API moves between versions and models confidently produce methods that no longer exist; grounding answers in the docs you indexed is the fix, and because you build the index yourself it matches the version you actually use. The cost is the setup: four scripts run before the first question, and the collection name you produce has to be handed to the server at launch.
What it is
A Python server that serves Godot documentation to a model by semantic search over a Chroma collection you build from the official docs.
What you get
- Godot documentation retrieved by meaning, so a question phrased in your own words finds the right page
- A pipeline in the repository that builds the index: download the docs, convert reStructuredText to markdown, chunk it, and vectorize it
- A choice of embedding model — all-MiniLM-L6-v2 locally, or bge-m3 and bge-large-zh-v1.5 for stronger multilingual retrieval
- Everything served from a local Chroma database, so lookups do not leave your machine
Requirements
No account and no key for the local path, but the index is not shipped: you run the download, convert, chunk and vectorize steps once before the server has anything to answer from. Python 3.12 with uv, and the server started with --chromadb-path and --collection-name pointing at what you built. Using an API-backed embedding model instead needs a key for that provider.
Setup effort
Build from source — git clone https://github.com/weekitmo/mcp_godot_rag
USE CASES
01
Getting the right node or method name for a Godot task
Ask in plain language and get an answer grounded in the documentation you indexed, not in a half-remembered API.
02
Working against a specific Godot version
Build the index from the docs for the version you ship, so the answers match your engine rather than the newest release.
03
Asking Godot questions in Chinese
Vectorize with bge-large-zh-v1.5 or bge-m3 and the retrieval keeps working across languages.
BEFORE YOU INSTALL
What to know first
Requires
- Python 3.12+
- uv on PATH
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone this one yourself.
Server setup
TERMINAL
git clone https://github.com/weekitmo/mcp_godot_rag
cd mcp_godot_rag
uv venv --python 3.12
source ./.venv/bin/activate
uv sync
cp .env.example .env.local
python download_godot_docs.py
python convert_rst2md.py
python chunker.py -i artifacts
python vectorizer.py -i artifacts/chunks/artifacts_chunks_SZ_400_O_20.jsonlMCP Clients
Any MCP client
ANY MCP CLIENT · JSON
{
"mcpServers": {
"godot-rag": {
"command": "python",
"args": [
"<YOUR_PATH_TO_SERVER_SCRIPT_MAIN_PY>",
"-d",
"<YOUR_COMPUTER>",
"-c",
"<YOUR_NAME_COLLECTION_CHROMA_DB>"
]
}
}
}