MCP and editors

westwind mcp speaks MCP over stdio. Tools:

list_boards, list_models, list_elements

Return 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)

stage is 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)

source is huggingface, kaggle or edgeimpulse.

offload_infer (model, image_path or tensor)

Runs an inference through westwind serve for 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_run defaults 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"] }
  }
}