Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Habr

БесплатноНе проверен

MCP server for career.habr.com — edit your Habr Career profile through Rails forms with a browser cookie

GitHubEmbed

Описание

MCP server for career.habr.com — edit your Habr Career profile through Rails forms with a browser cookie

README

MCP server for career.habr.com driven by a browser cookie. The official OAuth API is read-only, so this writes the way a browser does: Rails forms + X-CSRF-Token.

Cookie

DevTools → Application → Cookies → career.habr.com → grab _career_session (and remember_user_token so the session lasts longer).

cp .env.example .env   # put HABR_COOKIE in it
set -a && . ./.env && set +a
uv run --script server.py --check   # → "logged in: <login>"

Wiring it up

{"mcpServers": {"habr": {
  "command": "uv", "args": ["run", "--script", "/home/kirill/Projects/habr-mcp/server.py"],
  "env": {"HABR_COOKIE": "_career_session=...; remember_user_token=..."}
}}}

Tools

  • habr_whoami — is the cookie still alive
  • habr_get(path, raw=False) — HTML/JSON of any page; by default strips script/style/svg (−70% of the bytes: fonts and mixpanel). Pass raw=True when grepping JS chunks.
  • habr_form(path) — form schema: field names, current values, select options, plus the Vue state from data-ssr-state (skills, specializations, languages, dates).
  • habr_submit(path, data) — writes only the fields in data and resends the rest as they are (Rails writes the whole form, so anything omitted gets blanked). Action and method come from the form itself; Vue fields are filled in automatically. The first line of the response is SAVED or NOT SAVED: <reason> — Rails returns validation failures with HTTP 200, so the status code alone lies.
  • habr_ask(question) — ask the user something (MCP elicitation).
habr_form("/profile/specialization")
# POST /profile/specialization
#   _method='patch', user[work_state]='search' of [...], user[salary]='400000', ...
#   data-ssr-state: selectedSkills, selectedCategories, selectedLanguages
habr_submit("/profile/specialization", {"user[salary]": "500000"})
# SAVED HTTP 200 PATCH ...

Entry points: /profile/personal/edit, /profile/specialization, /profile/experiences/new, /profile/university_educations/new, /profile/additional_educations/new.

There is deliberately no typed create_resume: the page is its own schema.

The cookie lives until roughly September (remember_user_token); after that habr_whoami reports "anonymous".

Tests

./server.py --check      # form parser, Vue fields, verdicts (offline) + live csrf
./test_ask.py            # elicitation over stdio
./test_submit_live.py    # editing one field must not wipe skills/languages — real profile
./test_tools_live.py     # HTML stripping, Vue in habr_form, validation-error parsing

The last three hit the network and edit a live profile (salary there and back), so they need a working .env.

from github.com/ll1r1k-1337/habr-mcp

Установка Habr

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/ll1r1k-1337/habr-mcp

FAQ

Habr MCP бесплатный?

Да, Habr MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Habr?

Нет, Habr работает без API-ключей и переменных окружения.

Habr — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Habr в Claude Desktop, Claude Code или Cursor?

Открой Habr на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Playwright

Browser automation, scraping, screenshots

Microsoftавтор: Microsoft

Puppeteer

Browser automation and web scraping.

modelcontextprotocolавтор: modelcontextprotocol

opentabs-dev/opentabs

Plugin-based MCP server + Chrome extension that gives AI agents access to web applications through the user's authenticated browser session. 100+ plugins with a

opentabs-devавтор: opentabs-dev

robhunter/agentdeals

1,500+ developer infrastructure deals, free tiers, and startup programs across 54 categories. Search deals, compare vendors, plan stacks, and track pricing chan

robhunterавтор: robhunter

hlydecker/ucsc-genome-mcp

MCP server to interact with the UCSC Genome Browser API, letting you find genomes, chromosomes, and more.

hlydeckerавтор: hlydecker

34892002/bilibili-mcp-js

A MCP server that supports searching for Bilibili content. Provides LangChain integration examples and test scripts.

34892002автор: 34892002

achiya-automation/safari-mcp

Native Safari browser automation for AI agents with 80+ tools. No Chrome dependency, optimized for Apple Silicon with 60% less CPU overhead.

achiya-automationавтор: achiya-automation

agent-infra/mcp-server-browser

Browser automation capabilities using Puppeteer, both support local and remote browser connection.

bytedanceавтор: bytedance

aparajithn/agent-scraper-mcp

Web scraping MCP server for AI agents. 6 tools: clean content extraction, structured scraping with CSS selectors, full-page screenshots via Playwright, link ext

aparajithnавтор: aparajithn

apireno/DOMShell

Browse the web using filesystem commands (ls, cd, grep, click). 38 MCP tools map Chrome's Accessibility Tree to a virtual filesystem via a Chrome Extension.

apirenoавтор: apireno

Compare Habr with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории browse