MCP-сервер для Хабр Карьеры
habr-mcp
MCP-сервер для редактирования своего профиля на career.habr.com через сессионную куку, потому что официальный API только читает
Высокий риск
Высокий уровень ставим, когда инструмент пишет во внешние системы, работает с деньгами, рабочими базами или секретами либо выполняет произвольные команды. CLI поставит его только после вашего согласия.
Почему такой уровень
- Использует куку сессии, дающую полный доступ к аккаунту Хабр Карьеры
- Пишет данные в профиль через формы сайта, а не через официальный API
Установка
В терминале, через SkillFoxx CLI
npx skillfoxx add mcp/habr-mcpОпределит агенты на машине, проверит риск и зафиксирует версию.
Другие способы установки
Собрано автоматически, проверьте перед установкой.
У записи высокий риск, поэтому установки в один клик нет. Посмотрите код и добавьте конфиг вручную.
Выполните в терминале
claude mcp add --transport stdio --env 'HABR_COOKIE=<ваш HABR_COOKIE>' habr-mcp -- uvx run --script server.pyИли добавьте в файл .mcp.json, в проекте
{
"mcpServers": {
"habr-mcp": {
"command": "uvx",
"args": [
"run",
"--script",
"server.py"
],
"env": {
"HABR_COOKIE": "<ваш HABR_COOKIE>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers.
Ключи и настройки
HABR_COOKIEсекрет, обязательная- Cookie from career.habr.com (_career_session and remember_user_token)
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Добавьте в файл ~/.cursor/mcp.json, для всех проектов
{
"mcpServers": {
"habr-mcp": {
"command": "uvx",
"args": [
"run",
"--script",
"server.py"
],
"env": {
"HABR_COOKIE": "<ваш HABR_COOKIE>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers. Для одного проекта тот же блок кладут в .cursor/mcp.json.
Ключи и настройки
HABR_COOKIEсекрет, обязательная- Cookie from career.habr.com (_career_session and remember_user_token)
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Выполните в терминале
code --add-mcp '{"name":"habr-mcp","type":"stdio","command":"uvx","args":["run","--script","server.py"],"env":{"HABR_COOKIE":"<ваш HABR_COOKIE>"}}'Или добавьте в файл .vscode/mcp.json, в проекте
{
"servers": {
"habr-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"run",
"--script",
"server.py"
],
"env": {
"HABR_COOKIE": "<ваш HABR_COOKIE>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа servers.
Ключи и настройки
HABR_COOKIEсекрет, обязательная- Cookie from career.habr.com (_career_session and remember_user_token)
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Выполните в терминале
codex mcp add habr-mcp --env 'HABR_COOKIE=<ваш HABR_COOKIE>' -- uvx run --script server.pyИли добавьте в файл ~/.codex/config.toml, для всех проектов
[mcp_servers.habr-mcp]
command = "uvx"
args = ["run", "--script", "server.py"]
env = { HABR_COOKIE = "<ваш HABR_COOKIE>" }Если файл уже есть, допишите блок в конец.
Ключи и настройки
HABR_COOKIEсекрет, обязательная- Cookie from career.habr.com (_career_session and remember_user_token)
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Добавьте в файл ~/.gemini/settings.json, для всех проектов
{
"mcpServers": {
"habr-mcp": {
"command": "uvx",
"args": [
"run",
"--script",
"server.py"
],
"env": {
"HABR_COOKIE": "<ваш HABR_COOKIE>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers.
Ключи и настройки
HABR_COOKIEсекрет, обязательная- Cookie from career.habr.com (_career_session and remember_user_token)
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Добавьте в файл ~/.config/devin/mcp_config.json, для всех проектов
{
"mcpServers": {
"habr-mcp": {
"command": "uvx",
"args": [
"run",
"--script",
"server.py"
],
"env": {
"HABR_COOKIE": "<ваш HABR_COOKIE>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers. В легаси Cascade конфиг MCP лежит в ~/.codeium/windsurf/mcp_config.json.
Ключи и настройки
HABR_COOKIEсекрет, обязательная- Cookie from career.habr.com (_career_session and remember_user_token)
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Бывший Windsurf.
Добавьте в файл cline_mcp_settings.json, для всех проектов
{
"mcpServers": {
"habr-mcp": {
"command": "uvx",
"args": [
"run",
"--script",
"server.py"
],
"env": {
"HABR_COOKIE": "<ваш HABR_COOKIE>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers. Файл настроек открывается в Cline: вкладка MCP Servers, кнопка Configure MCP Servers.
Ключи и настройки
HABR_COOKIEсекрет, обязательная- Cookie from career.habr.com (_career_session and remember_user_token)
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Добавьте в файл .roo/mcp.json, в проекте
{
"mcpServers": {
"habr-mcp": {
"command": "uvx",
"args": [
"run",
"--script",
"server.py"
],
"env": {
"HABR_COOKIE": "<ваш HABR_COOKIE>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers.
Ключи и настройки
HABR_COOKIEсекрет, обязательная- Cookie from career.habr.com (_career_session and remember_user_token)
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Форк Roo Code, папки .roo те же.
Добавьте в файл opencode.json, в проекте
{
"mcp": {
"habr-mcp": {
"type": "local",
"command": [
"uvx",
"run",
"--script",
"server.py"
],
"environment": {
"HABR_COOKIE": "<ваш HABR_COOKIE>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcp.
Ключи и настройки
HABR_COOKIEсекрет, обязательная- Cookie from career.habr.com (_career_session and remember_user_token)
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Добавьте в файл ~/.config/zed/settings.json, для всех проектов
{
"context_servers": {
"habr-mcp": {
"command": "uvx",
"args": [
"run",
"--script",
"server.py"
],
"env": {
"HABR_COOKIE": "<ваш HABR_COOKIE>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа context_servers.
Ключи и настройки
HABR_COOKIEсекрет, обязательная- Cookie from career.habr.com (_career_session and remember_user_token)
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Добавьте в файл .codeassistant/mcp.json, в проекте
{
"mcpServers": {
"habr-mcp": {
"command": "uvx",
"args": [
"run",
"--script",
"server.py"
],
"env": {
"HABR_COOKIE": "<ваш HABR_COOKIE>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers.
Ключи и настройки
HABR_COOKIEсекрет, обязательная- Cookie from career.habr.com (_career_session and remember_user_token)
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Возьми в DevTools браузера куки _career_session и remember_user_token со страницы career.habr.com, положи их в переменную HABR_COOKIE, затем подключи сервер командой uv run --script server.py в конфигурации MCP клиента.
Другие способы из описания автора
uv run --script server.py --checkПроверка, что кука HABR_COOKIE еще действует, выводит логин.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Официальный OAuth API Хабр Карьеры отдает данные только на чтение, поэтому сервер пишет так же, как это делает браузер: через Rails-формы с CSRF-токеном и куку сессии пользователя. Инструменты позволяют проверить, что кука еще действует, получить HTML или JSON любой страницы профиля с очисткой от скриптов и стилей, разобрать схему формы с текущими значениями и опциями, отправить только нужные поля формы, сохранив остальные, и задать пользователю уточняющий вопрос через elicitation. Ответ на отправку формы явно помечен SAVED или NOT SAVED с причиной, потому что Rails возвращает ошибки валидации с кодом 200.
Для кого. Для тех, кто хочет обновлять свой профиль на Хабр Карьере через агента вместо ручного заполнения форм на сайте.
Подходит, если
- Нужно быстро обновить зарплатные ожидания, навыки или статус поиска работы в профиле
- Нужно разобраться, какие поля есть в конкретной форме профиля перед изменением
- Нужно изменить одно поле, не затронув остальные данные профиля
Не подходит, если
- Нужен доступ к чужому профилю: сервер работает только с курой сессии владельца аккаунта
- Нужна работа с профилем без браузерной куки: официальный API для этого только читает
Пример запроса к агенту
Обнови зарплатные ожидания в моем профиле на Хабр Карьере на 500000 рублейОграничения
Проект одного автора, без лицензии и релизов, требует вручную вытащить куку _career_session и remember_user_token из DevTools браузера. Кука действует ограниченное время, автор указывает примерно до сентября, после чего сервер сообщит анонимный статус и куку нужно обновить вручную. Готового типизированного инструмента создания резюме нет намеренно, страница используется как своя схема.
Как отключить. Удалите запись habr из конфигурации MCP клиента и, если нужно, отзовите сессию Хабр Карьеры на сайте.
MCP
- Транспорт
- stdio
- Авторизация
- API-ключ
| Переменные окружения | |
|---|---|
| HABR_COOKIE обязательная, секрет | Куки _career_session и remember_user_token из браузера, дают доступ к аккаунту пользователя. |
Проверка безопасности
- Использует куку сессии, дающую полный доступ к аккаунту Хабр Карьеры
- Пишет данные в профиль через формы сайта, а не через официальный API
Коротко о README
README объясняет, почему нужна кука сессии вместо официального API, дает команды для получения и проверки куки и подключения сервера в MCP-клиенте. Описаны четыре инструмента: проверка сессии, чтение страницы, разбор формы и отправка полей с явным статусом сохранения. В конце список тестов, часть из которых требует реального аккаунта и меняет живой профиль.
Частые вопросы
Почему сервер не использует официальный API Хабр Карьеры?
Официальный OAuth API дает только чтение, а изменение профиля возможно только через веб-формы, поэтому сервер повторяет поведение браузера с CSRF-токеном.
Можно ли случайно стереть данные профиля при изменении одного поля?
Нет, habr_submit отправляет только переданные поля, а остальные пересылает как есть, включая поля Vue вроде навыков и языков.
Похожие
Самостоятельно размещаемая база знаний с блочными ссылками и встроенным MCP-сервером для подключения AI-агентов к заметкам
CLI для всех API Google Workspace с выводом в JSON и набором скиллов для агентов: Drive, Gmail, Calendar, Sheets и другие
Локальный поиск по заметкам, документации и расшифровкам встреч в Markdown: ключевые слова, смысловой поиск и ранжирование, есть MCP
Менеджер задач для AI-разработки: разбирает PRD на задачи с зависимостями и ведет агента по ним через MCP или CLI