Files
Orchestrator/bahn/awesome-bahn-mcp-servers/AGENTS.md
ankn a5f8fb49ab Migrate all repos into monorepo context folders
Bahn: aisupport, Analyse-O2C-C2S, awesome-bahn-mcp-servers, beam-mcp,
      Confluence_Bot, db-planet-mcp-server, O2C-Harness, project-audit,
      Projekt-KIQ-HP, teamlandkarte-mcp
Dhive: Jury-Voting
Privat: CV, NoteGraph (NOTE: NoteGraph needs complete redo after consolidation)
Shared: AI-Orchestrator, OrgMyLife, power_skills_and_more
Shared/references: symphony (read-only)

Bahn repos remain available as independent remotes - this monorepo
pulls them in via subtree, the originals are untouched.
2026-06-30 20:39:52 +02:00

5.9 KiB

Awesome Bahn MCP Servers aktualisieren

⚠️ README.md NIEMALS direkt bearbeiten! Die README.md wird ausschließlich durch python3 generate-readme.py aus index.json erzeugt. Direkte Änderungen an der README.md — egal ob manuell, durch LLMs oder Agenten — sind verboten. Änderungen gehören in index.json, header.md oder footer.md.

Liste ergänzen

Durchsuche das interne GitLab nach allen MCP Servern, prüfe Stars, letzte Aktivität und Sichtbarkeit. Aktualisiere index.json und generiere die README.md. Nur non-private Repos aufnehmen. Sortiere nach Stars absteigend.

Liste aktualisieren

Durchsuche das interne Gitlab nach allen Servern in der index.json, aktualisiere die Anzahl der Sterne und last_activity

Wenn ein Server verschwindet weise darauf hin und entferne ihn. Versuche ihn an anderer Stelle zu finden, da er vielleicht nur umgezogen wurde.

Neuen MCP Server hinzufügen

Füge den MCP Server zur awesome-bahn-mcp-servers Liste hinzu. Prüfe Stars, letzte Aktivität und ob das Repo non-private ist.

Workflow

Bei jeder Änderung an der Liste — egal ob Auffrischen, Hinzufügen oder Entfernen:

  1. Immer zuerst index.json aktualisieren — das ist die Single Source of Truth
  2. Jeden neuen oder geänderten Server dem User vorstellen und nach Hinweisen fragen:
    • Ist der Server Bahn-spezifisch? Falls nein → "note": "Nicht Bahn-spezifisch"
    • Nur lokal nutzbar? → "note": "Nur lokale Nutzung"
    • Nur für proprietäres Wissen? → "note": "Nur lokales proprietäres Wissen"
    • Richtige Kategorie? User entscheidet
    • Sonstige Hinweise? User kann freien Text als note vergeben
  3. python3 generate-readme.py ausführen — README.md niemals manuell editieren
  4. Neuen Branch erstellen für Änderungen, Benutzer vorher fragen
  5. Immer vor jedem Commit python3 generate-readme.py ausführen — sicherstellen, dass README.md aktuell ist
  6. Eigenen Branch erstellen, Merge Request erstellen einen der CODEOWNERS assignen

Regeln

  • Nur Repos mit Sichtbarkeit internal oder public aufnehmen (nicht private)
  • Stars und letzte Aktivität via GitLab API abfragen
  • Forks standardmäßig ausschließen — via glab api "projects/<path>" und forked_from_project prüfen
  • Forks nur aufnehmen wenn sie eigenen Mehrwert haben (nicht nur zum Listen)
  • Playgrounds, leere Repos und Nicht-MCP-Server ausschließen
  • Repos die noch in Entwicklung sind (leere Hülle) → excluded[] mit Grund
  • Alle Texte auf Deutsch, englische Fachbegriffe beibehalten
  • Proper Umlauts verwenden (ü, ö, ä, ß)
  • Repo-Pfad: $HOME/work/mcp/awesome-bahn-mcp
  • Remote: git@ssh.git.tech.rz.db.de:beta/ai/awesome-bahn-mcp-servers.git

index.json

Die Datei index.json ist die Single Source of Truth. Die README.md wird daraus generiert — niemals manuell editieren.

Struktur:

  • servers[] — Alle Server mit folgenden Feldern:
    • url — GitLab URL
    • name — Anzeigename
    • description — Kurzbeschreibung
    • stars — Anzahl der Sterne
    • contributors — Anzahl der Contributors (optional)
    • commits — Anzahl der Commits (optional)
    • last_activity — Datum der letzten Aktivität (YYYY-MM-DD)
    • status — "legit" für aufgenommene Server
    • category — Eine der definierten Kategorien
    • note — Optionaler Hinweis (z.B. "Nicht Bahn-spezifisch")
    • betatrue für BETA-Team Server (erscheinen mit Badge)
    • officialtrue für offizielle DB-Server (erscheinen mit OFFICIAL Badge)
  • false_positives[] — Repos die kein MCP Server sind und beim nächsten Scan ignoriert werden
  • excluded[] — Repos die bewusst ausgeschlossen wurden (mit Grund)

Beim Auffrischen der Liste:

  1. index.json lesen
  2. GitLab API durchsuchen: glab api "projects?search=mcp&per_page=100&page=N"
  3. Zusätzlich Blob-Suche nach MCP-SDK-Nutzung: glab api "search?scope=blobs&search=modelcontextprotocol&per_page=100" — findet Repos die das MCP SDK nutzen, aber nicht "mcp" im Namen haben
  4. Zusätzlich Blob-Suche nach MCP-Dependencies: glab api "search?scope=blobs&search=mcp>=&per_page=100" (Python) und glab api "search?scope=blobs&search=@modelcontextprotocol/sdk&per_page=100" (TypeScript) — findet Repos die das MCP SDK als Dependency nutzen
  5. Neue Repos gegen false_positives und excluded prüfen — diese nicht aufnehmen
  6. Neue Repos auf Forks prüfen: glab api "projects/<path>"forked_from_project
  7. Bestehende Server-Daten (stars, last_activity) aktualisieren
  8. Neue Server einzeln dem User vorstellen: open <url> ausführen um das Repo im Browser zu öffnen, dann nach Urteil fragen (Kategorie, Notes, aufnehmen oder nicht)
  9. python3 generate-readme.py ausführen um README.md zu generieren

Kategorien

  • AI und GenAI
  • DB-Kontext und Wissen
  • Daten und Analytik
  • DevOps und Infrastruktur
  • Enterprise Architecture und Governance
  • Fachspezifisch
  • Kommunikation und Zusammenarbeit
  • Monitoring
  • Produktivität und Automatisierung
  • Reisenden-Information (RIS)
  • Suche und Code-Analyse

README generieren

python3 generate-readme.py

Das Script liest index.json und erzeugt README.md. Keine externen Abhängigkeiten — nur Python stdlib. BETA-Server ("beta": true) und OFFICIAL-Server ("official": true) stehen immer oben innerhalb ihrer Kategorie. Community-Server werden nach Kategorie gruppiert und nach Stars absteigend sortiert. Ausgabeformat ist Bullet-Listen (keine Tabellen).

Troubleshooting

glab API gibt keine Daten zurück

Prüfe ob GITLAB_TOKEN Umgebungsvariable gesetzt ist — diese überschreibt das glab-Token:

echo $GITLAB_TOKEN
unset GITLAB_TOKEN
glab auth status

Falls das Token abgelaufen ist:

glab auth login --hostname ssh.git.tech.rz.db.de

Server nicht mehr erreichbar (404)

Server aus servers[] entfernen und zu false_positives[] hinzufügen mit Grund "Repo gelöscht (404 Not Found)".

Berechtigungsfehler bei glab config

chmod 600 ~/.config/glab-cli/config.yml