Skip to main content
Glama

mcp-github-insights

An MCP server that exposes GitHub repository insights as tools for AI assistants — repo health, commit activity, stale PRs, contributor stats, releases, and issue backlogs.

Point any MCP client (Claude Desktop, Cursor, VS Code, Claude Code) at it and ask things like:

  • "Give me an overview of sagar1708/mcp-github-insights"

  • "Which PRs have been stale for more than 2 weeks?"

  • "Who are the top contributors in the last 90 days?"

Tools

Tool

What it does

repo_overview

Stars, forks, license, topics, languages, last push

commit_activity

Commits per week, top authors, latest commit (default 30d)

stale_pull_requests

Open PRs older than N days, oldest first (default 14d)

contributor_stats

Top contributors by commit count (default 90d)

recent_releases

Latest releases, newest first

issue_backlog

Open issues grouped by label + oldest issues

Related MCP server: GitHub Analytics MCP

Quickstart

pip install -e .

Set a token for higher rate limits (optional — works without one at 60 req/hr):

export GITHUB_TOKEN=ghp_...

Run the server (stdio transport):

github-insights-mcp

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "github-insights": {
      "command": "github-insights-mcp",
      "env": { "GITHUB_TOKEN": "ghp_..." }
    }
  }
}

Cursor / VS Code

Same shape in your MCP settings:

{
  "mcpServers": {
    "github-insights": {
      "command": "github-insights-mcp",
      "env": { "GITHUB_TOKEN": "ghp_..." }
    }
  }
}

Development

pip install -e ".[test]"
pytest

Roadmap

  • PR review turnaround stats (median time to merge)

  • Code churn / hot files from commit patches

  • Team dashboards via scheduled digests

License

MIT

Available Tools

6 tools
commit_activityB

Commit activity for a repo over the last N days.

Returns total commits, commits bucketed per ISO week, top authors, and the latest commit.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
repoYes
ownerYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It implies a read-only operation and lists returned content, but says nothing about auth/permissions, rate limits, whether activity spans all branches, or how the day window is truncated — and the return listing is already covered by the output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, purpose front-loaded ahead of the return breakdown. No filler; every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be re-explained here, and the low-complexity read scope is clear. The definition remains incomplete on usage routing versus siblings and on behavioral characteristics, which no annotations supply.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It clarifies the 'days' window ('last N days') which maps to the days parameter, and owner/repo are self-evident from the 'for a repo' framing, but the default of 30 and any format expectations are left unstated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource (commit activity for a repo) and a temporal scope (last N days), and enumerates the outputs (totals, per-ISO-week buckets, top authors, latest commit). It does not, however, differentiate itself from siblings such as contributor_stats, which also surfaces authorship, or repo_overview.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use guidance, no when-not-to-use, and no mention of the sibling alternatives (contributor_stats, repo_overview). The temporal scoping implies a 'recent activity' use case but leaves the agent to infer when this tool is the right pick.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

contributor_statsC

Top contributors by commit count over the last N days.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
repoYes
ownerYes
top_nNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations at all, the description carries the full behavioral burden but only states the ranking basis ('by commit count'). It says nothing about sorting direction, tie-breaking, permissions required, or whether it is a safe read operation. It does at least scope the window to 'the last N days', which slightly clarifies behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler or redundancy. It is efficient, though its brevity is a function of under-specification rather than disciplined editing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described. But for a four-parameter tool with zero schema coverage and no annotations, omitting the required owner/repo parameters and any usage context leaves the definition materially incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description should compensate. It maps loosely to two of four parameters ('N days' for days, 'Top' for top_n), but owner and repo — both required — get no mention, and no defaults or format guidance are supplied.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb-implied operation and resource: ranking contributors by commit count within a time window. It is clearly a stats/ranking tool, not a listing or mutation tool. However, it offers no differentiation from siblings like commit_activity, which an agent could easily confuse it with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool versus alternatives such as commit_activity or repo_overview, and no prerequisites or exclusions. The agent must infer usage purely from the one-line purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

issue_backlogC

Open issue backlog grouped by label, with the oldest issues surfaced.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYes
ownerYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It discloses grouping and sorting of results, but omits read-only status, permissions, pagination, result limits, and any other operational constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is front-loaded and free of filler. It efficiently conveys the core output without unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although an output schema exists to cover return values, the description still leaves parameter semantics and behavioral context entirely unaddressed. For a two-parameter tool with no annotations, one sentence is insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description does not mention the owner or repo parameters at all. It adds no meaning beyond the bare parameter names in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool returns an open issue backlog grouped by label with oldest issues surfaced, which is a clear resource and scope. It does not explicitly differentiate itself from siblings like stale_pull_requests or repo_overview, but the resource focus makes it distinguishable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool versus alternatives such as stale_pull_requests or repo_overview. It only describes the output, leaving usage entirely implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recent_releasesC

Most recent releases for a repo, newest first.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYes
limitNo
ownerYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden, and it only discloses sort order ('newest first'). It says nothing about pagination, whether the list is truncated by the default limit, authentication needs, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler, and the ordering constraint is stated up front. It is efficient, though its brevity comes partly from omitted information rather than tight editing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need no explanation, but for a three-parameter tool with 0% schema coverage the description should clarify what limit controls and how many releases are returned by default. That critical context is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for three parameters. The phrase 'for a repo' loosely implies owner/repo, but the limit parameter (default 5) is never explained, so the description does not compensate for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (releases) with an ordering qualifier (newest first) and implies the listing verb. It is clearly distinct from siblings like commit_activity or issue_backlog, though it does not explicitly name or contrast them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as repo_overview. The agent must infer the use case entirely from the tool name and the phrase 'for a repo'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

repo_overviewB

High-level overview of a GitHub repository.

Returns stars, forks, open issue count, license, topics, language breakdown, and how long ago it was last pushed to.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYes
ownerYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It implies a read-only, aggregate operation and lists the payload fields, which gives the agent a reasonable behavioral picture. It says nothing about auth requirements, rate limits, or cost of the call, and the field list duplicates the output schema rather than adding operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, purpose front-loaded, no filler. The metric enumeration is somewhat redundant with the output schema, but it is scannable and earns most of its space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter read tool with an output schema present, the return-value explanation is unnecessary and the description could instead cover parameter format and sibling routing. It is adequate to call the tool but leaves the overlap with adjacent repo tools unresolved.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description never mentions the owner or repo parameters. It does not clarify the expected format (bare owner and repo names vs. an 'owner/repo' slug), case sensitivity, or whether the repository must be public. The 2-parameter baseline of 4 is not met because the description adds zero parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb+resource ('High-level overview of a GitHub repository') and enumerates the returned metrics, so the agent knows exactly what class of information this tool surfaces. However, it never distinguishes itself from the sibling tools, several of which overlap (issue_backlog covers open issues, commit_activity covers push recency), leaving the agent to guess which summary is authoritative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to call this versus commit_activity, issue_backlog, contributor_stats, recent_releases, or stale_pull_requests. Usage is only implied by the word 'overview'; no prerequisites, no 'call this first' framing, no exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stale_pull_requestsB

Open pull requests that have been waiting longer than N days.

Useful for spotting review bottlenecks. Sorted oldest first.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
repoYes
ownerYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It usefully discloses that results are filtered to open PRs, thresholded at N days, and sorted oldest first, which is real behavioral detail. However, it omits read-only confirmation, pagination/result-size limits, and any auth or rate-limit context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short lines that are front-loaded with the core scope statement, then the analytical purpose, then the ordering guarantee. The bottleneck sentence is mildly promotional but still aids tool selection, so nothing egregiously wastes space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and the description covers filtering and sorting adequately. Gaps remain around the read-only nature of the call, result volume/pagination, and the `days` default, which for a zero-annotation, zero-coverage tool leaves the agent slightly under-informed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and none of the three parameters is documented in the schema beyond bare titles. The description only conveys semantic meaning for the `days` threshold ("longer than N days"), leaving `owner` and `repo` — both required — unexplained; it also never states that `days` has a default.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb+resource (open pull requests) plus a precise scope qualifier (waiting longer than N days), so an agent can tell it apart from generic siblings like repo_overview or commit_activity. It stops short of explicitly naming or contrasting any sibling, which keeps it at 4 rather than 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Useful for spotting review bottlenecks" implies a usage context — review-latency analysis rather than general PR listing — but there is no explicit when-to-use, when-not-to-use, or named alternative among the siblings. The guidance is implied rather than actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv0.1.0
    • First observedcommit_activity
    • First observedcontributor_stats
    • First observedissue_backlog
    • First observedrecent_releases
    • First observedrepo_overview
    • First observedstale_pull_requests

TDQS

B3.3/5.0

Scored across 6 tools

Disambiguation4/5

Each tool targets a distinct analytical view (overview, commits, PRs, contributors, releases, issues). Minor overlap exists: commit_activity reports top authors while contributor_stats ranks contributors, and repo_overview includes issue counts while issue_backlog details issues, but descriptions clarify boundaries.

Naming Consistency5/5

All tools use consistent snake_case noun phrases with descriptive, predictable names. No mixing of conventions or vague verbs.

Tool Count5/5

6 tools is well-scoped for a read-only analytics server; each covers a distinct facet of repository insights without redundancy.

Completeness4/5

Covers core repository, commit, PR, contributor, release, and issue insights. Missing more general PR activity/review metrics and issue activity trends, but the surface is sufficient for common insight queries.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables querying and analysis of public GitHub repositories for statistics, contributor data, and commit history. It provides both a RESTful API and an MCP interface for seamless integration with AI agents.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    AI-powered GitHub repository analytics through MCP. Analyze repositories, track contributions, and get insights directly in your AI assistant.
    1
    -
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to query GitHub repositories, issues, pull requests, CI status, and discover trending repos via natural language. Provides MCP tools, resources, and prompts for GitHub data access.
    14
    MIT
  • F
    license
    C
    quality
    C
    maintenance
    Exposes GitHub repository data via MCP tools, a resource, and a prompt, enabling repo summaries, issue/PR listing, keyword search, and repo health review.
    4
    -