iflow-mcp_gmen1057-headhunter-mcp-server 0.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- .env.example +12 -0
- .gitignore +30 -0
- 3090_process.log +4 -0
- CONTRIBUTING.md +86 -0
- LICENSE +21 -0
- PKG-INFO +326 -0
- README.md +314 -0
- docs/vacancy-hunter.md +150 -0
- examples/README.md +90 -0
- examples/oauth_flow.py +177 -0
- hh_client.py +573 -0
- iflow_mcp_gmen1057_headhunter_mcp_server-0.1.0.dist-info/METADATA +326 -0
- iflow_mcp_gmen1057_headhunter_mcp_server-0.1.0.dist-info/RECORD +23 -0
- iflow_mcp_gmen1057_headhunter_mcp_server-0.1.0.dist-info/WHEEL +4 -0
- iflow_mcp_gmen1057_headhunter_mcp_server-0.1.0.dist-info/entry_points.txt +2 -0
- iflow_mcp_gmen1057_headhunter_mcp_server-0.1.0.dist-info/licenses/LICENSE +21 -0
- language.json +1 -0
- oauth_flow.py +69 -0
- package_name +1 -0
- push_info.json +5 -0
- pyproject.toml +22 -0
- requirements.txt +4 -0
- server.py +496 -0
README.md
ADDED
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
# HeadHunter MCP Server
|
|
2
|
+
|
|
3
|
+
[](https://www.python.org/downloads/)
|
|
4
|
+
[](https://modelcontextprotocol.io/)
|
|
5
|
+
[](https://dev.hh.ru/)
|
|
6
|
+
[](https://opensource.org/licenses/MIT)
|
|
7
|
+
|
|
8
|
+
[English](#english) | [Русский](#russian)
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## English
|
|
13
|
+
|
|
14
|
+
**MCP (Model Context Protocol) server for integrating HeadHunter API with Claude Code and other MCP clients.**
|
|
15
|
+
|
|
16
|
+
HeadHunter (hh.ru) is the largest job search platform in Russia and CIS countries. This MCP server provides seamless integration with HeadHunter API, enabling AI assistants to search vacancies, manage resumes, and apply to jobs on your behalf.
|
|
17
|
+
|
|
18
|
+
### Features
|
|
19
|
+
|
|
20
|
+
- 🔍 **Advanced Vacancy Search** - Filter by location, salary, experience, employment type
|
|
21
|
+
- 📄 **Resume Management** - View and manage your HeadHunter resumes
|
|
22
|
+
- ✉️ **Job Applications** - Apply to vacancies with custom cover letters
|
|
23
|
+
- 🏢 **Company Information** - Get detailed employer data
|
|
24
|
+
- 📊 **Application Tracking** - Monitor your job application history
|
|
25
|
+
- 🤖 **AI-Powered Agent** - Automated vacancy hunter with intelligent matching
|
|
26
|
+
- 🔐 **OAuth 2.0** - Secure authorization with HeadHunter
|
|
27
|
+
|
|
28
|
+
### Available Tools (10)
|
|
29
|
+
|
|
30
|
+
1. **hh_search_vacancies** - Search for job vacancies
|
|
31
|
+
2. **hh_get_vacancy** - Get detailed vacancy information
|
|
32
|
+
3. **hh_get_employer** - Get company/employer details
|
|
33
|
+
4. **hh_get_similar** - Find similar vacancies
|
|
34
|
+
5. **hh_get_areas** - Get list of regions/cities
|
|
35
|
+
6. **hh_get_dictionaries** - Get reference data (experience, employment types, etc.)
|
|
36
|
+
7. **hh_get_resumes** - Get your resumes list
|
|
37
|
+
8. **hh_get_resume** - Get detailed resume information
|
|
38
|
+
9. **hh_apply_to_vacancy** - Apply to a vacancy (requires OAuth)
|
|
39
|
+
10. **hh_get_negotiations** - Get application history (requires OAuth)
|
|
40
|
+
|
|
41
|
+
### Quick Start
|
|
42
|
+
|
|
43
|
+
#### 1. Installation
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
git clone https://github.com/yourusername/headhunter-mcp-server.git
|
|
47
|
+
cd headhunter-mcp-server
|
|
48
|
+
python -m venv venv
|
|
49
|
+
source venv/bin/activate # On Windows: venv\Scripts\activate
|
|
50
|
+
pip install -r requirements.txt
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
#### 2. Get HeadHunter API Credentials
|
|
54
|
+
|
|
55
|
+
1. Register your application at [https://dev.hh.ru/admin](https://dev.hh.ru/admin)
|
|
56
|
+
2. Get Client ID, Client Secret, and App Token
|
|
57
|
+
3. Copy `.env.example` to `.env` and fill in your credentials
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
cp .env.example .env
|
|
61
|
+
# Edit .env with your credentials
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
#### 3. Configure Claude Code
|
|
65
|
+
|
|
66
|
+
Add to your `~/.claude.json`:
|
|
67
|
+
|
|
68
|
+
```json
|
|
69
|
+
{
|
|
70
|
+
"mcpServers": {
|
|
71
|
+
"headhunter": {
|
|
72
|
+
"type": "stdio",
|
|
73
|
+
"command": "/path/to/venv/bin/python",
|
|
74
|
+
"args": ["/path/to/headhunter-mcp-server/server.py"],
|
|
75
|
+
"env": {
|
|
76
|
+
"HH_CLIENT_ID": "your_client_id",
|
|
77
|
+
"HH_CLIENT_SECRET": "your_client_secret",
|
|
78
|
+
"HH_APP_TOKEN": "your_app_token",
|
|
79
|
+
"HH_REDIRECT_URI": "https://your-domain.com/oauth/callback"
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
#### 4. OAuth Authorization (Optional)
|
|
87
|
+
|
|
88
|
+
For job applications and resume management:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
python examples/oauth_flow.py
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Follow the instructions to authorize and get access tokens.
|
|
95
|
+
|
|
96
|
+
### Usage Examples
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
# Search for Python jobs in Moscow
|
|
100
|
+
Find 10 Python developer vacancies in Moscow with salary from 200000
|
|
101
|
+
|
|
102
|
+
# View your resumes
|
|
103
|
+
Show my resumes
|
|
104
|
+
|
|
105
|
+
# Get vacancy details
|
|
106
|
+
Show details for vacancy 126209046
|
|
107
|
+
|
|
108
|
+
# Apply to a job (after OAuth)
|
|
109
|
+
Apply to vacancy 126209046 with resume [resume_id] and cover letter: "Hello..."
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Vacancy Hunter Agent
|
|
113
|
+
|
|
114
|
+
Automated agent for intelligent vacancy search and analysis. See [docs/vacancy-hunter-agent.md](docs/vacancy-hunter-agent.md) for details.
|
|
115
|
+
|
|
116
|
+
**Features:**
|
|
117
|
+
- Analyzes multiple resumes simultaneously
|
|
118
|
+
- Scores vacancies by relevance (0-30 points)
|
|
119
|
+
- Generates CSV reports with AI-powered recommendations
|
|
120
|
+
- Focuses on Moscow region only
|
|
121
|
+
|
|
122
|
+
**Usage:**
|
|
123
|
+
```bash
|
|
124
|
+
Run vacancy-hunter agent
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Project Structure
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
headhunter-mcp-server/
|
|
131
|
+
├── server.py # MCP server (10 tools)
|
|
132
|
+
├── hh_client.py # HeadHunter API client
|
|
133
|
+
├── requirements.txt # Python dependencies
|
|
134
|
+
├── .env.example # Environment variables template
|
|
135
|
+
├── examples/
|
|
136
|
+
│ └── oauth_flow.py # OAuth authorization script
|
|
137
|
+
└── docs/
|
|
138
|
+
└── vacancy-hunter-agent.md # Agent documentation
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Requirements
|
|
142
|
+
|
|
143
|
+
- Python 3.10+
|
|
144
|
+
- Claude Code or any MCP-compatible client
|
|
145
|
+
- HeadHunter API credentials
|
|
146
|
+
|
|
147
|
+
### Contributing
|
|
148
|
+
|
|
149
|
+
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
150
|
+
|
|
151
|
+
### License
|
|
152
|
+
|
|
153
|
+
MIT License - see [LICENSE](LICENSE) file for details.
|
|
154
|
+
|
|
155
|
+
### Links
|
|
156
|
+
|
|
157
|
+
- [HeadHunter API Documentation](https://dev.hh.ru/)
|
|
158
|
+
- [Model Context Protocol](https://modelcontextprotocol.io/)
|
|
159
|
+
- [Claude Code Documentation](https://docs.claude.com/en/docs/claude-code)
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## Russian
|
|
164
|
+
|
|
165
|
+
**MCP сервер для интеграции HeadHunter API с Claude Code и другими MCP клиентами.**
|
|
166
|
+
|
|
167
|
+
HeadHunter (hh.ru) — крупнейшая платформа по поиску работы в России и странах СНГ. Этот MCP сервер обеспечивает бесшовную интеграцию с API HeadHunter, позволяя AI ассистентам искать вакансии, управлять резюме и откликаться на вакансии от вашего имени.
|
|
168
|
+
|
|
169
|
+
### Возможности
|
|
170
|
+
|
|
171
|
+
- 🔍 **Расширенный поиск вакансий** - Фильтрация по местоположению, зарплате, опыту, типу занятости
|
|
172
|
+
- 📄 **Управление резюме** - Просмотр и управление вашими резюме на HeadHunter
|
|
173
|
+
- ✉️ **Отклики на вакансии** - Подача заявок с персонализированными сопроводительными письмами
|
|
174
|
+
- 🏢 **Информация о компаниях** - Получение детальных данных о работодателях
|
|
175
|
+
- 📊 **Отслеживание откликов** - Мониторинг истории ваших откликов
|
|
176
|
+
- 🤖 **AI-агент** - Автоматизированный поиск вакансий с умным сопоставлением
|
|
177
|
+
- 🔐 **OAuth 2.0** - Безопасная авторизация через HeadHunter
|
|
178
|
+
|
|
179
|
+
### Доступные инструменты (10)
|
|
180
|
+
|
|
181
|
+
1. **hh_search_vacancies** - Поиск вакансий
|
|
182
|
+
2. **hh_get_vacancy** - Детальная информация о вакансии
|
|
183
|
+
3. **hh_get_employer** - Информация о компании/работодателе
|
|
184
|
+
4. **hh_get_similar** - Поиск похожих вакансий
|
|
185
|
+
5. **hh_get_areas** - Список регионов/городов
|
|
186
|
+
6. **hh_get_dictionaries** - Справочные данные (опыт, типы занятости и т.д.)
|
|
187
|
+
7. **hh_get_resumes** - Список ваших резюме
|
|
188
|
+
8. **hh_get_resume** - Детальная информация о резюме
|
|
189
|
+
9. **hh_apply_to_vacancy** - Откликнуться на вакансию (требует OAuth)
|
|
190
|
+
10. **hh_get_negotiations** - История откликов (требует OAuth)
|
|
191
|
+
|
|
192
|
+
### Быстрый старт
|
|
193
|
+
|
|
194
|
+
#### 1. Установка
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
git clone https://github.com/yourusername/headhunter-mcp-server.git
|
|
198
|
+
cd headhunter-mcp-server
|
|
199
|
+
python -m venv venv
|
|
200
|
+
source venv/bin/activate # В Windows: venv\Scripts\activate
|
|
201
|
+
pip install -r requirements.txt
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
#### 2. Получение credentials HeadHunter API
|
|
205
|
+
|
|
206
|
+
1. Зарегистрируйте приложение на [https://dev.hh.ru/admin](https://dev.hh.ru/admin)
|
|
207
|
+
2. Получите Client ID, Client Secret и App Token
|
|
208
|
+
3. Скопируйте `.env.example` в `.env` и заполните свои credentials
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
cp .env.example .env
|
|
212
|
+
# Отредактируйте .env своими credentials
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
#### 3. Настройка Claude Code
|
|
216
|
+
|
|
217
|
+
Добавьте в `~/.claude.json`:
|
|
218
|
+
|
|
219
|
+
```json
|
|
220
|
+
{
|
|
221
|
+
"mcpServers": {
|
|
222
|
+
"headhunter": {
|
|
223
|
+
"type": "stdio",
|
|
224
|
+
"command": "/путь/к/venv/bin/python",
|
|
225
|
+
"args": ["/путь/к/headhunter-mcp-server/server.py"],
|
|
226
|
+
"env": {
|
|
227
|
+
"HH_CLIENT_ID": "ваш_client_id",
|
|
228
|
+
"HH_CLIENT_SECRET": "ваш_client_secret",
|
|
229
|
+
"HH_APP_TOKEN": "ваш_app_token",
|
|
230
|
+
"HH_REDIRECT_URI": "https://ваш-домен.com/oauth/callback"
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
#### 4. OAuth авторизация (опционально)
|
|
238
|
+
|
|
239
|
+
Для откликов на вакансии и управления резюме:
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
python examples/oauth_flow.py
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
Следуйте инструкциям для авторизации и получения токенов доступа.
|
|
246
|
+
|
|
247
|
+
### Примеры использования
|
|
248
|
+
|
|
249
|
+
```bash
|
|
250
|
+
# Поиск Python вакансий в Москве
|
|
251
|
+
Найди 10 вакансий Python разработчика в Москве с зарплатой от 200000
|
|
252
|
+
|
|
253
|
+
# Просмотр резюме
|
|
254
|
+
Покажи мои резюме
|
|
255
|
+
|
|
256
|
+
# Детали вакансии
|
|
257
|
+
Покажи детали вакансии 126209046
|
|
258
|
+
|
|
259
|
+
# Отклик на вакансию (после OAuth)
|
|
260
|
+
Откликнись на вакансию 126209046 резюме [resume_id] с письмом: "Здравствуйте..."
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
### Vacancy Hunter Agent
|
|
264
|
+
|
|
265
|
+
Автоматизированный агент для умного поиска и анализа вакансий. Подробности в [docs/vacancy-hunter-agent.md](docs/vacancy-hunter-agent.md).
|
|
266
|
+
|
|
267
|
+
**Возможности:**
|
|
268
|
+
- Анализирует несколько резюме одновременно
|
|
269
|
+
- Оценивает релевантность вакансий (0-30 баллов)
|
|
270
|
+
- Генерирует CSV отчёты с AI рекомендациями
|
|
271
|
+
- Фокусируется только на регионе Москва
|
|
272
|
+
|
|
273
|
+
**Использование:**
|
|
274
|
+
```bash
|
|
275
|
+
Запусти агента vacancy-hunter
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
### Структура проекта
|
|
279
|
+
|
|
280
|
+
```
|
|
281
|
+
headhunter-mcp-server/
|
|
282
|
+
├── server.py # MCP сервер (10 инструментов)
|
|
283
|
+
├── hh_client.py # HeadHunter API клиент
|
|
284
|
+
├── requirements.txt # Python зависимости
|
|
285
|
+
├── .env.example # Шаблон переменных окружения
|
|
286
|
+
├── examples/
|
|
287
|
+
│ └── oauth_flow.py # Скрипт OAuth авторизации
|
|
288
|
+
└── docs/
|
|
289
|
+
└── vacancy-hunter-agent.md # Документация агента
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
### Требования
|
|
293
|
+
|
|
294
|
+
- Python 3.10+
|
|
295
|
+
- Claude Code или любой MCP-совместимый клиент
|
|
296
|
+
- HeadHunter API credentials
|
|
297
|
+
|
|
298
|
+
### Участие в разработке
|
|
299
|
+
|
|
300
|
+
Приветствуются любые вклады! Не стесняйтесь отправлять Pull Request.
|
|
301
|
+
|
|
302
|
+
### Лицензия
|
|
303
|
+
|
|
304
|
+
MIT License - подробности в файле [LICENSE](LICENSE).
|
|
305
|
+
|
|
306
|
+
### Ссылки
|
|
307
|
+
|
|
308
|
+
- [Документация HeadHunter API](https://dev.hh.ru/)
|
|
309
|
+
- [Model Context Protocol](https://modelcontextprotocol.io/)
|
|
310
|
+
- [Документация Claude Code](https://docs.claude.com/en/docs/claude-code)
|
|
311
|
+
|
|
312
|
+
---
|
|
313
|
+
|
|
314
|
+
**Made with ❤️ for the HeadHunter and MCP community**
|
docs/vacancy-hunter.md
ADDED
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vacancy-hunter
|
|
3
|
+
description: Analyzes user's resumes and finds relevant vacancies on HeadHunter, creates CSV reports with AI-powered matching scores
|
|
4
|
+
tools: mcp__headhunter__hh_get_resume, mcp__headhunter__hh_search_vacancies, mcp__headhunter__hh_get_vacancy, Write, Bash
|
|
5
|
+
model: inherit
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Vacancy Hunter Agent
|
|
9
|
+
|
|
10
|
+
You are an autonomous agent that searches and analyzes job vacancies on HeadHunter for the user.
|
|
11
|
+
|
|
12
|
+
## Your Mission
|
|
13
|
+
|
|
14
|
+
Analyze user's resumes, search for relevant vacancies in Moscow, evaluate matches, and create detailed CSV reports with recommendations.
|
|
15
|
+
|
|
16
|
+
## Target Resumes
|
|
17
|
+
|
|
18
|
+
Always analyze these 3 resumes:
|
|
19
|
+
1. **Head of Product** - ID: `7b7f2ea6ff0838f1ea0039ed1f704b31506463`
|
|
20
|
+
2. **Директор по электронной коммерции** - ID: `3d8654a4ff0f05c0590039ed1f4c5957513858`
|
|
21
|
+
3. **Операционный директор** - ID: `42b7d11eff0e77905f0039ed1f744a72386174`
|
|
22
|
+
|
|
23
|
+
## Search Criteria
|
|
24
|
+
|
|
25
|
+
**Location:** Only Moscow (area=1)
|
|
26
|
+
**Ignore:** Salary, experience requirements
|
|
27
|
+
**Focus:** Job title, description, company, key skills match
|
|
28
|
+
|
|
29
|
+
## Workflow
|
|
30
|
+
|
|
31
|
+
### 1. Load Resumes
|
|
32
|
+
```
|
|
33
|
+
For each resume_id:
|
|
34
|
+
- Call mcp__headhunter__hh_get_resume(resume_id)
|
|
35
|
+
- Extract: title, skills, experience, key competencies
|
|
36
|
+
- Create skill keywords list
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### 2. Search Vacancies
|
|
40
|
+
```
|
|
41
|
+
For each resume:
|
|
42
|
+
- Search by job title keywords
|
|
43
|
+
- Filter: area=1 (Moscow), per_page=50
|
|
44
|
+
- Get 50-100 relevant vacancies
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### 3. Analyze Each Vacancy
|
|
48
|
+
```
|
|
49
|
+
For each vacancy:
|
|
50
|
+
- Get full details with mcp__headhunter__hh_get_vacancy
|
|
51
|
+
- Match against resume:
|
|
52
|
+
* Title similarity (0-10)
|
|
53
|
+
* Skills overlap (0-10)
|
|
54
|
+
* Description relevance (0-10)
|
|
55
|
+
- Calculate total_score (0-30)
|
|
56
|
+
- Write brief AI comment (1-2 sentences)
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### 4. Generate CSV Report
|
|
60
|
+
```
|
|
61
|
+
Filename: vacancies_report_YYYY-MM-DD_HH-MM.csv
|
|
62
|
+
Location: /root/vacancy-reports/
|
|
63
|
+
|
|
64
|
+
Columns:
|
|
65
|
+
- vacancy_id: HH vacancy ID
|
|
66
|
+
- title: Job title
|
|
67
|
+
- company: Company name
|
|
68
|
+
- salary: Salary range or "Not specified"
|
|
69
|
+
- url: Direct link to vacancy
|
|
70
|
+
- resume_matched: Which resume (Head of Product / Ecommerce Director / COO)
|
|
71
|
+
- match_score: Total score (0-30)
|
|
72
|
+
- title_score: Title match (0-10)
|
|
73
|
+
- skills_score: Skills match (0-10)
|
|
74
|
+
- relevance_score: Description relevance (0-10)
|
|
75
|
+
- ai_comment: Your brief analysis
|
|
76
|
+
- found_at: Timestamp
|
|
77
|
+
|
|
78
|
+
Sort by: match_score DESC
|
|
79
|
+
Filter: Only include score >= 15 (50%+ match)
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Analysis Guidelines
|
|
83
|
+
|
|
84
|
+
**High Match (25-30):**
|
|
85
|
+
- Perfect title match
|
|
86
|
+
- 80%+ key skills overlap
|
|
87
|
+
- Job description perfectly aligns with resume experience
|
|
88
|
+
|
|
89
|
+
**Medium Match (20-24):**
|
|
90
|
+
- Similar title or role
|
|
91
|
+
- 50-80% skills overlap
|
|
92
|
+
- Good experience alignment
|
|
93
|
+
|
|
94
|
+
**Low Match (15-19):**
|
|
95
|
+
- Related field
|
|
96
|
+
- 30-50% skills overlap
|
|
97
|
+
- Partial experience match
|
|
98
|
+
|
|
99
|
+
**AI Comment Examples:**
|
|
100
|
+
- "Perfect match: Product leadership role with marketplace experience"
|
|
101
|
+
- "Good fit: E-commerce director with P&L responsibility"
|
|
102
|
+
- "Relevant: Operations role in tech company, lacks product focus"
|
|
103
|
+
|
|
104
|
+
## Important Rules
|
|
105
|
+
|
|
106
|
+
1. **DO NOT apply** to any vacancies
|
|
107
|
+
2. **DO NOT write** cover letters
|
|
108
|
+
3. **DO create** detailed CSV reports only
|
|
109
|
+
4. Search 50-100 vacancies per resume (150-300 total)
|
|
110
|
+
5. Report only matches with score >= 15
|
|
111
|
+
6. Always include timestamp in filename
|
|
112
|
+
7. Save reports to `/root/vacancy-reports/`
|
|
113
|
+
|
|
114
|
+
## Success Metrics
|
|
115
|
+
|
|
116
|
+
- CSV file created successfully
|
|
117
|
+
- At least 20-50 quality matches found
|
|
118
|
+
- Scores are realistic and well-justified
|
|
119
|
+
- Comments are concise and actionable
|
|
120
|
+
- User can easily review and select vacancies
|
|
121
|
+
|
|
122
|
+
## Example Output
|
|
123
|
+
|
|
124
|
+
After completion, report:
|
|
125
|
+
```
|
|
126
|
+
✅ Vacancy search completed!
|
|
127
|
+
|
|
128
|
+
Analyzed:
|
|
129
|
+
- Head of Product: 87 vacancies → 23 matches (score ≥15)
|
|
130
|
+
- Ecommerce Director: 64 vacancies → 18 matches
|
|
131
|
+
- COO: 73 vacancies → 15 matches
|
|
132
|
+
|
|
133
|
+
Total: 224 vacancies analyzed, 56 quality matches found
|
|
134
|
+
|
|
135
|
+
Report saved: /root/vacancy-reports/vacancies_report_2025-10-08_14-30.csv
|
|
136
|
+
|
|
137
|
+
Top matches:
|
|
138
|
+
1. [126xxx] Product Director @ Tech Company (score: 28/30)
|
|
139
|
+
2. [125xxx] Head of E-commerce @ Marketplace (score: 27/30)
|
|
140
|
+
3. [124xxx] COO @ FinTech Startup (score: 26/30)
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## Error Handling
|
|
144
|
+
|
|
145
|
+
- If resume not found: Skip and continue with others
|
|
146
|
+
- If search returns 0 results: Try broader keywords
|
|
147
|
+
- If API rate limit hit: Wait 60 seconds and retry
|
|
148
|
+
- Always complete report even if some resumes fail
|
|
149
|
+
|
|
150
|
+
Now go find the best job opportunities! 🎯
|
examples/README.md
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# Examples
|
|
2
|
+
|
|
3
|
+
## OAuth Authorization
|
|
4
|
+
|
|
5
|
+
To use features that require authentication (applying to vacancies, viewing resumes), you need to complete OAuth authorization.
|
|
6
|
+
|
|
7
|
+
### oauth_flow.py
|
|
8
|
+
|
|
9
|
+
Interactive script for obtaining OAuth tokens.
|
|
10
|
+
|
|
11
|
+
**Usage:**
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
python examples/oauth_flow.py
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
**Steps:**
|
|
18
|
+
|
|
19
|
+
1. Script generates authorization URL
|
|
20
|
+
2. Open URL in browser and authorize the application
|
|
21
|
+
3. Copy the authorization code from redirect URL
|
|
22
|
+
4. Paste code into terminal
|
|
23
|
+
5. Tokens are automatically saved to `.env`
|
|
24
|
+
|
|
25
|
+
**What you'll get:**
|
|
26
|
+
|
|
27
|
+
- `HH_ACCESS_TOKEN` - for making authenticated requests
|
|
28
|
+
- `HH_REFRESH_TOKEN` - for refreshing access token when it expires
|
|
29
|
+
|
|
30
|
+
**Token lifetime:** Access tokens expire after ~14 days. Use refresh token to get new access token.
|
|
31
|
+
|
|
32
|
+
## Example Queries
|
|
33
|
+
|
|
34
|
+
Once the MCP server is configured in Claude Code, you can use natural language queries:
|
|
35
|
+
|
|
36
|
+
### Search Vacancies
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
Find 10 Python developer jobs in Moscow with salary above 200000
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
Search for remote Product Manager positions
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### View Resumes
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
Show my resumes
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
Show details of resume with ID abc123
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Apply to Jobs
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
Apply to vacancy 126209046 with my Python Developer resume
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
Apply to vacancy 123456 with resume xyz789 and cover letter: "Dear Hiring Manager, I am excited to apply..."
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Track Applications
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
Show my last 20 job applications
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
Show status of my applications from this month
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Advanced: Using Vacancy Hunter Agent
|
|
77
|
+
|
|
78
|
+
The automated agent can search and analyze vacancies across multiple resumes:
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
Run vacancy-hunter agent
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
The agent will:
|
|
85
|
+
1. Load your specified resumes
|
|
86
|
+
2. Search for relevant vacancies
|
|
87
|
+
3. Score each vacancy by match quality (0-30 points)
|
|
88
|
+
4. Generate CSV report with recommendations
|
|
89
|
+
|
|
90
|
+
Results are saved to `/root/vacancy-reports/` (or your configured path).
|