Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Beschreibung vom Entwickler (englisches Original)
Model Context Protocol server for Gitea (and Forgejo, Codeberg).
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
GITEA_URL, GITEA_TOKEN, GITEA_TIMEOUT, GITEA_MAX_RETRIES, GITEA_RETRY_BASE_DELAYAls geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"gitea": {
"command": "uvx",
"args": [
"gitea-mcp"
],
"env": {
"GITEA_URL": "your-value",
"GITEA_TOKEN": "your-value",
"GITEA_TIMEOUT": "your-value",
"GITEA_MAX_RETRIES": "your-value",
"GITEA_RETRY_BASE_DELAY": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add gitea --env GITEA_URL=your-value --env GITEA_TOKEN=your-value --env GITEA_TIMEOUT=your-value --env GITEA_MAX_RETRIES=your-value --env GITEA_RETRY_BASE_DELAY=your-value -- uvx gitea-mcpTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"gitea": {
"command": "uvx",
"args": [
"gitea-mcp"
],
"env": {
"GITEA_URL": "your-value",
"GITEA_TOKEN": "your-value",
"GITEA_TIMEOUT": "your-value",
"GITEA_MAX_RETRIES": "your-value",
"GITEA_RETRY_BASE_DELAY": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"gitea": {
"type": "stdio",
"command": "uvx",
"args": [
"gitea-mcp"
],
"env": {
"GITEA_URL": "your-value",
"GITEA_TOKEN": "your-value",
"GITEA_TIMEOUT": "your-value",
"GITEA_MAX_RETRIES": "your-value",
"GITEA_RETRY_BASE_DELAY": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
GITEA_TIMEOUT envGITEA_MAX_RETRIES envGITEA_RETRY_BASE_DELAY envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 7. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto werebear73 bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Das musst du eintragen: GITEA_URL, GITEA_TOKEN
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.5.1) kam vor 5 Monaten in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.
In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, Date Math
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Date/time math for agents: business days, holidays, time zones, cron, RRULE. 25 free calls/day.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
A Model Context Protocol server for Gitea — lets AI assistants (Claude, ChatGPT, Copilot, and anything else that speaks MCP) read, create, and manage issues, repositories, and releases on any Gitea instance you can reach.
Also works against [Forgejo](https://forgejo.org) and [Codeberg](https://codeberg.org) (API-compatible).
Self-hosted Gitea is a popular GitHub alternative for solo developers, small teams, and privacy-conscious organizations. With this MCP server installed, your AI assistant can:
| Resource | Tools |
|---|---|
| Issues | create_issue, list_issues, get_issue, update_issue, add_comment |
| Repos | list_repos, list_labels, list_milestones, list_branches |
| Pulls | list_pull_requests, get_pull_request, add_comment_on_pr, create_pr, merge_pr |
| Files | read_file, commit_changes, create_branch |
| Releases | list_releases, create_release |
| Meta | get_server_info, get_server_version |
httpx and FastMCPpip install gitea-mcp
Or with uv:
uv pip install gitea-mcp
In your Gitea instance, go to Settings → Applications → Generate New Token and grant at least:
read:repositorywrite:issueread:userAdd write:repository if you also want to create releases.
Claude Desktop (interactive): run
gitea-mcp init
It prompts for the Gitea URL and Personal Access Token, verifies the connection, and writes (or merges into) the right claude_desktop_config.json for your OS. Restart Claude Desktop and you're done.
To check that the server can reach your Gitea instance at any time:
gitea-mcp doctor
doctor reads GITEA_URL and GITEA_TOKEN from the environment, runs a GET /api/v1/user, and reports the authenticated username plus the state of the MCP tool surface. Exit 0 = ready; exit 1 = connection/load failure; exit 2 = missing config.
Any MCP client (manual): add gitea-mcp to the client's MCP config. The recommended form uses uvx so the client launches the latest published wheel in an isolated env without needing gitea-mcp on its own PATH (this is what gitea-mcp init writes):
{
"mcpServers": { "gitea": { "command": "uvx", "args": ["gitea-mcp"], "env": { "GITEA_URL": "https://your-gitea-instance.example.com", "GITEA_TOKEN": "your-personal-access-token" } } } }
If you'd rather use a globally pip-installed gitea-mcp binary, drop args and set command to "gitea-mcp" directly — works as long as the binary is on the MCP client's PATH at launch time.
See mcp.json for a complete example. The same shape works for Claude Desktop, VS Code, Cowork, Claude Code, and any other MCP-compatible client.
Configuration is read from environment variables.
| Variable | Required | Default | Description |
|---|---|---|---|
GITEA_URL | Yes | — | Base URL of your Gitea instance (e.g., https://gitea.example.com) |
GITEA_TOKEN | Yes | — | Personal Access Token from your Gitea user settings |
GITEA_TIMEOUT | No | 30 | HTTP request timeout in seconds |
GITEA_MAX_RETRIES | No | 3 | Max retries for transient failures on idempotent methods (GET/PUT/DELETE). Set to 0 to disable retries. POST and PATCH are never auto-retried — they could create duplicate issues, comments, or releases. 429 Too Many Requests is retried for any method, honoring Retry-After when present. |
GITEA_RETRY_BASE_DELAY | No | 0.5 | Base delay (seconds) for exponential backoff between retries. Effective delay grows as base * 2^attempt with jitter, capped at 4 seconds. |
By default gitea-mcp runs in stdio mode — each MCP client (Claude Desktop, Cowork, etc.) launches its own subprocess on demand. For self-hosting one instance that multiple clients connect to over the network, use the streamable-HTTP transport:
gitea-mcp serve --transport http --host 0.0.0.0 --port 8000 --path /mcp
All four flags can also be provided via environment variables (handy for Docker / systemd units):
| Variable | Default | Flag |
|---|---|---|
GITEA_MCP_TRANSPORT | stdio | --transport |
GITEA_MCP_HOST | 127.0.0.1 | --host |
GITEA_MCP_PORT | 8000 | --port |
GITEA_MCP_PATH | /mcp | --path |
MCP clients connect to the resulting URL (e.g. https://gitea-mcp.example.com/mcp) just like they would to a local stdio server, except they share the one running instance.
Auth model (this release). The server reads GITEA_TOKEN from its own environment, so any client that reaches the URL acts as that one Gitea user. Run it for yourself behind your own access controls (firewall, reverse-proxy auth, VPN, Tailscale). Multi-tenant bring-your-own-token is on the roadmap.
The no-args invocation (gitea-mcp with no subcommand) still runs in stdio mode, so existing Claude Desktop / Cowork / Claude Code integrations are unaffected by this addition.
| Server | Status |
|---|---|
| Gitea (self-hosted) | ✅ Primary target |
| Forgejo | ✅ Expected to work (API-compatible) |
| Codeberg | ✅ Expected to work (Codeberg runs Forgejo) |
git clone https://github.com/werebear73/gitea-mcp.git
cd gitea-mcp pip install -e ".[dev]" pre-commit install # commit-stage hooks (ruff + mypy) pre-commit install --hook-type pre-push # push-stage hooks (pytest + build check) pytest
The two-stage pre-commit policy keeps the commit loop snappy (lint + type only) while making git push block on the slow stuff that's actually caught CI/release bugs in the past — the full test suite and python -m build && twine check dist/*, which surfaces setuptools_scm version surprises before they reach a tag push.
See docs/ROADMAP.md for what's shipped, what's next, and what's out of scope.
server.json.docs/PUBLISHING.md.Semantic versioning, derived from git tags via setuptools_scm. See VERSIONING.md for the release process.
Issues and pull requests welcome. For substantial changes, please open an issue first to discuss the approach.
MIT — use it however you like, including commercial products.
Built by Waretech Services.