Kwork

io.github.simonether由 GitHub 账号 simonether 发布v1.5.2更新于 Oct 28, 2026

Account-bound, typed and durable stdio MCP gateway for the Kwork freelance marketplace

已验证STDIO仅桌面沟通与协作商业与电商

概览

AI 生成的概览

把 AI 助手连接到你的 Kwork 自由职业平台账号,用于浏览项目、阅读对话与订单,并准备报价和消息。

可以做什么
  • 查看账号状态、连接数余额、通知和交易所概览
  • 按价格和报价条件搜索并阅读交易所项目、分类与收藏分类
  • 查看自己的报价、卖家订单、kwork 和用户资料
  • 阅读对话与消息
  • 通过准备与提交两步完成报价、发消息、标记对话已读、提交订单和暂停 kwork,并提供写入状态与核对工具
适用场景
适合在 Kwork 上接单的自由职业者,让助手在 Claude Code、Claude Desktop、Codex 或 Cursor 中筛选合适的项目、处理未读对话和订单,并起草报价或回复。
运行要求
以 uvx 从 PyPI 运行的本地进程;需要 macOS 或 Linux、Python 3.12–3.14 和 uv(不支持 Windows)。需一次性交互式登录,令牌保存在私有状态目录,正常启动要求 KWORK_PERSIST_TOKEN;绑定多个账号时需设置 KWORK_EXPECTED_USER_ID,KWORK_SITE 选择 kwork.ru 或 kwork.com。
安装前请注意
服务器可发送报价和消息、删除报价、提交订单和暂停 kwork;KWORK_WRITES 默认 confirm,auto 让助手不经确认直接发送,off 为只读。服务器无法自行核实你的同意,auto 模式下仅靠助手行为防范项目或消息文本中的指令。保存的令牌未加密,请使用磁盘加密。登录凭据和代理不要写入客户端配置。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Kwork,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

[kwork-mcp: MCP-сервер для Kwork. Агент готовит отклики и ответы, отправляете вы.]

[CI] [PyPI] [Python] [License: MIT] [MCP Badge]

kwork-mcp подключает ваш аккаунт Kwork к ИИ-агенту: Claude Code, Claude Desktop, Codex, Cursor и другим MCP-клиентам. Агент ищет проекты на бирже, читает диалоги, заказы и офферы, готовит отклики. По умолчанию агент отправляет что-то на Kwork только после вашего «да» на точный текст.

Сайт проекта: simonether.github.io/kwork-mcp.

Что можно попросить у агента

  • «Найди свежие проекты про Telegram-ботов с бюджетом от 20 000 ₽ и скажи, какие мне подходят».
  • «Покажи диалоги с непрочитанными сообщениями и предложи ответы».
  • «Что с моими заказами? Где что-то ждёт моих действий?»
  • «Сколько у меня коннектов и какие мои отклики ещё висят?»
  • «Подготовь отклик на проект 3257238: 15 000 ₽, 5 дней» — агент покажет точный текст и цену и отправит только после вашего «да».

Быстрый старт

Нужны macOS или Linux, Python 3.12–3.14 и uv. Windows не поддерживается.

1. Войдите в Kwork (один раз)

В обычном терминале:

bash

Команда скрыто спросит логин и пароль Kwork, а также, по желанию, последние 4 цифры телефона и прокси, и покажет найденный аккаунт:

text
Найден аккаунт Kwork: your_name (user_id=123456). Привязать его? [y/N]: да

После подтверждения токен сохраняется в защищённое хранилище на вашем компьютере (~/.local/state/kwork-mcp). Логин и пароль нигде не сохраняются. В конце команда напечатает готовые команды подключения для Claude Code и Codex и блок для Claude Desktop и Cursor.

2. Подключите агента

Claude Code:

bash
claude mcp add kwork --scope user -- uvx [email protected]

Codex:

bash
codex mcp add kwork -- uvx [email protected]

Cursor: [Add to Cursor]

Claude Desktop и другие клиенты

Claude Desktop: Settings → Developer → Edit Config, файл claude_desktop_config.json. Cursor без кнопки: ~/.cursor/mcp.json или .cursor/mcp.json проекта.

json
{  "mcpServers": {    "kwork": {      "command": "uvx",      "args": ["[email protected]"]    }  }}

Claude Desktop не видит uvx из терминала, поэтому возьмите блок из вывода login: в нём уже указан полный путь к uvx.

Сервер сам найдёт аккаунт, с которым вы вошли. Если вы входили в несколько аккаунтов, укажите нужный: -e KWORK_EXPECTED_USER_ID=123456 или блок "env" в JSON.

Логин, пароль, токен и прокси в конфиг клиента не добавляйте: сервер с ними откажется запускаться.

3. Проверьте

Перезапустите клиент и попросите агента: «проверь статус аккаунта Kwork». Он вызовет account_status и покажет ваш user_id и имя.

Без клиента то же видно в терминале: uvx [email protected] status покажет, с каким аккаунтом и сайтом запустится сервер, не обращаясь к Kwork. Сменить аккаунт: uvx [email protected] logout, затем снова login.

Отправка откликов и сообщений

Отправку на Kwork (отклики, сообщения, удаление офферов, сдача заказа, запуск и пауза кворков) задаёт переменная KWORK_WRITES:

KWORK_WRITESЧто происходит
confirm (по умолчанию)Перед каждой отправкой агент показывает точный текст, цену и получателя и ждёт вашего «да»
autoАгент отправляет сам, когда это нужно для вашей задачи, без отдельного подтверждения
offТолько чтение: инструменты отправки скрыты, агент их не видит

В режиме confirm сервер в ответе prepare_write и в своих инструкциях указывает агенту показать вам запрос и отправлять только после вашего «да». Сам проверить это «да» сервер не может. Вторую кнопку даёт клиент: Claude Code и Claude Desktop по умолчанию спрашивают разрешение перед инструментом отправки, а в Codex то же включает default_tools_approval_mode = "writes" в настройках сервера [mcp_servers.kwork].

Режим выбирается в конфиге клиента, например для Claude Code:

bash
claude mcp remove kwork --scope userclaude mcp add kwork --scope user -e KWORK_WRITES=auto -- uvx [email protected]

В режиме auto от чужих команд в текстах проектов и сообщений защищает только поведение агента: сервер помечает эти тексты как внешние данные, но проверить, что агент их не послушал, не может.

Каждая отправка идёт в два шага: сначала агент готовит точный запрос, затем выполняет его. Сервер помнит каждую запись и никогда не повторяет её сам.

Если связь оборвалась в момент отправки, результат становится «неизвестным», и агент сверяет его с Kwork, прежде чем делать что-то ещё. Пока такая запись не сверена, новые отправки для аккаунта заблокированы, чтобы не создать дубль.

kwork.com

По умолчанию сервер работает с kwork.ru. Для kwork.com добавьте в конфиг клиента KWORK_SITE=com. Например, для Claude Code вторым сервером рядом с kwork.ru:

bash
claude mcp add kwork-com --scope user -e KWORK_SITE=com -- uvx [email protected]

Аккаунт и токен у kwork.ru и kwork.com общие, поэтому заново входить не нужно. Биржи проектов на kwork.com нет: поиск проектов, избранные категории и отклик на проект там отвечают site_unsupported. Диалоги, заказы и кворки работают как обычно, но заказы у каждого сайта свои. Запись, подготовленную для одного сайта, отправляет и сверяет только сервер того же сайта.

Если что-то не работает

Что видитеЧто делать
auth_required или auth_expiredВхода нет или он истёк: выполните uvx [email protected] login и перезапустите клиент
account_binding_requiredВы входили в несколько аккаунтов: укажите нужный в KWORK_EXPECTED_USER_ID или удалите лишний вход командой uvx [email protected] logout <user_id>
Непонятно, какой аккаунт и сайт использует серверuvx [email protected] status покажет это без запросов к Kwork
Сервер не стартует, «некорректная конфигурация: …»Проверьте названные переменные KWORK_* в конфиге клиента
«KWORK_ENABLE_WRITES удалена в 1.5.0»Замените её на KWORK_WRITES=off, confirm или auto
write_disabledСервер запущен с KWORK_WRITES=off, доступно только чтение
captchaВойдите в Kwork в браузере, пройдите капчу, затем повторите login
Claude Desktop не видит серверВозьмите блок для Claude Desktop из вывода login (в нём полный путь к uvx) или укажите путь из which uvx, затем перезапустите приложение
ambiguous_write с related_write_idОтправка с неизвестным результатом блокирует новые. Попросите агента выполнить reconcile_write для этого ID
Сверка долго не сходитсяПроверьте операцию на сайте Kwork, указанном в поле site у pending-writes, и зафиксируйте исход вручную (команды ниже)

Ручная фиксация исхода запускается с теми же KWORK_* переменными, что у сервера:

bash
uvx [email protected] pending-writesuvx [email protected] resolve-write <write_id> succeeded   # операция на Kwork прошлаuvx [email protected] resolve-write <write_id> absent      # операции на Kwork нет

Инструменты

Чтение:

ИнструментЧто делает
account_statusКакой аккаунт подключён, включена ли запись, есть ли несверенные отправки
get_connectsБаланс коннектов
discover_projects, get_projectПроекты биржи: избранные категории, вся биржа или выбранные категории, фильтры по цене и откликам
get_exchange_infoСводка по бирже
list_my_offers, get_offerВаши отклики
list_worker_orders, get_order_detailsВаши заказы как продавца
list_dialogs, get_dialogДиалоги и сообщения
list_my_kworks, get_kwork_detailsВаши кворки
get_user_info, search_usersПрофили пользователей
list_categories, list_favorite_categoriesКатегории
list_notificationsУведомления

Запись: prepare_write → commit_write, а также get_write_status и reconcile_write. Поддерживаются отклик на проект, удаление отклика, отправка, правка и удаление сообщения, отметка диалога прочитанным, сдача заказа на проверку и запуск или пауза кворка.

Безопасность

  • Логин, пароль и прокси вводятся только в kwork-mcp login через скрытый ввод и не попадают в конфиг клиента.
  • Сервер работает только с аккаунтом, который вы подтвердили при входе (если аккаунтов несколько, с указанным в KWORK_EXPECTED_USER_ID), и проверяет его перед каждой записью.
  • Тексты проектов, профилей и сообщений помечаются как внешние данные, а не инструкции для агента.
  • Токен лежит в файлах с правами 0600. Приложение их не шифрует, поэтому используйте шифрование диска.
  • Лимиты запросов к Kwork общие для всех процессов одного аккаунта.

Подробно: модель безопасности, настройки, архитектура, переход с 0.2.x.

Разработка

bash
git clone https://github.com/simonether/kwork-mcp.gitcd kwork-mcpuv sync --locked --devuv run ruff check . && uv run ruff format --check .uv run mypyuv run pytest tests/ -q --cov=kwork_mcp

Для запуска из исходников в конфиге клиента используйте uv --directory /path/to/kwork-mcp run kwork-mcp вместо uvx. Правила для изменений и устройство кода описаны в AGENTS.md.

Лицензия

MIT

来源:README.md,提交 7c115f7

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

7
  1. v1.5.2最新Oct 3, 2026
  2. v1.5.0Oct 3, 2026
  3. v1.3.0Oct 2, 2026
  4. v1.2.0Oct 2, 2026
  5. v1.1.0Sep 29, 2026
  6. v1.0.0Sep 25, 2026
  7. v0.2.3Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分