MCP and editors
westwind mcp speaks MCP over stdio. Tools:
list_boards,list_models,list_elementsReturn the catalogs.
validate_pipeline(yaml)Returns
{"ok": bool, "errors": [{"path": str, "message": str}]}.generate_app(yaml,out_dir)Writes the Zephyr application and returns the file list.
run_stage(yaml,stage)stageis one of fetch, train, convert, generate, build, flash.build_firmware(app_dir,board)Returns build status and the memory report.
flash_firmware (build_dir, port)
search_datasets(source,query)sourceis huggingface, kaggle or edgeimpulse.offload_infer(model,image_pathortensor)Runs an inference through
westwind servefor testing.write_deployment(pipeline_file,out_dir,mode)Writes the compose, Kubernetes and AWS files for the pipeline.
submit_pipeline(pipeline_file,stages,mode,dry_run)Runs stages in compose or as a Kubernetes Job.
dry_rundefaults to true and returns the commands or manifests only.
The Zephyr documentation MCP server is separate and hosted by kapa.ai at https://zephyrproject.mcp.kapa.ai (streamable HTTP at the root path, OAuth 2.1 with dynamic client registration, authorization server https://mcp.kapa.ai/auth/public). Clients register it as a remote server and let the user sign in on first use.
Editor configuration
westwind editor --opencode writes:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"zephyr-docs": { "type": "remote", "url": "https://zephyrproject.mcp.kapa.ai", "enabled": true },
"westwind": { "type": "local", "command": ["westwind", "mcp"], "enabled": true }
}
}plus .opencode/agents/zephyr.md and commands under .opencode/commands/. opencode mcp auth zephyr-docs performs the sign-in.
westwind editor --vscode writes .vscode/mcp.json:
{
"servers": {
"zephyr-docs": { "type": "http", "url": "https://zephyrproject.mcp.kapa.ai" },
"westwind": { "type": "stdio", "command": "westwind", "args": ["mcp"] }
}
}