A CLI that runs MCP servers on your machine, no account required. Local-first, with your own API keys.
Two steps: get Yaw MCP (the software), then connect it to your AI client. The install <client> command does the second step - it wires Yaw MCP into the client's config; it does not re-install the software.
yaw mcp install claude-code # connect Yaw MCP to Claude Code yaw mcp doctor # verify the connection
yaw mcp command works out of the box (it runs the bundled @yawlabs/mcp sidecar). Run install <client> once to connect it to whichever AI client you use.npm install -g @yawlabs/mcp # install the software yaw-mcp install claude-code # connect it to Claude Code yaw-mcp doctor # verify the connection
claude-code for any client id in the table below, such as codex-cli, cursor or vscode. Then add servers with yaw-mcp add <slug> (browse the catalog).Every client in this table is tested: install writes its config, the command it wrote starts Yaw MCP, and the MCP handshake completes. yaw mcp install <client> (or yaw-mcp install <client> for the standalone CLI) writes the right launch entry into the client's config file for your OS - no hand-editing JSON or TOML. Last tested September 24, 2026.
| Client | Install command | Config file |
|---|---|---|
| Claude Code (CLI) | yaw mcp install claude-code |
writes ~/.claude.json directly (top-level mcpServers). --scope project writes <project>/.mcp.json; --scope local writes projects[<project dir>].mcpServers inside the same ~/.claude.json |
| VS Code (GitHub Copilot) | yaw mcp install vscode |
the bare command writes the default-profile user file, which yaw-mcp resolves to %APPDATA%\Code\User\mcp.json (win), ~/Library/Application Support/Code/User/mcp.json (mac), ~/.config/Code/User/mcp.json (linux) - VS Code's own docs publish no path for it, only the MCP: Open User Configuration command. --scope project writes <project>/.vscode/mcp.json. Both use the servers key, which VS Code does document |
| Codex CLI | yaw mcp install codex-cli |
an [mcp_servers.mcp] table in ~/.codex/config.toml, or under $CODEX_HOME when it is set. The Codex IDE extension and the ChatGPT desktop app's Codex mode read the same file. --scope project writes <project>/.codex/config.toml, which Codex reads once it trusts the project |
| Cursor | yaw mcp install cursor |
~/.cursor/mcp.json (global) or .cursor/mcp.json (project) |
| Cline | yaw mcp install cline |
~/.cline/data/settings/cline_mcp_settings.json, plus the copy each editor Cline has run in keeps (VS Code, Cursor, Devin Desktop, VSCodium) under User/globalStorage/saoudrizwan.claude-dev/settings/ |
| Continue | yaw mcp install continue |
its own file, ~/.continue/mcpServers/yaw-mcp.json. --scope project writes <project>/.continue/mcpServers/yaw-mcp.json. Reload the editor window afterwards |
| Zed | yaw mcp install zed |
context_servers in ~/.config/zed/settings.json (mac, linux) -- %APPDATA%\Zed\settings.json (win). --scope project writes <project>/.zed/settings.json. Zed picks up the change without a restart |
| Devin Desktop (formerly Windsurf) | yaw mcp install windsurf |
~/.codeium/windsurf/mcp_config.json, which Devin Desktop's agent imports by default. By default it asks for approval before each MCP tool call |
| Claude Desktop | yaw mcp install claude-desktop |
~/Library/Application Support/Claude/claude_desktop_config.json (mac) -- %APPDATA%\Claude\claude_desktop_config.json (win) |
| typed | yaw mcp install typed |
~/.config/typed/mcp.json, read when a typed session starts |
Don't see your client? Anything that speaks the MCP stdio protocol works -- the install command is just a convenience that writes the right config-file shape. You can also hand-edit your config to point at yaw-mcp (standalone) or yaw mcp (bundled in Yaw Terminal).
~/.yaw-mcp/bundles.json on your disk.
mcp_connect_dispatch meta-tool, which your AI client calls over the MCP protocol rather than from a shell, ranks your servers against the current task and loads only what is needed instead of keeping every tool description in the context window.
YAW_MCP_MIN_COMPLIANCE=B and the CLI refuses to activate any graded server below the bar; ungraded ones still pass the gate.
yaw mcp install <client> wires up the launch entry in the correct config file for the OS - no hand-editing JSON or TOML.
No account, no license, nothing to buy. Yaw MCP runs entirely on your machine with your own API keys.
Install Yaw MCPNo. Yaw MCP runs entirely from a JSON file on your machine. The CLI never phones home - no telemetry, no opt-in pings, no account check on startup.
Yaw MCP is the rebrand of what previously shipped as MCP Hosting and the @yawlabs/mcph CLI. The old hosted SaaS is being sunset; the local-first CLI is the new product. Existing mcp.hosting URLs redirect to yaw.sh/mcp; the old @yawlabs/mcph package is deprecated and points at @yawlabs/mcp.
A bundle is the set of MCP servers Yaw MCP will load on startup. Each server entry has the standard MCP shape - a namespace, a command, args, env vars, and either a transport or a URL. The local file is ~/.yaw-mcp/bundles.json (user-global) or <project>/.yaw-mcp/bundles.json (project-local, overrides user-global). The yaw-mcp add and remove commands manage this file for you; yaw-mcp install <client> is the separate step that wires yaw-mcp into your AI client.
Yes. Yaw MCP is itself an MCP server that launches over stdio. yaw mcp install <client> writes the correct launch entry into the client's config file - the right path for your OS, and the right format for that file. It is tested with Claude Code (claude-code), VS Code with GitHub Copilot (vscode), Codex CLI (codex-cli), Cursor (cursor), Cline (cline), Continue (continue), Zed (zed), Devin Desktop, formerly Windsurf (windsurf), Claude Desktop (claude-desktop) and typed (typed). Any other client that launches MCP servers over stdio works too - see the Compatible clients section for each client's config file.
Yaw MCP IS self-hosted by default. It runs entirely on your machine with no backend dependency - there is nothing to deploy and no server to run. Your bundles and API keys live in a JSON file on your own disk.