Skip to main content
Glama
npm i -g npc-agent

What it does

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, no bot accounts. Works with any MCP IDE - Cursor, VS Code, Windsurf.

You want to

Your IDE says

Message someone on Slack

"go to slack and message #general: deploy is done"

Reply on Messenger

"open messenger and reply to Anna: sounds good"

Check Gmail

"take a screenshot of my gmail inbox"

Fill out a form

"find the email field, click it, type my address, press Tab"

Do it all in one shot

use npc_batch with an array of actions


Related MCP server: browser-relay

Setup

  1. Install: npm i -g npc-agent

  2. Load the extension: chrome://extensions > Developer mode > Load unpacked > select npc-cli/extension/

  3. Add to .cursor/mcp.json or .vscode/mcp.json:

{
  "mcpServers": {
    "npc": {
      "command": "node",
      "args": ["/path/to/npc/npc-cli/dist/index.js"]
    }
  }
}

Click the NPC icon on any tab. Green badge means connected.


How it works

IDE (Cursor / VS Code)       NPC Server              Browser
 |                            |                       |
 |--- MCP stdio ------------->|                       |
 |    "click Send button"     |--- WebSocket :7221 -->|
 |                            |                       |--- CDP (chrome.debugger)
 |                            |                       |--- clicks in real tab
 |                            |<-- result ------------|
 |<-- tool response ----------|                       |

The IDE handles reasoning. NPC just executes browser actions via Chrome DevTools Protocol. No LLM inside NPC.


MCP tools

Tool

What it does

npc_screenshot

Capture tab as PNG

npc_navigate

Go to a URL

npc_click

Click at (x, y)

npc_type

Type text into focused element

npc_press_key

Press Enter, Tab, Escape, arrows

npc_scroll

Scroll up/down/left/right

npc_find

Find element by CSS selector or text, returns (x, y) center

npc_batch

Run multiple actions in one call

npc_evaluate

Run JavaScript in page context

npc_extract_text

Get all text from the page

npc_extract_html

Get full page HTML

npc_current_url

Get current tab URL

npc_page_title

Get current tab title

npc_fetch

Fetch any URL with browser cookies (bypasses CORS)

npc_teams_unread

Check Microsoft Teams for unread messages

Batch example

One MCP call instead of four:

[
  {"action": "find", "selector": "Message Anna"},
  {"action": "click", "x": 450, "y": 320},
  {"action": "type", "text": "hey, deploy is done"},
  {"action": "key", "key": "Enter"}
]

Limitations

Chrome and Brave only (uses chrome.debugger API). One active tab at a time per extension instance. Cannot attach to chrome://, brave://, or extension pages. Screenshot coordinates are at device pixel ratio - divide by DPR before clicking on HiDPI displays.

Requires Node.js >= 18.


Contact

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Semantic browser automation MCP server that lets AI agents control a browser using natural language, handling navigation, form filling, data extraction, and more without CSS selectors.
    387 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that drives a user's real Chrome browser via a WebSocket-connected MV3 extension, enabling tab management, navigation, page interaction, screenshots, and script evaluation through natural language.
    2 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    A local MCP server that lets AI coding tools drive the user's real, already-logged-in Chrome — reading pages, clicking, typing, uploading files, taking screenshots, and inspecting tabs, cookies, console, and network traffic — via 25 browser automation tools that pass bot detection without a debugging port. Requires a companion Chrome extension and stays entirely on the user's machine.
    1 npm
    ISC
  • A
    license
    Not graded
    quality
    A
    maintenance
    A local MCP server that lets AI coding assistants drive the Chrome browser you already have open, using your existing logged-in sessions. It enables navigating and reading pages, clicking, typing, filling forms, taking screenshots, uploading files, and inspecting console, network, storage, and cookies — without headless browsers or opening a remote-debugging port.
    1 npm
    ISC