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 of the other five ids: claude-desktop, cursor, vscode, windsurf, or gemini-cli. Then add servers with yaw-mcp add <slug> (browse the catalog).Yaw MCP speaks the standard MCP stdio protocol, so it works with any client that launches MCP servers over stdio. 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.
| 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 |
| Gemini CLI | yaw mcp install gemini-cli |
~/.gemini/settings.json, or <project>/.gemini/settings.json with --scope project (the project file wins over the user one) |
| Claude Desktop | yaw mcp install claude-desktop |
~/Library/Application Support/Claude/claude_desktop_config.json (mac) -- %APPDATA%\Claude\claude_desktop_config.json (win) |
| Cursor | yaw mcp install cursor |
~/.cursor/mcp.json (global) or .cursor/mcp.json (project) |
| VS Code | 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 |
| Windsurf | yaw mcp install windsurf |
~/.codeium/windsurf/mcp_config.json |
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> takes any of six client ids and wires up the launch entry in the correct config file for the OS - no hand-editing JSON.
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 JSON shape for that file. install accepts six client ids: claude-code, claude-desktop, cursor, vscode, windsurf, and gemini-cli. Any client that speaks the MCP stdio protocol will work even if not in that list - see the Compatible clients section for the full table.
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.