Queber MCP

Ejecuta automatizaciones de Queber con MCP

Conecta clientes compatibles con MCP a Queber, autoriza acceso con scopes y deja que Queber Desktop ejecute jobs locales con tus browser profiles

Clientes MCP

Conectar un cliente MCP

Los clientes MCP usan metadata OAuth de Queber para descubrir authorization y token endpoints. Inicia sesion, aprueba scopes y manten Queber Desktop online.

Cómo funciona

El cliente MCP no habla directamente con tu app local.

1

El cliente envía una llamada

Tu cliente MCP llama al endpoint remoto de Queber con su token de acceso.

2

El servidor valida permisos

Queber valida el token, el plan de pago y los scopes MCP requeridos.

3

Desktop ejecuta localmente

El servidor retransmite el comando a tu app Queber Desktop conectada mediante su conexión segura en segundo plano.

4

El resultado vuelve al cliente

El cliente recibe estado, perfiles, trabajos o resultados de automatización desde la app de escritorio.

Herramientas disponibles

Qué puede hacer un cliente autorizado.

Comprobar estado Desktop

Ver si el relay de escritorio está conectado y qué capacidades están disponibles.

Leer perfiles de navegador

Listar perfiles, revisar uno, abrirlo manualmente o cerrar sesiones locales.

Revisar trabajos

Listar trabajos por páginas, leer un trabajo con su resultado, logs y progreso, y editar, cancelar, archivar, eliminar o reintentar trabajos.

Ejecutar automatización soportada

Crear publicaciones en Reddit y revisiones de publicaciones de Reddit, inmediatas o programadas.

El acceso se controla con tokens OAuth, scopes solicitados, verificación del plan de pago y la conexión activa de Queber Desktop. Revoca un cliente si ya no confías en él.

Ejemplo: revisión de publicaciones de Reddit

Sigue tus publicaciones de Reddit después de publicarlas

Un trabajo de revisión abre cada enlace en una pestaña en segundo plano de un perfil de navegador y devuelve lo que muestra la página: si la publicación sigue visible, se eliminó o ya no existe, su puntuación, la proporción de votos positivos, los comentarios y las vistas de tus propias publicaciones. Bastan dos herramientas: queber_job_run y queber_job_get.

Crea una revisión

Llama a queber_job_run con automationType post_read, los enlaces en platformData.reddit.post_read.links y una idempotencyKey. Sirven enlaces completos, de old.reddit, redd.it, publicaciones de perfil y enlaces para compartir; la herramienta devuelve el trabajo con estado pending.

Consulta el trabajo

Llama a queber_job_get con el id del trabajo cada pocos segundos hasta que el estado sea completed o failed. Los enlaces se revisan uno tras otro con una pausa humana, así que una lista más larga tarda más.

Lee los resultados

resultData.reddit.post_read.items tiene un elemento por enlace con estado ok, removed, not_found o failed, y summary los cuenta. Una publicación eliminada guarda el mensaje de Reddit en removalMessage; un valor que Reddit no mostró es null y warnings explica por qué.

Vistas de tus propias publicaciones

Reddit muestra las vistas solo al autor, así que llegan solo para las publicaciones del perfil que revisa, redondeadas como las muestra Reddit, por ejemplo 5.2K. Cada revisión de tu propia publicación suma una vista en Reddit.

El trabajo falla solo si no se pudo revisar ningún enlace; un enlace que falla recibe el estado failed y la revisión continúa. Una ejecución se cobra cuando revisó al menos una publicación, y tu plan fija cuántos enlaces admite una ejecución.

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 }
} } }, … }
Ejemplo: comentario en Reddit

Comenta y responde en Reddit

Una tarea de comentario deja un comentario en una publicación o como respuesta a uno de sus comentarios, en una pestaña en segundo plano de un perfil de navegador. Bastan tres herramientas: queber_reddit_comment_check, queber_job_run y queber_job_get.

Revisa la publicación

Llama a queber_reddit_comment_check con profileId y link. Abre la publicación con ese perfil, gratis y fuera de la cola, y devuelve blocked (por qué no se puede comentar, o null), los archivos que admite el cuadro de comentario y hasta 300 comentarios en thread. Puede tardar hasta 3 minutos si el perfil tiene que arrancar.

Elige dónde responder

Pasa un id de comentario de thread como replyToCommentId, u omítelo para comentar la publicación. Cada comentario de thread trae su autor, así que responder a un usuario concreto es filtrar por author. Un enlace a un comentario en link funciona igual que su id.

Crea el comentario

Llama a queber_job_run con automationType comment, platformData.reddit.comment (link, body y como máximo un archivo de queber_media_import) y un idempotencyKey; la herramienta devuelve la tarea con estado pending.

Lee el resultado

Consulta la tarea hasta que termine. resultUrl es la página del nuevo comentario, y resultData.reddit.comment guarda su id, el comentario al que responde y alreadyPosted si una ejecución anterior ya lo había dejado y no se envió nada más. Una tarea fallida indica el motivo, como rate_limited con los minutos que Reddit pide esperar.

La revisión es gratis. Un comentario se cobra cuando Reddit lo muestra; una ejecución fallida y una que encuentra el mismo comentario ya publicado no cuestan nada. El mismo Idempotency-Key nunca crea una segunda tarea.

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" }, …
  } } }, … }
Fiabilidad

Reintentos y cortes de conexión

Las herramientas MCP llegan a la misma app Queber Desktop, así que las mismas reglas evitan que un reintento actúe dos veces. queber_app_status muestra relayState antes de un lote largo.

Pasa idempotencyKey

Las herramientas que crean o cambian algo aceptan el argumento idempotencyKey: de 1 a 200 letras latinas, dígitos, puntos, guiones bajos, dos puntos o guiones. Llamar de nuevo a la herramienta con la misma clave devuelve el primer resultado en lugar de actuar dos veces. Usa una clave nueva para cada trabajo; una clave con otros caracteres se rechaza con validation_error.

Lee retryAfterSeconds

Una llamada fallida devuelve isError con un JSON: code, message, retryable cuando el código indica si la misma llamada puede funcionar más tarde, y retryAfterSeconds cuando se conoce la espera. Tras desktop_reconnecting o reddit_rate_limited, espera ese tiempo y vuelve a llamar a la herramienta con la misma 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
}
Need help?

Questions about the MCP integration

If client connection, OAuth authorization, MCP calls or desktop execution does not work as expected, contact Queber support or write to us on Telegram.