browser-control-mcp: safe hh.ru applications

browser-control-mcp

A local MCP server that controls an open Chrome session via CDP, helps apply on hh.ru, blocks payments and confirms before sending

  • 0 ★ on the repository
  • Last commit
  • MIT
MCP server

Extended access

Why this level

  • Can submit a real application and cover letter after confirmation
  • Controls the user's already-open Chrome session through the powerful CDP protocol
All reasons and checks
Russian stack

eno004731-cpu/browser-control-mcp

Install

Services

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/browser-control-mcp

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • Can submit a real application and cover letter after confirmation
  • Controls the user's already-open Chrome session through the powerful CDP protocol

This is third-party code. Review the repository files before installing.

What it does

The server attaches to an already-running Chrome instance through the Chrome DevTools Protocol on a local port, rather than opening its own browser, and stores no logins, passwords or cookies. A dedicated hh.ru module opens a vacancy page in the current user session, checks that the user is logged in, parses the vacancy, finds employer questions and drafts a cover letter, but only fills in answers and the letter after confirmation and never submits an application without explicit permission. Every action is classified by risk: read and low run immediately, sensitive and irreversible need a one-time token with a limited lifetime, and critical actions (payments, purchases, money transfers) are blocked outright with no way to confirm them. Dry-run is on by default: even a confirmed flow won't press the final apply button until it's explicitly turned off. A separate generic browser-control module gives basic tab-opening, clicking and field-filling tools under the same risk model, not tied to hh.ru.

Who it is for. For job seekers who want to automate filling in an hh.ru application but insist on manual confirmation before it's actually sent.

Good fit when

  • You need help drafting a cover letter and answers to employer questions in a real hh.ru tab
  • It matters that an application never goes out without explicit confirmation, and that payment actions are blocked outright
  • You need general risk-aware browser control, not just the hh.ru flow

Not a fit when

  • You need fully autonomous bulk application submission with no confirmation: the MVP deliberately doesn't do that
  • You don't want to open Chrome with a debug port: the author describes CDP access as very powerful and says it should only listen on 127.0.0.1
  • You need ready-made candidate-answer tools (parse_resume_context, fill_question_answers): those are listed as planned, not implemented

Example request

Open this hh.ru vacancy, check if the employer has a required question, and draft a cover letter, but don't submit without me

MCP

Transport
stdio
Authentication
not required

Environment variables

CDP_URL required
The local Chrome DevTools Protocol address, defaults to http://127.0.0.1:9222.
DRY_RUN
On by default (true): the final apply button is never pressed even with confirmation.
ALLOWED_DOMAINS
The list of domains where hh.ru automation is allowed, e.g. hh.ru,ramenskoe.hh.ru.

Limitations

The project calls itself an MVP and a TypeScript learning exercise. It requires running Chrome with an open local debug port, and the author explicitly warns against exposing it externally. Several tools (resume context parsing, filling candidate answers, a full submit_response) are listed in the README as planned, not implemented. There's no automatic tab recovery by URL or title after a tab closes or Chrome restarts if several similar tabs exist.

How to disable. Stop the MCP process and close the debug-port Chrome instance, then remove the server from your client configuration.

FAQ

Can the server submit an application without my knowledge?

No, by design an application is never sent without explicit confirmation, and with DRY_RUN=true the final button isn't pressed at all.

Can the server make a payment or purchase?

No, such actions are classified as critical and are blocked outright with no way to confirm them.

Discussion

No questions or reviews yet.

Russian stack

An MCP server that emulates an hh.ru browser session via Playwright for search, AI vacancy scoring and automatic applications with a daily cap

MCP serverBroad access1Repository stars
Russian stack

A browser-based MCP server for job search on hh.ru: resume-matched vacancy recommendations, applications and statuses

MCP serverBroad access3Repository stars
Russian stack

An MCP server with 52 tools over the official hh.ru API: vacancy search with no token, employer resumes and applications with one, and salary statistics

MCP serverExtended access
Russian stack

A FastMCP server with 43 hh.ru tools: signs in via the official hh.ru Android app's OAuth, no need to register your own app at dev.hh.ru

MCP serverBroad access
Russian stack

A Node.js and Playwright script suite that searches hh.ru vacancies, scores them with an LLM, drafts cover letters and opens the application in a browser

CLIBroad access2Repository stars
Russian stack

An MCP server for the employer side of the hh.ru and hh.kz API: your vacancies, applications, resume search, sourcing and webhooks through an OAuth app

MCP serverBroad access1Repository stars

README in short

The README describes the safety model in detail: no credential storage, dry-run by default, one-time confirmation tokens with a TTL, a full block on payment actions, and separate prepare/submit tool pairs for different hh.ru application flows. It includes an architecture diagram, a table of implemented and planned MCP tools, Chrome debug-port launch instructions for macOS, Linux and Windows, and a list of environment variables. It separately notes the project is not an official Google, Chromium or hh.ru product.

README badge

Report a problem