Gmail plugin: create_filter / list_filters fail with 403 — OAuth missing gmail.settings.basic
Mantenedores costumam responder em até 1 dia
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 68/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- google-cloud, typescript
- Domínio
- api, authentication
Direção de pesquisa
Localize a configuração do cliente OAuth e do consent-scope do plugin do Gmail e, em seguida, rastreie o ponto de entrada de upscoping usado por create_filter e list_filters. Confirme que o scope settings é solicitado e que o novo consentimento de usuários existentes está documentado; considera-se concluído quando as ferramentas de filtro não falharem mais com o 403 relatado após a autorização.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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
- Install/connect the Gmail plugin and complete OAuth.
- Confirm mail tools work (e.g.
list_labels,search_threads). - Call
list_filtersorcreate_filter(e.g. criteriafrom: youtube.com, action add a user label + removeINBOX). - Optionally force re-auth (
AuthenticateMcpServerwithforce_reauth) and approve all consent screens again. - Retry
create_filter/list_filters.
Expected
- Filter tools succeed, or
- OAuth consent requests
https://www.googleapis.com/auth/gmail.settings.basicso 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
- Add
gmail.settings.basicto the Gmail plugin OAuth client / consent scope list. - Document that existing users must re-consent after the scope is added.
- 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.
- Linguagem predominante
- TypeScript
- Estrelas
- 12.5k
- Forks
- 1.2k
- Merge médio
- 12h 32min
- PRs com merge (30d)
- 115
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de cursor/plugins
-
Poteto Mode Claude CodeAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
create-plugin README documents a /create-plugin command that does not existTalvez já em andamento @lab1207 assumiu há 17 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
cursor/plugins#475 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
principle-test-behavior-not-implementation: listed matchers do not all pass when imports return undefinedTalvez já em andamento @Yi-111-a assumiu há 18 dias. Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
cursor/plugins#474 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
cursor-sdk auth.md: non-null assertion described as a runtime missing-variable checkTalvez já em andamento @lab1207 assumiu há 17 dias. Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 92/100
cursor/plugins#473 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
check-agent-compatibility: SKILL.md description has an unquoted colon, YAML parse failsTalvez já em andamento @rufushsu9987 assumiu há 32 dias. Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 95/100
cursor/plugins#381 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
Todas as issues de cursor/plugins
Issues semelhantes
-
area: aria/combobox gemini-triaged
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
angular/components#33973 ·
Mantenedores costumam responder em até 1 dia
-
bug priority: P2
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 84/100
Mantenedores costumam responder em até 1 dia
-
[bug] status, list and push crash with an uncaught NotInitializedError stack trace when teamai is not initializedTalvez já em andamento @jay23606 assumiu hoje. Abertabug good first issue help wanted
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
Tencent/teamai-cli#1227 ·
Mantenedores costumam responder em até 1 dia
-
[Tool]: YapAberta
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 62/100
withkarann/aifoxx#417 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
sindresorhus/eslint-plugin-unicorn#3921 ·
Mantenedores costumam responder em até 1 dia