Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Gmail plugin: create_filter / list_filters fail with 403 — OAuth missing gmail.settings.basic

Abierto
#385 3 comentarios 1 reacción 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
68/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
google-cloud, typescript

Línea de trabajo

Localiza la configuración del cliente OAuth y del consent-scope del plugin de Gmail y, a continuación, rastrea el punto de entrada de upscoping utilizado por create_filter y list_filters. Confirma que se solicita el scope settings y que está documentado el consentimiento renovado de los usuarios existentes; se considera hecho cuando las herramientas de filtros ya no fallan con el 403 indicado después de la autorización.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Summary

The Gmail connector exposes create_filter, list_filters (and related filter tools), but calling them fails with 403 after trying upscoping. Google Account → Linked Apps shows the Cursor/Grok app only has “See (but not change) your email settings”, so filter create/list cannot work. Re-auth does not help: Google never requests a settings-write scope during consent.

Environment

  • Product: Grok Bot / Cursor Gmail MCP connector
  • Plugin id (from install): 45893410
  • MCP server id: user-Gmail--shark5060-gmail-com
  • Account: personal Gmail (example: [email protected])
  • Other Gmail tools work: list_labels, search_threads, label apply, etc.

Steps to reproduce

  1. Install/connect the Gmail plugin and complete OAuth.
  2. Confirm mail tools work (e.g. list_labels, search_threads).
  3. Call list_filters or create_filter (e.g. criteria from: youtube.com, action add a user label + remove INBOX).
  4. Optionally force re-auth (AuthenticateMcpServer with force_reauth) and approve all consent screens again.
  5. Retry create_filter / list_filters.

Expected

  • Filter tools succeed, or
  • OAuth consent requests https://www.googleapis.com/auth/gmail.settings.basic so Linked Apps shows edit/create/change settings & filters, then tools work after re-consent.

Actual

  • Tool call error (approx.): HTTP MCP tool execution failed: … Server returned 403 after trying upscoping
  • Google Linked Apps for the Cursor app under Gmail includes wording like:
    • See (but not change) your email settings
    • View your settings (e.g., filters and labels)
  • There is no Linked Apps toggle to grant settings write; only delete connection.
  • Label create/update and message labeling still work (consistent with gmail.modify, not settings write).

Why this matters

Without users.settings.filters.*, agents cannot install durable server-side routing (skip Inbox + apply label) and must re-label mail after arrival. The tools being present implies filter management is intended.

API / scope note

Per Gmail API users.settings.filters.create, create requires:

https://www.googleapis.com/auth/gmail.settings.basic

(Gmail scopes: that scope is “See, edit, create, or change your email settings and filters in Gmail.”)

gmail.modify covers labels/messages but not filter settings write — matching the Linked Apps “see but not change” text.

Suggested fix

  1. Add gmail.settings.basic to the Gmail plugin OAuth client / consent scope list.
  2. Document that existing users must re-consent after the scope is added.
  3. Ensure upscoping actually requests that scope (current “403 after trying upscoping” suggests upscope does not obtain write settings).

Workaround

Create filters manually (or via browser automation) in Gmail Settings → Filters and Blocked Addresses until the connector requests the correct scope.

Related (third-party, not Cursor)

Other Gmail MCP projects have discussed the same scope requirement, e.g. needing gmail.settings.basic for filter tools — same underlying Google API constraint.

Lenguaje dominante
TypeScript
Estrellas
8.8k
Forks
819
Merge medio
14 h 37 min
PR fusionados (30 d)
66

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de cursor/plugins

Todos los issues de cursor/plugins

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.