Gitea for ChatGPT
Provides tools for managing self-hosted Gitea instances, including repositories, files, branches, tags, issues, pull requests, releases, workflows, and connection/status operations.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Gitea for ChatGPTshow my connected Gitea instances and my first 20 repositories"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Gitea for ChatGPT
Deutsch · English
Ein selbst hostbarer MCP-Server mit portablem Agent-Plugins-Paket für die Verwaltung eigener Gitea-Instanzen aus ChatGPT und kompatiblen Codex-Clients. Kein kostenpflichtiger Cloud-Dienst erforderlich. Unabhängiges Communityprojekt, keine offizielle OpenAI- oder Gitea-Erweiterung.
Entwicklungsstand: Die Reihe 0.1.x besteht aus frühen Entwicklungsreleases. Nachweise und offene Abnahmen sind verbindlich; die echte ChatGPT-Kontoverbindung und eine Aufnahme ins öffentliche Plugin-Verzeichnis sind noch nicht verifiziert. Das Paket enthält eine konfigurierbare HTTPS-Vorlage und keinen von diesem Projekt betriebenen Dienst.
Funktionen
Mehrere getrennte Gitea-Verbindungen pro OAuth-Benutzer, aktive Instanz, Status, Benutzer und API-Version.
Repositories lesen, suchen, erstellen und ausgewählte Einstellungen ändern; Dateien, Verzeichnisse, Git-Bäume, Statistikfelder, Branches und Tags lesen.
Begrenzte Suche in Dateiinhalten und Commit-Historie mit ausdrücklichem Hinweis auf unvollständige Ergebnisse.
Feature-Branches und Datei-Commits erstellen, bearbeiten oder löschen, Diffs und Vergleiche lesen.
Issues, Kommentare, Zuständige, Labels, Meilensteine und verfügbare Abhängigkeiten.
Pull Requests, Diffs, Dateien, Reviews und ausdrücklich freigegebene Merges mit Head-SHA-Prüfung.
Releases und Tags mit separater Freigabe; Actions-Workflows, Runs, Jobs und verfügbare Logs lesen.
Keine öffentlichen Administrations-, Runner-, Webhook- oder Rechteänderungstools.
Alle Funktionen sind ohne ChatGPT-App-UI nutzbar. Die sichere Einrichtung und menschliche Schreibfreigabe erfolgen bewusst in einem eigenen Browserportal.
Related MCP server: GitLab MCP Server
Voraussetzungen
Node.js 24 LTS und pnpm 11.25.0 für Entwicklung, alternativ Docker/Compose; eine erreichbare Gitea-Instanz; ein OAuth/OIDC-Anbieter mit signierten JWT-Zugangstokens, PKCE und den Scopes gitea.read/gitea.write; HTTPS für MCP und Browserportal. Keycloak kann selbst gehostet werden.
Installation mit Docker
git clone https://github.com/jtracht/gitea-chatgpt-plugin.git
cd gitea-chatgpt-plugin
cp .env.example .env
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
# Schlüssel und die eigenen HTTPS-/OAuth-Adressen in .env eintragen.
docker compose up -d --buildAnschließend HTTPS-Reverse-Proxy auf Port 3000 einrichten. Der MCP-Endpunkt lautet https://<eigener-host>/mcp, das Browserportal https://<eigener-host>/portal. Alle OAuth-Variablen sind Pflicht; es gibt keinen unauthentifizierten Produktionsmodus. Vollständige Einrichtung, OAuth, Nginx Proxy Manager und Rollback.
Gitea verbinden
Betreiber trägt erlaubte Instanzen unter
GITEA_INSTANCESein. Die Beispieladresse in.env.exampleist austauschbar.Browserportal öffnen und beim eigenen OAuth-Anbieter anmelden.
Gitea-OAuth nutzen, falls für diese Instanz eingerichtet; alternativ ein möglichst eng berechtigtes persönliches Access-Token ausschließlich im Passwortfeld des Portals eingeben.
list_instances,connection_statusundlist_repositoriestesten.Verbindungen lassen sich im Portal oder über eine freigegebene Tool-Aktion trennen. Für vollständigen Widerruf zusätzlich die Berechtigung in Gitea löschen.
ChatGPT und Codex
Nach der aktuellen OpenAI-Anleitung: Plugins → + → Add custom MCP server, eigenen HTTPS-Endpunkt eintragen, OAuth auswählen, erstellen, installieren und in einem neuen Work-Chat per @ auswählen. Client, Tarif und Workspace-Richtlinien können diese Funktion beschränken; eine vollständige Tarifmatrix ist durch die geprüften Entwicklerquellen nicht belegt.
Für das portable Paket pnpm install --frozen-lockfile && pnpm package ausführen. Optional MCP_PUBLIC_URL=https://<host>/mcp beim Paketieren setzen. Das erzeugte ZIP unter artifacts/ enthält plugin.json, mcp.json, Skill und Icon. Alternativ bindet Codex den Server über seine unterstützte MCP-Konfiguration mit url und OAuth an. Details und Testfälle.
Ein öffentliches GitHub-Repository stellt Quellcode bereit. Eine private MCP-Verbindung verbindet einen konkreten Server. Eine Veröffentlichung im universellen Plugin-Verzeichnis benötigt eine zusätzliche Einreichung und Prüfung und erfolgt nicht automatisch.
Beispielaufträge
„Zeige meine verbundenen Gitea-Instanzen und die ersten 20 Repositories.“
„Lies das README in Repository X und fasse die offenen Issues zusammen.“
„Erstelle einen Feature-Branch für diese Korrektur und bereite die Änderung vor.“
„Zeige mir den Freigabelink für genau diesen Schreibauftrag.“
„Prüfe den Diff und bereite einen Pull Request vor.“
Sicherheitsmodell
OAuth-Signatur, Issuer, Audience, Ablauf und Scope werden serverseitig geprüft. Gitea-Tokens liegen getrennt je Benutzer und Instanz AES-256-GCM-verschlüsselt in SQLite. DNS-Adressen werden pro Anfrage geprüft und am TLS-Socket gepinnt; Redirects werden verweigert. Interne Netze sind standardmäßig gesperrt. Jede Mutation benötigt eine konkrete, zehn Minuten gültige, einmalige Browserfreigabe. Dateiänderungen verweigern den Standardbranch und geschützte/unklare Branches. Sicherheit und Grenzen.
Entwicklung und Qualität
pnpm install --frozen-lockfile
pnpm check
pnpm test:e2e # erstellt und entfernt eine isolierte Gitea-Dockerinstanz
docker build -t gitea-chatgpt-plugin:dev .
pnpm test:docker
pnpm dev # benötigt eigene Umgebungsvariablen/HTTPS-Proxypnpm test überspringt den echten Gitea-Test ohne isolierte Testumgebung. pnpm test:e2e führt ihn ausdrücklich aus. Sicherheitskritische Module haben eine verpflichtende Coverage-Schwelle von 85 %. Testergebnisse werden nicht aus übersprungenen Tests abgeleitet.
CI prüft Typen, Lint, Format, Tests, Manifeste, Build und Docker. Security prüft Dependencies, Secrets, CodeQL und Container-/Konfigurationsrisiken. Release Please pflegt Conventional-Commit-Releases; Publish wird aus dem Release-Workflow explizit aufgerufen und erzeugt ZIP, Serverarchiv, Prüfsummen und ein GHCR-Image. Releaseprozess.
Versionen und Mitwirkung
v0.1.0: erster Entwicklungsrelease mit sicheren MCP-Kernabläufen. Changelog, Beitragen, Sicherheitsmeldung. Lizenz: Apache-2.0. Referenzdaten von Gitea: siehe Drittanbieterhinweise.
This server cannot be deployed
Maintenance
Related MCP Connectors
Read and write KukGit repositories, files, issues and pull requests from an AI assistant.
Access the GitHub API, enabling file operations, repository management, search functionality, and…
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Manage repositories, users, releases, and automate GitHub workflows
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables interaction with GitLab repositories through secure OAuth 2.0 authentication. Supports comprehensive GitLab operations including merge requests, issues, file management, commits, and branch operations through natural language.4 npmMIT
- AlicenseBqualityAmaintenanceEnables AI-powered exploration and interaction with GitLab instances through comprehensive search, code browsing, and repository management. Supports both self-hosted and GitLab.com with flexible authentication for read and write operations.6348 npm12MIT
- FlicenseNot gradedqualityDmaintenanceBridges ChatGPT to GitHub with full write access, enabling repository management, file operations, and pull request creation.-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to interact with a Forgejo instance as an authenticated user, supporting issues, pull requests, repositories, and notifications.56 npmMIT