loading…
Search for a command to run...
loading…
A deterministic MCP server for BitBake and Yocto that allows users to search, scan, and parse recipe files. It enables the extraction of raw variable assignment
A deterministic MCP server for BitBake and Yocto that allows users to search, scan, and parse recipe files. It enables the extraction of raw variable assignments from .bb and .bbappend files without performing variable evaluation.
A deterministic MCP (Model Context Protocol) server for BitBake/Yocto. Inspects recipe metadata without evaluating variables — returns only raw assignments as found in files.
Design rules:
.bb and .bbappend files=, :=, ?=, +=, .=From GitHub (no npm publish needed):
npm install github:pkt-lab/mcp-bitbake
Or clone and build manually:
git clone https://github.com/pkt-lab/mcp-bitbake
cd mcp-bitbake
npm install && npm run build
{
"mcpServers": {
"mcp-bitbake": {
"command": "node",
"args": ["./node_modules/mcp-bitbake/dist/index.js"]
}
}
}
{
"mcpServers": {
"mcp-bitbake": {
"command": "node",
"args": ["/absolute/path/to/mcp-bitbake/dist/index.js"]
}
}
}
Config file location:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.config/Claude/claude_desktop_config.jsonRestart Claude Desktop after editing.
find_recipe_filesSearch recursively for .bb/.bbappend files matching a filename pattern:
{ "root_path": "/path/to/poky", "query": "busybox" }
Returns: { ok: true, matches: [{ path, file_type, filename }] }
scan_layer_recipe_filesList all .bb/.bbappend files under a layer path:
{ "layer_path": "/path/to/meta-mylayer" }
Returns: { ok: true, files: [{ path, file_type }] }
parse_recipe_fileParse a single .bb or .bbappend file and return all raw variable assignments:
{ "file_path": "/path/to/meta-layer/recipes-core/myapp/myapp_1.0.bb" }
Returns: { ok: true, variables: [{ name, operator, raw_value, line }], warnings?: [...] }
VAR:append, VAR:${PN}, etc.) is warned but not parsed\) are concatenated into raw_valueget_recipe_var_rawGet all assignments for a specific variable in a file:
{ "file_path": "/path/to/recipe.bb", "variable": "SRC_URI" }
Returns: { ok: true, assignments: [{ operator, raw_value, line }] }
All errors return:
{ "ok": false, "error_code": "...", "message": "..." }
Error codes: FILE_NOT_FOUND, INVALID_PATH, UNSUPPORTED_SYNTAX, INVALID_ARGUMENT
MIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"mcp-bitbake": {
"command": "npx",
"args": []
}
}
}