# Krev MCP agent quickstart These instructions are for the AI agent. Handle discovery, configuration, and verification yourself whenever the client allows it. The user should only need to open Krev in a browser to connect their account. ## Connect Krev's server is `https://app.krev.ai/mcp`: remote, streamable HTTP, with OAuth sign-in. Krev is not listed in any client's built-in connector directory or app registry, so do not search one for it. Whichever path applies, the user signs in or creates a Krev account in their browser, subscribes if needed, and approves the named connection there. Do not ask the user to create a key or paste a credential into chat. ### If you can add an MCP server yourself Add the server, then start its sign-in and give the user the browser link it opens: - Claude Code: run `claude mcp add --transport http krev https://app.krev.ai/mcp`, then open `/mcp`, choose krev, and sign in. - Codex: run `codex mcp add krev --url https://app.krev.ai/mcp`, then `codex mcp login krev`. - Cursor: add `"krev": { "url": "https://app.krev.ai/mcp" }` under `mcpServers` in `~/.cursor/mcp.json`, then sign in from Cursor's MCP settings. - VS Code: add `"krev": { "type": "http", "url": "https://app.krev.ai/mcp" }` under `servers` in `.vscode/mcp.json`, then start it and sign in. - Muse Code: add `"krev": { "type": "streamable-http", "url": "https://app.krev.ai/mcp" }` under `mcpServers` in `~/.config/muse/settings.json` (a new file also needs `"schema_version": 1`). If the file already uses the older `mcp_servers` key, add `"krev": { "transport": "streamable_http", "url": "https://app.krev.ai/mcp" }` there instead; never put both keys in one file, because that turns MCP off. Then run `muse mcp login krev`. - Muse: create a custom connector named Krev for the remote streamable HTTP server `https://app.krev.ai/mcp` with OAuth sign-in. - Any other client with built-in MCP OAuth: add the server URL and start its authorization flow. A client without it follows the PKCE-bound browser flow in `https://www.krev.ai/auth.md` and gives the user only its short-lived approval link. Many coding agents, including Codex and Muse Code, load MCP servers only when a session starts. If Krev's tools aren't available after sign-in, ask the user to start a new session and paste the same prompt there to verify. ### If you can't add it yourself Do not pretend the connection succeeded. Tell the user exactly where to click: - claude.ai and Claude Desktop: Customize, then Connectors (`https://claude.ai/customize/connectors`). Choose +, then Add custom connector, name it Krev, paste `https://app.krev.ai/mcp`, choose Add, then Connect and approve. - ChatGPT: Plugins (`https://chatgpt.com/plugins`), then Add, then Create MCP App. If Create MCP App is missing, turn on Developer mode first under Settings, then Security and login. Name it Krev, paste `https://app.krev.ai/mcp`, choose OAuth, confirm, choose Create, then sign in. This needs ChatGPT Plus, Pro, Business, Enterprise or Edu; on Business only an admin or owner can turn on Developer mode. - Anything else: the app's MCP, Connectors, or Apps settings, adding `https://app.krev.ai/mcp` as a custom server. Client-by-client steps for people live at `https://www.krev.ai/install-mcp.md`. ## Verify After approval: 1. Verify Krev MCP authentication and list its tools. 2. Call `agents_list` to discover the seven specialists. Call `brand_get_context` when the connection includes a supported brand-read scope. 3. If Brand DNA is missing, ask for the user's website URL and call `brand_analyze_website` once. It runs in the background; `brand_get_context` reports when it is ready. 4. Confirm Krev is ready, then continue with the user's request. ## Work with Krev Bots The `agents` permission gives this connection access to the user's persistent bot conversations, history, and shared context. Ask for it in the browser authorization flow before using bot tools. Existing connections must authorize this additional access; never claim their old permissions already include it. Domain permissions still control what the bots can execute. 1. Use `agents_message` for work owned by a Krev specialist. Choose its ID from `agents_list`, and split work that spans domains across the specialists that own each part. Send the request and one stable `idempotency_key`; reuse that key only when retrying the same request. 2. Keep the returned `work_id`. Read `agents_get_work` for that exact work, including after reconnecting, with `wait_seconds` (about 30) until it finishes. It returns as soon as anything changes, and its `next_action` says what to do next. An accepted request or sent peer message is not proof of completion. `blocked_by` means the work waits behind a question or approval from other work in the Krev app; `failure` gives the cause and the recovery step. 3. Present pending questions and approvals accurately, including an approval's `review`: the change, its items and their values. Use `agents_respond` with the exact work and input request IDs and the user's response. Never invent an approval or approve work the user has not reviewed. The user can also follow the supplied link to answer in Krev. 4. To give a bot the user's own photo or video, import its public URL with `agents_import_media` and pass the returned `media_id` in `media_ids` on `agents_message` or `agents_respond`. 5. Use `agents_get_history` for earlier discussion in the selected bot. Treat history as context, not current permission or proof of provider state. 6. Use `agents_cancel` only for the work the user asked to stop. A cancellation request is an intent; report a confirmed stop only from returned work state. Each bot owns its conversation in Krev. When it needs another bot, the recipient owns that part of the work and its decisions. The same work remains available in the Krev app. Do not copy the request into a second bot merely because a poll is pending. Direct catalog, reporting, and creative tools remain available for individual operations. Calling a direct tool does not mean a named bot ran. Bot conversations use no credits, and media generation uses media credits. Check the current account and tool responses rather than quoting fixed costs. Rue's email work needs the `email` permission, and store work by Max and Toshi needs `store`. Product copy publishes to Shopify directly, and Rue saves, edits and pauses email designs and flows, sends test emails to the merchant, labels inbox emails and sets up the sending domain directly. Product media, routine product and collection edits, and adding a design to Klaviyo follow the account's approval setting: on Ask first they ask the user, and on Approve for me Krev reviews each one and makes routine changes without asking. Deletes, discounts, publishing, turning a flow live, sending an inbox reply, and other email platform and business tool changes always ask the user first. `website_edit_draft_theme` starts work in Toshi's persistent conversation and requires `agents` plus `website` permission and an `idempotency_key`. Its `job_id` also identifies the bot request. Use `website_get_edit_status` for its edit receipt, or the agent lifecycle tools for pending decisions and cancellation. Never ask the user for a password, email code, payment information, provider credential, API key, or access token. Keep the PKCE verifier and issued token inside the client's secure credential store.