Skip to main content
Glama

CodeTour

Animierte, LLM-gesteuerte "Erklär's-wie-einem-Fünfjährigen"-Touren durch GitHub-Pull-Requests.

CodeTour ist ein MCP-Server, gepaart mit einem lokalen Browser-Viewer. Claude (oder ein beliebiges MCP-gesteuertes LLM) ruft die Tools von CodeTour Schritt für Schritt auf; der Viewer animiert durch den Pull-Request — Dateibaum, Diffs, pulsierende Zeilenhervorhebungen — während die Erzählung als Untertitel angezeigt und über die integrierte Text-to-Speech-Funktion des Browsers laut vorgelesen wird. Jeder Stopp verlinkt zurück zu GitHub, damit die Zuschauer selbst ins Detail gehen können.

So funktioniert's

Claude ──(MCP stdio)──▶ codetour ──(WebSocket)──▶ your browser
                          │
                          └──(REST)──▶ GitHub API
  1. Das LLM ruft get_pr_info / get_file_diff auf, um den PR über CodeTour zu lesen, sodass seine Erzählung genau dem entspricht, was angezeigt wird.

  2. start_tour öffnet den Viewer in deinem Browser und wartet darauf, dass du auf Start klickst (der Klick aktiviert auch den Ton).

  3. show_overview und eine Reihe von show_step-Aufrufen animieren durch die Änderungen. Jeder Aufruf blockiert, bis die Erzählung zu Ende gesprochen ist, sodass sich die Tour natürlich selbst taktet.

  4. end_tour zeigt eine abschließende Zusammenfassung mit einem Link zum PR auf GitHub.

Installation

Benötigt Python 3.11+ und uv.

git clone <this repo> && cd CodeTour
uv sync

Registriere CodeTour bei Claude Code im user scope, damit die Tools in jedem Repository verfügbar sind:

claude mcp add --scope user codetour -- uv --directory /path/to/CodeTour run codetour

Dann frag einfach:

Gib mir eine Überblickstour durch https://github.com/owner/repo/pull/123

Der codetour-Skill

Das Repository enthält einen Claude Code Skill (skills/codetour/SKILL.md), der Claude die Kunst einer guten Tour beibringt: automatisches Erkennen des PR des aktuellen Branches über gh, Planung von 3–7 Stopps vor dem Öffnen des Viewers, ELI5-Erzählstilregeln und wie man weitermacht, wenn der Viewer geschlossen wird. Installiere ihn, indem du ihn in dein persönliches Skill-Verzeichnis verlinkst (oder kopierst):

ln -s /path/to/CodeTour/skills/codetour ~/.claude/skills/codetour

Mit installiertem Skill genügt ein einfaches "tour diesen PR" in jedem Repository, und es passiert das Richtige. Starte deine Claude Code-Sitzung neu, nachdem du den MCP-Server oder den Skill installiert hast.

GitHub-Authentifizierung

Öffentliche PRs funktionieren ohne Authentifizierung (niedriges Rate-Limit). Für private Repositories oder ein höheres Limit verwendet CodeTour die erste der folgenden Optionen: GITHUB_TOKEN, GH_TOKEN oder das gespeicherte Token der gh-CLI (gh auth login).

Konfiguration

Umgebungsvariable

Standard

Bedeutung

CODETOUR_PORT

8765

Viewer-Port (prüft bei Belegung höhere Ports)

CODETOUR_NO_BROWSER

nicht gesetzt

Auf 1 setzen, um den Browser nie automatisch zu öffnen

CODETOUR_MAX_FILES

300

Maximale Anzahl abgerufener geänderter Dateien pro PR

CODETOUR_MAX_PATCH_BYTES

100000

Diff-Limit pro Datei vor der Kürzung

Entwicklung

uv run pytest                 # unit tests
uv run ruff check .           # lint
uv run codetour --demo        # web viewer only, replays a canned tour on a loop

Der Demo-Modus ist der schnellste Weg, um am Frontend zu iterieren: Er benötigt keinen MCP-Client und keinen GitHub-Zugriff — öffne die ausgegebene URL, klicke auf Start und sieh dir die vorgefertigte Tour an.

MCP-Tools

Tool

Zweck

get_pr_info(pr_url)

PR-Metadaten + Zeilenbereiche der Hunks pro Datei (zuerst aufrufen)

get_file_diff(pr_url, path)

Vollständiger geparster Diff für eine Datei

start_tour(pr_url, tour_title?)

Viewer öffnen, auf Start warten

show_overview(narration, key_points?)

PR-Zusammenfassungskarte, gesprochen

show_step(file, narration, line_start?, line_end?, side?, style?)

Animierter Stopp an Datei/Zeilen

end_tour(summary)

Abschlusskarte mit GitHub-Link

tour_status()

Diagnose

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

  • Screens public GitHub repos and PRs to generate risk maps, findings, and merge-readiness signals.

  • Browser-backed QA with evidence and fix-ready reports for coding agents.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/benstaniford/CodeTour'

If you have feedback or need assistance with the MCP directory API, please join our Discord server