Godot文档MCP
*这个项目是 使用代理框架托管在Cloudflare上*
\[!警告\] 由于该项目的流行,增加了每60秒15个请求的速率限制。如果你想避免这种情况, 自己创建一个免费的Cloudflare帐户并部署此项目.
使用模糊搜索在Godot中查找文档。支持 stable, latest, 4.6, 4.5, 4.4,以及 4.3 版本。默认版本为“稳定”。
工具
search_docs (searchTerm: string, version: "stable" | "latest" | "4.6" | "4.5" | "4.4" | "4.3" = "stable")
按术语搜索Godot文档。将返回每个匹配术语的文档URL。生成的URL需要获取其页面内容才能查看文档。
get_docs_page_for_term (searchTerm: string, version: "stable" | "latest" | "4.6" | "4.5" | "4.4" | "4.3" = "stable")
按术语获取Godot文档内容。将返回第一个匹配结果的完整文档页面。
配置MCP服务器
要使用托管的HTTP服务器,请执行以下操作:
{
"mcpServers": {
"godot": {
"type": "http",
"url": "https://godot-docs-mcp.j2d.workers.dev/mcp"
}
}
}或者,使用 stdio 服务器:
{
"mcpServers": {
"godot": {
"command": "npx",
"args": [
"mcp-remote",
"https://godot-docs-mcp.j2d.workers.dev/mcp"
]
}
}
}这是如何工作的
文档网站使用前端搜索工具来处理文档搜索。有一个名为 searchindex.js 在文档网站中,包含网站上所有页面(URL和标题,而不是内容)的索引。
本项目通过以下方式利用了这一点:
- 下载其中的每一个
searchindex.js文档的每个版本的文件 - 转换
searchindex.js到一个searchindex.js.json这只是我们需要的json - 使用新json索引 鲁康/迷你剧
- 当请求文档页面时,页面的URL会从HTML转换为markdown
本地开发
MCP服务器
npm install
npm run dev然后,设置您的工具:
{
"mcpServers": {
"godot": {
"command": "npx",
"args": [
"mcp-remote",
"http://localhost:8787/mcp"
]
}
}
}要调试服务器,您可以使用 此浏览器工具:
# in another tab
npx @modelcontextprotocol/inspector然后打开http://localhost:6274/#tools.
您还可以使用https://www.mcpplayground.io/查看实时HTTP服务器中的工具。
生成文档
# create the folders
echo "stable,latest,4.6,4.5,4.4,4.3" | string split "," | xargs -I {} mkdir -p "src/indexes/{}"
# download the files
echo "stable,latest,4.6,4.5,4.4,4.3" | string split "," | xargs -I {} curl -o "src/indexes/{}/searchindex.js" "https://docs.godotengine.org/en/{}/searchindex.js"
# convert the .js to a .json
lsd src/indexes/*/searchindex.js | xargs -n1 fish -c 'cat "$argv" | sd "Search.setIndex\(" "" | sed \'$ s/.$//\' | jq \'.docnames | to_entries | map({id: .key, name: .value, category: .value | split("/") | first, url: "/\\(.value).html"})\' > "$argv.json"'部署到Cloudflare
要部署自己的实例(建议避免速率限制):
- 创建免费 Cloudflare帐户
- 安装并验证Wrangler:
npm install -g wrangler
wrangler login- 改变
ratelimits中的设置wrangler.jsonc. - 克隆和部署:
git clone https://github.com/your-repo/godot-docs-mcp.git
cd godot-docs-mcp
npm install
npm run deploy- 更新您的服务器URL:
部署后,使用工作URL更新MCP配置:
{
"mcpServers": {
"godot": {
"type": "http",
"url": "https://godot-docs-mcp.YOUR-SUBDOMAIN.workers.dev/mcp"
}
}
}调整费率限制
默认速率限制为 每60秒15个请求。要增加或禁用它,请编辑 wrangler.jsonc:
提高限额:
"ratelimits": [
{
"name": "MCP_RATE_LIMITER",
"namespace_id": "1001",
"simple": {
"limit": 1000,
"period": 60
}
}
]完全禁用速率限制: 删除整个 ratelimits 数组从 wrangler.jsonc.
