MCP-сервер для Kwork: агент готовит, отправляете вы
Подключает ваш аккаунт Kwork к ИИ-агенту: Claude Code, Claude Desktop, Codex, Cursor и другим MCP-клиентам. Агент ищет проекты на бирже, читает диалоги, заказы и отклики, готовит ответы. Отправить что-то на Kwork он может, только если вы включили запись, и только после вашего подтверждения.
uvx --from kwork-mcp==1.3.0 kwork-mcp-bootstrap
Бесплатно, лицензия MIT. Работает на macOS и Linux с Python 3.12–3.14. Версия 1.3.0, 22 инструмента, kwork.ru и kwork.com. Пакет на PyPI.
выПодготовь отклик на проект 3257238: 15 000 ₽, 5 дней
агентget_project 3257238ok
prepare_write submit_offerok
Отклик подготовлен. Проверьте текст и цену.
- Проект
- 3257238
- Заголовок
- Telegram-бот для записи клиентов
- Текст
- Здравствуйте! Разберу ваш проект и сделаю бота на aiogram: запись по свободным слотам, напоминания клиентам, выгрузка в таблицу. Срок 5 дней, один круг правок включён.
- Цена
- 15 000 ₽
- Срок
- 5 дней
- Хэш
- 7f3a91…c91e
На Kwork пока ничего не отправлено. Запрос уйдёт только после вашего подтверждения.
Что можно попросить у агента
Обычными словами, в том клиенте, где вы и так работаете. Справа указано, какие инструменты агент для этого вызывает.
-
«Найди свежие проекты про Telegram-ботов с бюджетом от 20 000 ₽ и скажи, какие мне подходят»
discover_projectsget_project -
«Покажи диалоги с непрочитанными сообщениями и предложи ответы»
list_dialogsget_dialog -
«Что с моими заказами? Где что-то ждёт моих действий?»
list_worker_ordersget_order_details -
«Сколько у меня коннектов и какие мои отклики ещё висят?»
get_connectslist_my_offers -
«Подготовь отклик на проект 3257238: 15 000 ₽, 5 дней»Агент покажет точный текст и цену и отправит только после вашего «да».
get_projectprepare_writecommit_write
Почему агенту можно доверить аккаунт
Отклик тратит коннект, а сообщение клиент видит сразу. Поэтому любая запись проходит через журнал: сервер устроен так, чтобы агент не мог ни отправить лишнего, ни отправить дважды.
-
Подготовка
prepare_writeДелает агент. Сервер проверяет условия и запоминает точный запрос: текст, цену, получателя. На Kwork ничего не уходит.
-
Подтверждение
commit_writeПосле вашего «да». Сервер заново проверяет условия и один раз вызывает Kwork. Автоматических повторов нет.
-
Сверка
reconcile_writeТолько при обрыве связи. Если исход неизвестен, агент сверяет его с Kwork, а новые отправки ждут.
Чем заканчивается подтверждение
succeeded- Kwork принял запрос, результат подтверждён.
failed_known- Kwork отказал, и это точно известно. Ничего не отправлено.
submission_unknown- Связь оборвалась в момент отправки. Запись блокирует новые отправки, пока её не сверят.
По умолчанию только чтение
Пока в конфиге стоит KWORK_ENABLE_WRITES=false, агент ничего не отправляет на Kwork.
Пароль не попадает в конфиг
Логин и пароль вводятся один раз через скрытый ввод и нигде не сохраняются. Токен лежит на вашем компьютере в файлах с правами 0600.
Только ваш аккаунт
Сервер работает с аккаунтом из KWORK_EXPECTED_USER_ID и проверяет его перед каждой записью.
Чужой текст не команда
Тексты проектов, профилей и сообщений помечаются как внешние данные, а не инструкции для агента.
Быстрый старт
Нужны macOS или Linux, Python 3.12–3.14 и uv. Windows не поддерживается.
-
Войдите в Kwork (один раз)
Запустите в обычном терминале:
терминал uvx --from kwork-mcp==1.3.0 kwork-mcp-bootstrapКоманда скрыто спросит логин и пароль Kwork, покажет найденный аккаунт и после подтверждения сохранит токен в
~/.local/state/kwork-mcp. В конце она выведет вашuser_id: он нужен на следующем шаге. -
Подключите агента
Подставится во все команды ниже.Замените
123456на свойuser_idи выберите клиент.Claude Code
терминал claude mcp add kwork --scope user \ -e KWORK_EXPECTED_USER_ID=123456 \ -e KWORK_PERSIST_TOKEN=true \ -e KWORK_ENABLE_WRITES=false \ -- uvx --from kwork-mcp==1.3.0 kwork-mcpCodex
~/.codex/config.toml [mcp_servers.kwork] command = "uvx" args = ["--from", "kwork-mcp==1.3.0", "kwork-mcp"] [mcp_servers.kwork.env] KWORK_EXPECTED_USER_ID = "123456" KWORK_PERSIST_TOKEN = "true" KWORK_ENABLE_WRITES = "false"Claude Desktop и Cursor
Claude Desktop: Settings → Developer → Edit Config, файл
claude_desktop_config.json. Cursor:~/.cursor/mcp.jsonили.cursor/mcp.jsonпроекта.mcp.json { "mcpServers": { "kwork": { "command": "uvx", "args": ["--from", "kwork-mcp==1.3.0", "kwork-mcp"], "env": { "KWORK_EXPECTED_USER_ID": "123456", "KWORK_PERSIST_TOKEN": "true", "KWORK_ENABLE_WRITES": "false" } } } }Если Claude Desktop не находит
uvx, укажите полный путь изwhich uvx.Логин, пароль, токен и прокси в конфиг клиента не добавляйте: сервер с ними откажется запускаться.
-
Проверьте
Перезапустите клиент и попросите агента: «проверь статус аккаунта Kwork». Он покажет ваш
user_idи имя.Чтобы агент мог отправлять отклики и сообщения, замените в конфиге
KWORK_ENABLE_WRITES=falseнаtrueи перезапустите клиент. Подробности, решение проблем и ручная сверка отправок описаны в README.
22 инструмента
Результаты типизированы, а пустой ответ всегда отличим от ошибки.
18 инструментов чтения4 инструмента записи
| Область | Инструменты | Что делают |
|---|---|---|
| Аккаунт | account_statusget_connects |
Какой аккаунт подключён, включена ли запись, есть ли несверенные отправки. Баланс коннектов. |
| Биржа проектов | discover_projectsget_projectget_exchange_info |
Проекты биржи: избранные категории, вся биржа или выбранные категории, фильтры по цене и откликам. Сводка по бирже. |
| Отклики | list_my_offersget_offer |
Ваши отклики. |
| Заказы | list_worker_ordersget_order_details |
Ваши заказы как продавца. |
| Диалоги | list_dialogsget_dialog |
Диалоги и сообщения. |
| Кворки | list_my_kworksget_kwork_details |
Ваши кворки. |
| Пользователи | get_user_infosearch_users |
Профили пользователей. |
| Категории и уведомления | list_categorieslist_favorite_categorieslist_notifications |
Категории, избранные категории и уведомления. |
| Запись | prepare_writecommit_writeget_write_statusreconcile_write |
Отклик на проект и его удаление, отправка, правка и удаление сообщения, отметка диалога прочитанным, сдача заказа на проверку, запуск и пауза кворка. |
kwork.ru и kwork.com
По умолчанию сервер работает с kwork.ru. Аккаунт и токен у сайтов общие, входить заново не нужно.
| Возможность | kwork.ru | kwork.com |
|---|---|---|
| Как выбрать сайт | по умолчанию | добавьте KWORK_SITE=com |
| Биржа проектов и отклики на проекты | Есть | Нет |
| Диалоги, заказы и кворки | Есть | Есть |
На kwork.com проект по ID по-прежнему можно прочитать, а диалоги, заказы и кворки работают как обычно.
Вопросы
Это официальный инструмент Kwork?
Нет. Это независимый проект с открытым кодом под лицензией MIT. Kwork его не выпускает и не поддерживает.
Может ли агент откликнуться на проект без меня?
Нет. Запись выключена по умолчанию. Когда вы её включаете, агент сначала показывает точный текст, цену и получателя, и запрос уходит на Kwork только после вашего подтверждения.
Что будет, если связь оборвётся при отправке?
Сервер не повторит запись сам и не угадает исход. Новые отправки для аккаунта ждут, пока агент не сверит результат с Kwork или вы не разберёте запись вручную командой kwork-mcp-bootstrap resolve-write.
Где хранятся логин и пароль?
Нигде. Их спрашивает только kwork-mcp-bootstrap через скрытый ввод, а на диск сохраняется токен в ~/.local/state/kwork-mcp с правами 0600. Токен не шифруется, поэтому включите шифрование диска.
Какие клиенты поддерживаются?
Claude Code, Claude Desktop, Codex, Cursor и другие MCP-клиенты, которые умеют запускать локальный сервер через stdio.
Работает ли на Windows?
Нет, только macOS и Linux.
Сколько стоит?
Нисколько: kwork-mcp распространяется бесплатно под лицензией MIT.