Queber MCP

Запускайте автоматизації Queber через MCP

Підключайте MCP-compatible клієнтів до Queber, надавайте scoped access, а Queber Desktop локально виконуватиме підтримувані automation jobs через ваші browser profiles

Як це працює

MCP-клієнт не звертається напряму до локального застосунку.

1

Клієнт надсилає tool call

Ваш MCP-клієнт викликає віддалений endpoint Queber з access token.

2

Сервер перевіряє доступ

Queber перевіряє токен, платний план і потрібні MCP scopes.

3

Desktop виконує локально

Сервер передає команду в авторизований Queber Desktop-застосунок через захищене фонове з'єднання.

4

Результат повертається клієнту

Клієнт отримує структурований статус, профілі, завдання або результат автоматизації з desktop-застосунку.

Доступні інструменти

Що може робити авторизований клієнт.

Перевіряти статус Desktop

Зрозуміти, чи підключений desktop relay і які можливості доступні.

Читати браузерні профілі

Переглядати список профілів, деталі профілю, відкривати профіль вручну або закривати локальні сесії.

Переглядати завдання

Отримувати список завдань посторінково, читати завдання з результатом, логами й прогресом, редагувати, скасовувати, архівувати, видаляти й повторювати завдання.

Запускати підтримувану автоматизацію

Створювати публікації в Reddit і перевірки постів Reddit одразу або за розкладом.

Доступ контролюється OAuth-токенами, запитаними scopes, перевіркою платного плану та активним підключенням Queber Desktop. Відкличте клієнт, якщо більше йому не довіряєте.

Приклад: перевірка постів Reddit

Стежте за постами Reddit після публікації

Завдання перевірки відкриває кожне посилання у фоновій вкладці браузерного профілю й повертає те, що показує сторінка поста: чи живий пост, видалений чи його вже немає, рейтинг, частку апвоутів, коментарі й перегляди ваших власних постів. Достатньо двох інструментів: queber_job_run і queber_job_get.

Створіть перевірку

Викличте queber_job_run з automationType post_read, посиланнями в platformData.reddit.post_read.links та idempotencyKey. Підійдуть повні посилання на пости, old.reddit, redd.it, пости в профілях і посилання «Поділитися»; інструмент поверне завдання зі статусом pending.

Опитуйте завдання

Викликайте queber_job_get з id завдання раз на кілька секунд, доки статус не стане completed або failed. Посилання перевіряються по черзі з людською паузою, тому довгий список перевіряється довше.

Прочитайте результати

У resultData.reddit.post_read.items по одному елементу на посилання зі статусом ok, removed, not_found або failed, а summary їх рахує. У видаленого поста повідомлення Reddit про видалення лежить у removalMessage; значення, яке Reddit не показав, дорівнює null, а warnings пояснює чому.

Перегляди власних постів

Reddit показує перегляди лише автору поста, тому вони приходять лише для постів профілю, який перевіряє, у тому округленому вигляді, у якому їх показує Reddit, наприклад 5.2K. Кожна перевірка власного поста додає на Reddit один перегляд.

Завдання завершується помилкою, лише якщо не вдалося перевірити жодного посилання; невдале посилання отримує статус failed, і перевірка триває. Запуск оплачується, якщо перевірено хоча б один пост, а скільки посилань можна взяти в один запуск, визначає ваш тариф.

tools/call queber_job_run
{
  "profileId": "3f1a2b4c-5d6e-4f70-8a91-b2c3d4e5f607",
  "platform": "reddit",
  "automationType": "post_read",
  "platformData": { "reddit": { "post_read": { "links": [
    "https://www.reddit.com/r/SideProject/comments/1abc234/queber_desktop_116_queue_view/",
    "https://old.reddit.com/r/webdev/comments/1abd345/how_do_you_schedule_reddit_posts/",
    "https://redd.it/1abe456"
  ] } } },
  "idempotencyKey": "post-read-2026-08-12-01"
}
→ { "id": "e2d4f6a8-1b3c-4d5e-8f70-9a1b2c3d4e5f", "automationType": "post_read", "status": "pending", … }

tools/call queber_job_get
{ "jobId": "e2d4f6a8-1b3c-4d5e-8f70-9a1b2c3d4e5f" }
→ { "status": "completed", "resultData": { "reddit": { "post_read": {
  "items": [
    { "url": "https://www.reddit.com/r/SideProject/comments/1abc234/", "status": "ok", "readAs": "author",
      "score": 13, "upvoteRatio": 0.93, "comments": 8, "views": 5200, "shares": 4, "reposts": 1,
      "topCountries": [{ "country": "US", "name": "United States", "percent": 41.2 }, …], "authorRank": 2,
      "warnings": [{ "field": "views", "code": "rounded", "message": "Reddit shows views rounded: 5.2K views" }], … },
    { "url": "https://www.reddit.com/r/webdev/comments/1abd345/", "status": "ok", "readAs": "other",
      "score": 1001, "upvoteRatio": 0.96, "comments": 5348, "views": null,
      "warnings": [{ "field": "views", "code": "author_only", "message": "Reddit shows views only to the post author" }], … },
    { "url": "https://www.reddit.com/comments/1abe456/", "status": "removed", "readAs": "author",
      "removalMessage": "Sorry, this post has been removed by the moderators of r/example.", … }
  ],
  "summary": { "total": 3, "read": 3, "removed": 1, "notFound": 0, "failed": 0 }
} } }, … }
Приклад: коментар у Reddit

Коментарі та відповіді в Reddit

Завдання на коментар залишає один коментар під постом або відповіддю на один з його коментарів, у фоновій вкладці браузерного профілю. Вистачає трьох інструментів: queber_reddit_comment_check, queber_job_run і queber_job_get.

Перевірте пост

Викличте queber_reddit_comment_check з profileId і link. Він відкриє пост цим профілем, безкоштовно й поза чергою, і поверне blocked (чому коментувати не можна, або null), медіа, які приймає поле коментаря, і до 300 коментарів у thread. Якщо профіль треба запустити, це може зайняти до 3 хвилин.

Виберіть, куди відповісти

Передайте id коментаря з thread у replyToCommentId або не передавайте його, щоб прокоментувати сам пост. Кожен коментар у thread має автора, тож відповідь конкретному користувачу — це фільтр за author. Посилання на коментар у link працює так само, як його id.

Створіть коментар

Викличте queber_job_run з automationType comment, platformData.reddit.comment (link, body і не більше одного медіа з queber_media_import) та idempotencyKey; інструмент поверне завдання зі статусом pending.

Прочитайте результат

Опитуйте завдання до завершення. resultUrl — сторінка нового коментаря, а resultData.reddit.comment містить його id, коментар, на який він відповідає, і alreadyPosted, якщо його залишив попередній запуск і повторно нічого не надсилалося. Завдання, що впало, називає причину, наприклад rate_limited з хвилинами, які Reddit просить зачекати.

Перевірка безкоштовна. Коментар списується, коли Reddit його показав; невдалий запуск і запуск, що знайшов той самий коментар на місці, нічого не коштують. З тим самим Idempotency-Key друге завдання не створюється.

tools/call queber_reddit_comment_check
{
  "profileId": "3f1a2b4c-5d6e-4f70-8a91-b2c3d4e5f607",
  "link": "https://www.reddit.com/r/SideProject/comments/1abc234/queber_desktop_116_queue_view/"
}
→ { "ok": true, "check": {
  "post": { "postId": "1abc234", "community": "r/SideProject", "comments": 8, … },
  "blocked": null,
  "media": { "images": true, "animatedImages": true, "videos": false, "maxMedia": 1 },
  "thread": { "loaded": 8, "complete": true, "comments": [
    { "id": "ohd7k2m", "author": "quiet_reader", "body": "Does it keep the profile logged in?", … },
    …
  ] }
} }

tools/call queber_job_run
{
  "profileId": "3f1a2b4c-5d6e-4f70-8a91-b2c3d4e5f607",
  "platform": "reddit",
  "automationType": "comment",
  "platformData": { "reddit": { "comment": {
    "link": "https://www.reddit.com/r/SideProject/comments/1abc234/queber_desktop_116_queue_view/",
    "replyToCommentId": "ohd7k2m",
    "body": "Yes, every profile keeps its own session."
  } } },
  "idempotencyKey": "comment-2026-08-12-01"
}
→ { "id": "b7c9d1e3-5f7a-4b9c-8d1e-3f5a7b9c1d2e", "automationType": "comment", "status": "pending", … }

tools/call queber_job_get
{ "jobId": "b7c9d1e3-5f7a-4b9c-8d1e-3f5a7b9c1d2e" }
→ { "status": "completed", "resultUrl": "https://www.reddit.com/r/SideProject/comments/1abc234/comment/ohe2p4q/",
  "resultData": { "reddit": { "comment": {
    "commentId": "ohe2p4q", "parentId": "ohd7k2m",
    "repliedTo": { "commentId": "ohd7k2m", "author": "quiet_reader" }, …
  } } }, … }
Надійність

Повтори та обриви зв'язку

MCP-інструменти працюють із тим самим Queber Desktop, тому ті самі правила не дають повтору виконати дію двічі. queber_app_status показує relayState перед довгим пакетом.

Передавайте idempotencyKey

Інструменти, які щось створюють або змінюють, приймають аргумент idempotencyKey: від 1 до 200 латинських літер, цифр, крапок, підкреслень, двокрапок або дефісів. Повторний виклик із тим самим ключем поверне перший результат, а не виконає дію вдруге. Для кожного завдання потрібен новий ключ; ключ з іншими символами відхиляється з помилкою validation_error.

Читайте retryAfterSeconds

Невдалий виклик повертає isError і JSON з полями code, message, retryable, коли код каже, чи спрацює той самий виклик пізніше, і retryAfterSeconds, коли час очікування відомий. Після desktop_reconnecting або reddit_rate_limited зачекайте стільки й викличте інструмент знову з тим самим idempotencyKey.

tools/call queber_job_schedule
{
  "profileId": "3f1a2b4c-5d6e-4f70-8a91-b2c3d4e5f607",
  "scheduledAt": "2026-08-13T07:00:00.000Z",
  …,
  "idempotencyKey": "post-2026-08-13-r-webdev-01"
}

isError: true
{
  "code": "desktop_reconnecting",
  "message": "Queber Desktop lost its connection and is reconnecting. Retry the request shortly; you do not need to restart the app.",
  "retryable": true,
  "retryAfterSeconds": 12
}
Потрібна допомога?

Питання щодо інтеграції MCP

Якщо підключення клієнта, OAuth-авторизація, MCP-виклики або виконання через Queber Desktop працюють не так, як очікується, напишіть у підтримку Queber або в Telegram.