github / github/github-mcp-server

Add repository traffic/insights tools (views, clones, referrers, paths)

Abierto
#3,164 0 comentarios 0 reacciones 0 asignados Ver en GitHub
request ai review
Lenguaje dominante
Go
Estrellas
33k
Forks
5k
Merge medio
2 d 1 h
PR fusionados (30 d)
52

Descripción

### Describe the feature or problem you'd like to solve

The server has no way to read a repository's traffic/insights data. There are no tools wrapping the four traffic endpoints:

| Proposed tool | GitHub endpoint | Returns |
|---|---|---|
| `get_traffic_views` | `GET /repos/{owner}/{repo}/traffic/views` | Page views + unique visitors (14-day, daily or weekly) |
| `get_traffic_clones` | `GET /repos/{owner}/{repo}/traffic/clones` | Git clones + unique cloners (14-day, daily or weekly) |
| `get_traffic_referrers` | `GET /repos/{owner}/{repo}/traffic/popular/referrers` | Top 10 referring sites |
| `get_traffic_paths` | `GET /repos/{owner}/{repo}/traffic/popular/paths` | Top 10 most-visited paths |

Today an agent can read stars and forks but has no view into whether a repo is actually being visited or cloned, which is the primary signal for measuring adoption and reach of a project. This is a read-only capability.

### Proposed solution

Add the four tools above under the existing `repos` toolset, each `ReadOnlyHint: true`.

The implementation is thin because the pinned `go-github` client already exposes all four methods (`RepositoriesService.ListTrafficViews`, `ListTrafficClones`, `ListTrafficReferrers`, `ListTrafficPaths`), so no new HTTP plumbing is needed. The views/clones tools take an optional `per` parameter (`day` | `week`) mapping to `TrafficBreakdownOptions`; referrers/paths take just `owner`/`repo`.

One note on access: GitHub gates these endpoints behind push access to the repo (for GitHub Apps, the repository `Administration: Read` permission), so the tools should be annotated to require the `repo` scope rather than treated as public-read, even though the endpoints exist on public repos.

I'm happy to open a PR for this if the capability is something you'd accept.

### Example prompts or workflows (for tools/toolsets only)

1. "How many unique visitors and clones did `owner/repo` get in the last two weeks?"
2. "Where is traffic to my repo coming from? Show me the top referrers."
3. "Which pages/paths in `owner/repo` are people actually viewing?"
4. "Compare views vs. clones week over week for `owner/repo` and tell me if adoption is trending up."
5. "Build me a weekly adoption report for my repo: stars, forks, views, unique visitors, and clones." (traffic is the missing piece today; stars/forks are already covered)

### Additional context

Traffic data has a 14-day rolling retention window on GitHub's side, so these tools are especially useful to agents that snapshot the data on a schedule for longer-term trend tracking.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Start by reading the existing tools under the repos toolset and the pinned go-github methods ListTrafficViews, ListTrafficClones, ListTrafficReferrers, and ListTrafficPaths. Add the four read-only tools with the stated parameters and repo-scope requirement, then verify that views and clones accept day or week breakdowns while referrers and paths do not.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
github, go
Área
api, backend
Tipo de issue
Nueva funcionalidad
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Activo
Claridad
Bastante claro
Aptitud para principiantes
76/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.