Familiar MCP logo

Familiar MCP

Controls real macOS Chrome tabs, pages, forms, and JavaScript through AppleScript with 32 MCP actions.

Install Familiar MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "familiar-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@dominion525/familiar-mcp@latest"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

We couldn’t confirm it starts correctly

The install command didn't complete successfully in our automated test.

npx -y @dominion525/familiar-mcp@latest

up Unsupported platform for @dominion525/familiar-mcp@0.1.2: wanted {"os":"darwin"} (current: {"os":"linux"}) npm error notsup Valid os: darwin npm error notsup Actual os: linux npm notice npm notice New major version of npm available! 10.9.9 -> 12.2.1 npm notice Changelog: https://github.com/npm/cli/releases/tag/v12.2.1 npm notice To update run: npm install -g npm@12.2.1 npm notice npm error A complete log of this run can be found in: /home/user/.npm/_logs/2026-10-24T10_52_56_801Z-debug-0.log

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 15d ago.

Overview

familiar-mcp MCP server drives a user's real Google Chrome on macOS through AppleScript and Chrome Apple Events. It exposes 32 tab-scoped actions for navigation, page inspection, element interaction, waiting, and JavaScript execution without using the DevTools Protocol or Playwright. Reach for it when an agent needs to work in an existing desktop browser, including pages that may behave differently under headless automation. Chrome must allow JavaScript from Apple Events, and macOS Automation access must be approved.

Use cases

  • Automate forms in a local Chrome session
  • Inspect rendered page content and attributes
  • Navigate tabs and browser history
  • Run JavaScript against a loaded page
  • Wait for dynamic elements before acting

Key features

  • AppleScript control of real macOS Chrome
  • Tab-scoped browser operations
  • CSS, text, XPath, and label selectors
  • Page loading and condition waits
  • Form and element interaction
  • Inline and file-based JavaScript execution

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

12/12 checks healthy over the last 57d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 16d ago via OSV.dev · @dominion525/familiar-mcp@latest (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars1Stargazers on the source repository.
npm downloads106Package downloads in the last 30 days.
Last commit29d agoMost recent push to the default branch.
Install checkInconclusiveInstall command did not finish in our automated test.
Directory activity3 viewsConfig copies, upvotes, and views on AllMCPs.

How Familiar MCP works

What familiar-mcp MCP server does

The familiar-mcp MCP server lets an MCP-compatible client control Google Chrome running on macOS. Actions are scoped with a window ID and tab ID, so operations do not depend on whichever tab happens to be active. The implementation uses AppleScript and Apple Events rather than the Chrome DevTools Protocol or Playwright.

Its 32 actions cover the browser lifecycle and page interaction. An agent can list, create, and close tabs; open regular or incognito tabs; inspect the active tab, window mode, and loading state; navigate to URLs; reload pages; move through history; and stop loading. It can also retrieve the current DOM as HTML and read text, attributes, form values, element presence, or all matches.

How it works

The MCP implementation is in the repository's mcp/ directory and is written in TypeScript. A client starts it with the package command, such as npx @dominion525/familiar-mcp@latest, and sends tool calls over MCP. The server translates those calls into AppleScript operations against the local Chrome application.

Selectors support CSS by default, along with text=, xpath=, and label= forms. Page actions include clicking, filling and clearing fields, selecting options, changing checked state, pressing keys, submitting forms, and scrolling an element into view. Waiting actions can pause for page loading, a selector, or a JavaScript condition. JavaScript can run directly or from a file, with the file form intended for longer scripts.

Setup and configuration

Use macOS with Google Chrome installed. In Chrome, enable Allow JavaScript from Apple Events under View → Developer. The first run also requires approving the macOS Automation permission prompt.

For Claude Code, the documented installation command is:

Terminal
claude mcp add familiar -- npx @dominion525/familiar-mcp@latest

The repository also provides a Claude Code plugin and an agent-skills installation path, but the MCP directory is the relevant implementation for clients that connect through MCP. A standalone AppleScript entry point is available when an MCP client is not needed.

Tools and capabilities

The familiar-mcp MCP server provides grouped capabilities for:

  • Managing normal and incognito tabs with explicit window and tab identifiers.
  • Inspecting tab state, window mode, loading state, DOM HTML, text, attributes, values, and matches.
  • Navigating, reloading, stopping, and traversing browser history.
  • Waiting for page loads, selectors, or JavaScript conditions.
  • Operating controls and forms, including clicks, text entry, options, checkboxes, keyboard input, submission, and scrolling.
  • Running JavaScript inline or from a script file.

Limitations and notes

It controls the user's real browser rather than a separate headless instance, so the target Chrome session must be available locally and have the required permissions.

It also does not specify authentication, remote browser control, or browser profiles beyond normal and incognito tab creation. JavaScript execution is arbitrary, so clients should use it only when the requested page operation requires script-level access.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Familiar MCP

familiar-mcp is an MCP server that connects AI clients to Google Chrome on macOS through AppleScript and Apple Events. Its main tools manage tabs, navigate pages, inspect DOM content, interact with elements and forms, wait for page conditions, and execute JavaScript in the user's real Chrome session.

Install it for Claude Code with `claude mcp add familiar -- npx @dominion525/familiar-mcp@latest`. The repository also contains the TypeScript MCP implementation and documents other client-specific setup in `mcp/README.md`.

Yes, familiar-mcp works with Cursor as an MCP-compatible client. Cursor must connect to the server and run on macOS with Google Chrome available, JavaScript from Apple Events enabled, and Automation permission approved.

It needs macOS, Google Chrome, Chrome's Allow JavaScript from Apple Events setting enabled, and approval of the macOS Automation permission prompt. The server controls the local desktop browser through AppleScript.

Yes, familiar-mcp can execute JavaScript directly or from a JavaScript file. It also supports waiting for a JavaScript condition and retrieving the current DOM as HTML.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewFamiliar MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/familiar-mcp?style=directory)](https://allmcps.com/mcp/familiar-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/familiar-mcp"><img src="https://allmcps.com/api/badge/familiar-mcp?style=directory" alt="Familiar MCP on AllMCPs" /></a>