github / github/github-mcp-server
Add repository traffic/insights tools (views, clones, referrers, paths)
- Linguagem predominante
- Go
- Estrelas
- 33k
- Forks
- 5k
- Merge médio
- 2d 1h
- PRs com merge (30d)
- 52
Descrição
### 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.
Guia de contribuição
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- github, go
- Domínio
- api, backend
- Tipo de issue
- Funcionalidade
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Status de atividade
- Ativa
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 76/100