One server · 42 tools · every device Kifas runs

The Kifas MCP server.

One server. 42 tools. Every browser, emulator, and physical device Kifas runs, exposed to your agent through Model Context Protocol.

Read the MCP docs
npx @kifas/mcp@latest
42tools shipped
4first-class clients
110msp50 tool latency
0glue code lines
~/acme-web · kifas-mcp demo
# Install for your client of choice
$ npx @kifas/mcp@latest --install claude-code
→ Wrote ~/.claude/mcp.json
→ Authenticated as maya@acme.dev
→ Loaded 42 tools scoped to project: acme-web

$ claude /mcp
┌──────────────────────────────────────────┐
kifas
│ 42 tools · authenticated · ready │
│ ✓ workflow.* (8) │
│ ✓ auth.*, state.* (10) │
│ ✓ browser.*, device.* (7) │
│ ✓ run.* (9) │
│ ✓ inbox.* (4), tunnel.* (4) │
└──────────────────────────────────────────┘
claude > "Test our checkout. New Gmail user,
promo GUMBO20, verify the total. iPhone 16."


→ Kifas: workflow.create("checkout-promo") ✓
→ Kifas: device.spawn("iphone-16") 820ms
→ Kifas: auth.add("gmail", "qa+test@acme.dev")
→ Kifas: workflow.add_node("auth") ✓
→ Kifas: workflow.add_node("action", ai_explore: true)
→ Kifas: workflow.add_node("assert", response: "/api/orders")
→ Kifas: workflow.connect(...) 7 edges drawn

Workflow saved: checkout-promo@0.1.0
claude > "Run it. Tell me the order total."

→ Kifas: workflow.run("checkout-promo@0.1.0")
· 14 nodes · iPhone 16 · iOS 18.2
· spawned in 820ms
· ai.step compiled to getByRole+tap
· order.status = 200
· order.total = $43.39 · passed in 4.2s

Run r_a8f29 · trace at app.kifas.io

// Compiled spec written to:
// tests/checkout-promo.spec.ts
What you get

Connect it once. Your agent can do all of this.

Kifas connects to Claude Code, Cursor, Windsurf, and any MCP client. Once it is wired in, your agent can:

  • Spawn a cloud browser, a mobile emulator, or a real device from the Device Farm on demand.
  • Navigate, click, type, and assert against what is actually on screen.
  • Pull a one-line login from the Auth Catalog instead of scripting OAuth by hand.
  • Save and restore named state between steps and runs.
  • Compile an explored flow down to deterministic Playwright.
  • Tear everything down cleanly when the run ends.
First-class clients

One install command. Pick your stack.

We ship maintained installers for the four MCP clients most teams already run. Manual config takes 30 seconds for everything else.

C
Claude Code
Anthropic's terminal agent. The one we built it for first.
npx @kifas/mcp --install claude-code
Cursor
IDE agent. Tools surface in the chat panel.
npx @kifas/mcp --install cursor
W
Windsurf
Codeium's flow-state agent. Cascade-ready.
npx @kifas/mcp --install windsurf
+
Anything else
Drop the manual config block into your client's mcp.json.
see the manual config →docs
The 42 tools

Grouped by what they do.

Every Kifas primitive is reachable from MCP with the same shape it has in the SDK. No proprietary names, no surprise verbs.

Workflow 8
Auth + state 10
Devices 7
Run control 9
Inboxes 4
Tunnel 4
workflow.create(name → workflow_id)
Create an empty workflow.
workflow.add_node(type, primitive, ai_explore?)
Add a typed node. Returns node_id.
workflow.connect(from, to, label?)
Draw an edge between two nodes.
workflow.run(workflow_id, env?, parallels?)
Run a workflow. Returns run_id and stream URL.
workflow.publish(workflow_id, version)
Tag a semver, lock as name@version.
workflow.diff(a, b)
Three-way diff between two workflow revisions.
workflow.read(workflow_id)
Return the canonical JSON for an existing workflow.
workflow.delete(workflow_id)
Soft-delete (recoverable for 30 days).
Full tool reference lives in the docs, with arguments and examples for each.
Prompt patterns

Talk to your test infra like a teammate.

A short library of prompts that work well with Kifas's tool surface. Steal liberally.

Test what I just shipped

"Look at my last commit. Write Kifas tests covering the new behavior. Run them. Report which fail."
reads diff · drafts 4 workflows · runs in parallel · 3 passed, 1 failed

Reproduce a flake

"Workflow 'checkout-regress' has 4% flake. Run 50 in parallel, find the failing step, propose a fix."
run.flake_score · 50 parallel · isolated to step 7 race condition

Mass-author from a spec

"Read /docs/checkout.md. For each user story, build a Kifas workflow. Run on iPhone 16 and Pixel 9."
12 workflows authored · 24 runs · grouped 3 likely root causes
Standalone or in the loop

Use the server two ways.

Inside the loop, Kifas's own agents call these tools to build and heal your suite automatically. On its own, the same server is yours: drive a manual session, build a one-off test, or wire Kifas into a workflow you already run. Same tools, your call on who holds the wheel.

Read the MCP docs →

Hand the keyboard to your agent.

$10 in credits, no card. The first green agent-authored run takes under three minutes.

Start freeRead the MCP docs