NPC

Your browser's NPC. Handles the side quests.

Control your real browser from any IDE - no context switching.

$ npm i -g npc-agent click to copy

Stop context switching

The problem

You're deep in code and need to message someone on Slack, check Discord, or reply to an email. Every time, you leave your editor, lose focus, and break flow.


Browser automation tools want API keys, OAuth tokens, or separate bot accounts for every service. That's a lot of setup for "send a message."

NPC fixes this

One CLI + one Chrome extension. Your IDE agent says what to do ("message Anna on Slack"), NPC does it in your real, logged-in browser.


No API keys per service. No OAuth. Uses the browser sessions you already have. Works with any MCP IDE - Cursor, VS Code, Windsurf.

Three pieces, one pipeline

Your IDE handles reasoning. NPC is the hands - it executes browser actions via Chrome DevTools Protocol. No LLM inside NPC.

NPC system design - IDE to browser pipeline

Your IDE

Cursor, VS Code, Windsurf

MCP client
→ stdio

NPC CLI

MCP server + WebSocket relay

localhost:7221
→ CDP

Chrome Extension

chrome.debugger API

any web page

13 MCP tools

Everything you need to read and control a browser tab.

npc_screenshotCapture tab as PNG
npc_batchChain actions in one call
npc_navigateGo to URL, back, forward
npc_evaluateRun JS in page context
npc_clickClick at (x, y)
npc_extract_textGet page text
npc_typeType into focused element
npc_extract_htmlGet page HTML
npc_press_keyEnter, Tab, Escape...
npc_current_urlGet current URL
npc_scrollScroll any direction
npc_page_titleGet current title
npc_findFind by selector or text
{ "actions": [
  { "action": "find", "selector": "Message Anna" },
  { "action": "click", "x": 450, "y": 320 },
  { "action": "type", "text": "deploy is done" },
  { "action": "key", "key": "Enter" }
]}

npc_batch

One MCP call. Four actions. Sub-second execution. No round trip overhead between steps.

Three steps, two minutes

1

Install the CLI

npm i -g npc-agent

2

Load the extension

Open chrome://extensions, enable Developer mode, click Load unpacked, select the extension/ folder.

3

Add to your IDE

Add NPC to .cursor/mcp.json or .vscode/mcp.json and start asking your agent to control the browser.