Nextcloud MCP-Server an OAuth
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- python
- Ambito
- api, authentication, backend, security
Direzione di ricerca
Inizia con il MCP server integrato e il flusso attuale di bearer-token descritto nella documentazione Nextcloud collegata. Metti in relazione gli endpoint OAuth richiesti, l’applicazione delle ACL per utente, gli soft scopes, le restrizioni per gli amministratori, la compatibilità del trasporto e la revoca con i criteri di accettazione; il lavoro è completo quando una connessione OAuth di ChatGPT espone solo dati autorizzati e supporta la revoca del consenso.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Add OAuth 2.1 (Auth Code + PKCE) to the built-in MCP server and support per-user access control
Is your feature request related to a problem? Please describe.
Nextcloud’s Context Agent already exposes an MCP server, but it currently authenticates via app password using Authorization: Bearer <token> only. This prevents using it as a ChatGPT connector, because the ChatGPT admin UI for remote MCP servers supports OAuth or no authentication, not custom bearer headers. As a result, organizations cannot easily add the Nextcloud MCP server as a workspace-wide connector in ChatGPT.
Describe the solution you’d like
Please add first-class OAuth 2.1 Authorization Code with PKCE to the built-in MCP server, along with per-user access enforcement:
- OAuth 2.1 / OIDC-compatible endpoints (
/authorize,/token) so ChatGPT can complete user consent and store user-bound tokens. - Per-user binding: the MCP server should execute requests as the consenting Nextcloud user, honoring existing shares/ACLs (files, Talk, calendar, etc.).
- Server-enforced “soft scopes” for MCP (even if core OAuth lacks scopes): e.g.,
files.read,files.write,talk.read,calendar.read. The MCP server would internally restrict exposed tools/routes accordingly. - Admin controls to constrain exposure, e.g., allowlist of folders/namespaces or group-based eligibility.
- Transport compatibility with ChatGPT MCP (SSE/streaming HTTP) and token revocation/rotation.
Describe alternatives you’ve considered
- Context Chat (built-in): indexes data into a vector DB; tight content scoping can be difficult depending on setup.
- AI as a Service / integration_openai: works, but typically requires an external API provider/account (API key) and is not an MCP server for ChatGPT connectors.
- Community MCP servers for Nextcloud: often authenticate with app passwords and don’t solve the ChatGPT OAuth requirement for workspace rollout.
Why this matters
- ChatGPT workspace admins can publish connectors for all users; with OAuth, each user authorizes their own access and only sees what they can already access in Nextcloud. This aligns with least privilege and simplifies enterprise rollout.
Acceptance criteria (suggestion)
- In ChatGPT, an admin adds “Nextcloud MCP” as a remote server and chooses OAuth.
- A user starts a chat, picks the connector, completes the OAuth consent, and can list/search only files they already have rights to.
- Revoking consent in Nextcloud (or the connector) immediately invalidates access.
- Optional admin policy: restrict tools (read-only vs read/write) and/or allowlist top-level paths.
Security & privacy
- Use Auth Code + PKCE, short-lived access tokens, refresh tokens, and proper token revocation.
- Because core OAuth may lack granular scopes, implement server-side scoping within the MCP server (tool exposure + path allowlists) until upstream scopes are available.
References
- Nextcloud MCP server docs (example shows
Authorization: Bearer <app-password>): https://docs.nextcloud.com/server/latest/admin_manual/ai/app_context_agent.html#using-nextcloud-mcp-server - Closed ticket referencing MCP in Nextcloud: https://github.com/nextcloud/server/issues/53211
- OpenAI MCP (for connector context): https://platform.openai.com/docs/mcp
- Lingua principale
- Python
- Stelle
- 26
- Fork
- 18
- Merge medio
- 2g 1h
- PR unite (30g)
- 5
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di nextcloud/context_agent
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
nextcloud/context_agent#242 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
nextcloud/context_agent#240 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
find_person_in_contacts fails with Niquests content argument and cannot serialize vCard AddressApertabug
Difficoltà 2/5 Mezza giornata Idoneità per principianti 76/100
nextcloud/context_agent#217 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement priority normal
Difficoltà 3/5 1-2 giorni Idoneità per principianti 62/100
nextcloud/context_agent#256 ·
I maintainer di solito rispondono entro 1 giorno
-
Include the OCS API errors in the error logs printed and reported to nextcloudForse già presa @cestercian l’ha presa 5 giorni fa. Apertaenhancement good first issue priority normal
Difficoltà 2/5 1-3 ore Idoneità per principianti 25/100
nextcloud/context_agent#254 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di nextcloud/context_agent
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
EvaluationSuite.run fails with default args_for_task and mutates supplied kwargsForse già presa @ktz03 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
huggingface/evaluate#825 ·
I maintainer di solito rispondono entro 1 giorno
-
dependencies feature github_actions good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
wemake-services/wemake-django-template#3149 ·
I maintainer di solito rispondono entro 1 giorno
-
[request] vsg/1.1.16Apertaupstream update
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
conan-io/conan-center-index#31142 ·
I maintainer di solito rispondono entro 1 giorno
-
area:core bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno