Refine Job Search
Refine Job Search ведёт поиск работы и переписку с рекрутерами через ассистента
Что умеет
- Отслеживать вакансии и статус отклика по каждой
- Оценивать соответствие вакансий профилю пользователя
- Читать переписку с рекрутерами и готовить черновики ответов
- Фиксировать собеседования и предложения о работе
- Отслеживать компании и получать рекомендации похожих вакансий
Какие данные видит
Ассистент работает с личным списком вакансий, историей переписки и почтой пользователя; отправка писем требует явного подтверждения.
Нужен ли аккаунт
Не нужен: сервер работает без входа
Refine — MCP-сервер для управления поиском работы из Claude, ChatGPT или другого ассистента. Он хранит модель предпочтений пользователя, показывает подходящие вакансии с оценкой соответствия, читает переписку с рекрутерами и помогает готовить ответы. История поиска сохраняется между сессиями и разными ассистентами, подключение защищено OAuth.
Как подключить
Как подключить Refine Job Search к Claude
Адрес сервера, который нужно вставить в настройках Claude:
https://refine--getrefine.run.tools
- Откройте Claude (сайт claude.ai или приложение для компьютера).
- Перейдите в Настройки → Коннекторы (в английском интерфейсе: Settings → Connectors).
- Нажмите Добавить пользовательский коннектор (Add custom connector).
- Вставьте адрес сервера, скопированный ниже, в поле URL удалённого MCP-сервера и нажмите Добавить.
- В чате нажмите + → Коннекторы и включите новый коннектор.
Пользовательские коннекторы доступны на тарифах Free, Pro, Max, Team и Enterprise. На Free можно добавить только один. В Team и Enterprise коннектор сначала добавляет владелец организации в Настройки организации → Коннекторы.
Авторизация
После нажатия Добавить откроется окно входа в сервис. Войдите под своим аккаунтом и подтвердите доступ. Пароль Claude не видит.
Как подключить Refine Job Search к ChatGPT
Адрес сервера, который нужно вставить в настройках ChatGPT:
https://refine--getrefine.run.tools
- Откройте ChatGPT в браузере (chatgpt.com). Нужен тариф Plus, Pro, Business, Enterprise или Edu.
- Один раз включите режим разработчика: Настройки → Приложения → Дополнительные настройки → Режим разработчика (Settings → Apps → Advanced settings → Developer mode).
- Откройте Настройки → Коннекторы и нажмите Создать (Create).
- Заполните форму: Название (любое), Описание (одна фраза, что делает сервис), URL MCP-сервера (скопируйте ниже).
- В поле Аутентификация выберите OAuth, если сервис требует вход, иначе Нет. Нажмите Создать.
- В новом чате откройте + → Приложения/Коннекторы и включите коннектор.
Название раздела у OpenAI менялось (Connectors → Apps/Plugins). Если пункт называется иначе, ищите «режим разработчика» в настройках. В рабочих пространствах Business/Enterprise администратор должен разрешить пользовательские коннекторы.
Авторизация
При первом использовании ChatGPT откроет окно входа в сервис. Войдите и подтвердите доступ.
Как подключить Refine Job Search к Cursor
Адрес сервера, который нужно вставить в настройках Cursor:
https://refine--getrefine.run.tools
Быстрый способ: нажмите кнопку Открыть в Cursor ниже, Cursor сам предложит добавить сервер.
Вручную:
- В Cursor откройте Settings → Cursor Settings → MCP и нажмите Add new global MCP server.
- Вставьте JSON, скопированный ниже, в открывшийся файл
~/.cursor/mcp.json(для одного проекта:.cursor/mcp.jsonв корне проекта). - Сохраните файл. Сервер появится в списке MCP; при необходимости пройдите авторизацию по кнопке рядом с ним.
Авторизация
Если сервис требует вход, рядом с сервером в списке MCP появится кнопка авторизации.
Список инструментов сервера (55)
Технические названия из tools/list. Нужны только разработчикам.
| jobs.list | List jobs in your journey |
| jobs.get | Get details of a specific job |
| jobs.add | Add a new job to your journey |
| jobs.update | Update a job in your journey |
| jobs.delete | Permanently delete a job and its application from the board. Confirm with the user first; it cannot be undone. To hide a job without recording a rejection or closure, use jobs.archive instead. |
| jobs.refresh | Queue a job posting to be re-scraped. The returned job may remain pending; use jobs.get later to inspect the refreshed state. |
| jobs.mark_applied | Mark a job as applied |
| jobs.archive | Hide a job from the active board without recording a rejection or closing the application |
| jobs.unarchive | Restore an archived job to the active board |
| jobs.interviews.add | Log an interview for a job |
| jobs.interviews.update | Update an existing interview |
| jobs.interviews.delete | Permanently delete an interview from a job. Confirm with the user first; it cannot be undone. |
| jobs.offer.create | Record a job offer with compensation details |
| jobs.offer.update | Update the offer recorded for a job |
| jobs.offer.delete | Permanently delete the offer recorded for a job (the job stays). Use only to fix a mistake, and confirm with the user first; it cannot be undone. |
| jobs.offer.accept | Accept the offer for a job. This is a major state change that closes out the search for this role; confirm with the user before calling. It does not email the employer. |
| jobs.offer.decline | Decline the offer for a job, a major state change; confirm with the user first. It does not email the employer. |
| jobs.offer.add_negotiation | Log a negotiation event on an offer (counter-offer, update, etc.) |
| jobs.offer.delete_negotiation | Remove a negotiation event from an offer |
| signals.list | List companies you are tracking |
| signals.track | Start tracking a company for new job openings |
| signals.update | Update filters on a tracked company |
| signals.untrack | Stop tracking a company and delete its signal. Confirm with the user first; they stop getting new openings from it. To stop notifications temporarily instead, use signals.pause. |
| signals.pause | Pause tracking for a company |
| signals.resume | Resume tracking for a company |
| signals.openings.save | Save a matched opening returned by signals.openings.list to your job journey |
| signals.list_applied_jobs | List jobs in your journey that came from a tracked company |
| signals.openings.list | List signal notifications (new openings at tracked companies) |
| signals.openings.mark_read | Mark one opening notification returned by signals.openings.list as read |
| signals.openings.mark_all_read | Mark every unread opening notification as read after the user confirms the bulk action |
| inbox.list | List email conversations Refine matched to your job search (applications, interviews, recruiter outreach) |
| inbox.get | Get one inbox item with its related job and application |
| inbox.get_thread | Fetch the full email thread for an inbox item |
| inbox.draft_reply | Generate an AI reply draft for an inbox item. Returns HTML for review; it does not send anything. |
| inbox.send_reply | Send an email reply through the user's Gmail. This emails a real person from the user's address. Only call after the user has seen the exact message body and explicitly approved sending it. |
| inbox.apply_suggestion | Apply an inbox item's suggested action, such as adding an application to the board or recording a rejection. Confirm the specific action with the user first. |
| inbox.undo | Undo an auto-applied inbox action. This can delete a board record that the automatic action created, so confirm with the user first. |
| inbox.mark_read | Clear an inbox item's unread-reply flag |
| inbox.unsubscribe | Unsubscribe the user from this sender's mailing list via one-click list-unsubscribe. This changes the user's real email subscriptions; confirm with them before calling. Use it for unwanted bulk senders, not for a person you can simply decline. |
| inbox.dismiss | Dismiss inbox items you are not acting on (also marks the mail read in Gmail) |
| inbox.acknowledge | Keep auto-applied inbox items as-is and finalize the automatic action. Confirm the specific items with the user first. |
| inbox.decline | Queue decline replies to recruiter outreach. Depending on the user's preference this SENDS email from their address. Only call after the user explicitly approved declining these specific conversations. |
| inbox.refresh | Check Gmail for new mail now; returns per-account sync status |
| inbox.sync_status | Per-account Gmail synchronization status, including current progress and last sync time |
| persona.get | Get the user's persona: inferred job-search preferences and traits with an understanding score. Use it to tailor advice and searches. |
| signals.recommendations.list | List companies recommended from one company you track. Get signal_id from signals.list. |
| signals.recommendations.get | Get one recommended company with sources and persona fit |
| signals.recommendations.watch | Start tracking a recommended company (converts it into a signal) |
| signals.recommendations.dismiss | Dismiss a recommended company |
| signals.recommendations.block | Dismiss a recommended company and block it from future recommendations |
| signals.recommendations.restore | Restore a dismissed or blocked recommendation |
| signals.recommendations.feedback | Record why a recommendation was or was not a fit; this sharpens future recommendations and the persona |
| account.agenda | Get upcoming interviews and action items |
| integrations.list | List connected Google accounts and their grant status. To connect a new account, use integrations.connect_google. |
| integrations.connect_google | Get a link for the user to connect Gmail to Refine or approve a missing Gmail permission. Refine selects the permission needed for the connected account. The connection happens in the browser with no Refine sign-in required. Share the link only with the owner of this Refine account. |