X402 Repohealth Mcp

io.github.liminalpepePublished by GitHub account liminalpepev0.1.0Updated Oct 24, 2026

Free MCP server: compute a GitHub repo maintenance/abandonment health score from live data.

VerifiedSTDIODesktop onlyDeveloper ToolsData & Analytics

Overview

AI-generated overview

Computes a 0-100 GitHub repository maintenance or abandonment health score from live public GitHub data.

What you can do
Exposes one tool, check_repo_health, which takes a GitHub owner and repo and returns a 0-100 score plus a verdict: archived, actively maintained, slowing down, or likely abandoned. The score is built from four weighted dimensions of 25 points each: commit recency, commit activity, issue and PR responsiveness, and release cadence. Responses include the score breakdown, computed metrics such as days since last commit and commits in the last 90 days, and a reasoning list generated from the fetched numbers.
When to use it
Useful when an assistant is choosing dependencies, libraries, or tools and needs a quick read on whether a repository is still maintained. It suits occasional, low-volume checks from inside an MCP client rather than production or high-volume use.
Requirements
Runs locally over stdio, typically started with npx x402-repohealth-mcp or added to an MCP client config. It needs Node.js and outbound network access to GitHub's public REST API. No API key, account, or environment variable is declared.
Before you install
It calls GitHub's unauthenticated public REST API, which is limited to 60 requests per hour per IP shared by whoever runs the server; each call costs roughly 3-4 requests. There is no caching, so every call re-fetches live data. The README also points to a separate paid HTTP endpoint billed at $0.01 USDC on Base per call, which is a different service and not part of this local server.

Installation

In SourceWeft

  1. Open X402 Repohealth Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

x402-repohealth-mcp

A free MCP (Model Context Protocol) server that computes a GitHub repo maintenance/abandonment health score from live GitHub data: is a repo actively maintained, slowing down, likely abandoned, or archived? No API key, no payment, no rate-limit games — just an MCP tool any MCP client can call.

This is the open funnel twin of a paid, x402-gated HTTP API:

x402-repohealth-poc.theliminalguy.workers.dev — GET /repo-health/:owner/:repo, $0.01 USDC on Base per call via the x402 payment protocol, for production/high-volume or non-MCP (plain HTTP) / agent-automated use. Same scoring logic, same output, just billed per call instead of free-via-MCP.

Why this exists

Agents that pick dependencies, tools, or libraries need to know whether a repo is safe to depend on — actively maintained vs. slowing down vs. effectively dead — and GitHub's own API only gives raw signals (commits, issues, releases), not the decision computed from them. This MCP server is the free/local half of filling that gap — try it for nothing via MCP; reach for the paid HTTP endpoint when you need it at volume or outside an MCP client.

What it does

One tool, check_repo_health, takes a GitHub owner + repo and computes a 0-100 health score across four weighted dimensions (commit recency, commit activity, issue/PR responsiveness, release cadence, each 0-25 points), plus a verdict:

  • archived — GitHub's own archived flag is true (overrides the score)
  • actively maintained — score >= 75
  • slowing down — score 45-74
  • likely abandoned — score < 45

The response includes the full score breakdown, computed metrics (days since last commit, commits in last 90 days, issue close ratio, etc.), and a human-readable reasoning array built from the actual numbers — nothing is hardcoded per-repo, it's fetched from GitHub's real public REST API and scored at call time.

Install & run

bash
npx x402-repohealth-mcp

Or add it to an MCP client config (e.g. Claude Desktop's claude_desktop_config.json):

json
{  "mcpServers": {    "repohealth": {      "command": "npx",      "args": ["-y", "x402-repohealth-mcp"]    }  }}

Tool: check_repo_health

Input:

jsonc
{  "owner": "facebook",  "repo": "react"}

Output (MCP tool text content, JSON-stringified):

jsonc
{  "owner": "facebook",  "repo": "react",  "fetchedAt": "2026-08-01T22:00:00.000Z",  "repoMeta": { "fullName": "facebook/react", "archived": false, "stargazersCount": 230000, "...": "..." },  "metrics": { "daysSinceLastCommit": 1, "commitsLast90Days": 100, "...": "..." },  "scoreBreakdown": { "commitRecency": 25, "commitActivity": 25, "issueResponsiveness": 17, "releaseCadence": 17 },  "score": 84,  "verdict": "actively maintained",  "reasoning": [    "Last commit 1 day ago (2026-07-31T...).",    "100+ commits in the last 90 days.",    "..."  ]}

Scoring detail

DimensionPointsLogic
Commit recency0-25Days since last commit: <=14d->25, <=30d->21, <=90d->15, <=180d->9, <=365d->4, else 0
Commit activity0-25Commits in trailing 90 days: 0->0, 1-2->6, 3-9->13, 10-29->20, 30+->25
Issue/PR responsiveness0-25Of issues/PRs updated in the last 90 days: closed-ratio >=0.6 & median close <=14d->25, >=0.4->17, >=0.15->9, else->3. No recent activity -> neutral 14
Release cadence0-25Days since latest tagged release: <=180d->25, <=365d->17, <=730d->9, else 3. No releases ever -> neutral 12

archived: true from GitHub overrides the score-derived verdict entirely — an archived repo is confirmed dead by the maintainer's own action, not merely "likely abandoned."

What's real vs. limited

  • Real: every GitHub API call, the scoring math, and the MCP tool response are computed live at call time from that repo's actual GitHub data — nothing is hardcoded or mocked.
  • No auth against GitHub: uses GitHub's unauthenticated public REST API (60 requests/hour/IP shared across whoever runs this MCP server locally). A check_repo_health call costs ~3-4 GitHub requests. Fine for free/local/low-volume MCP use; the paid Worker adds a GITHUB_TOKEN (5,000 req/hr) server-side.
  • No caching: every call re-fetches GitHub live.

Local development

bash
npm installnpm run dev              # runs src/index.ts directly on stdio via tsxnpm run build             # compiles to dist/ for the published npm packagenpm run test:health       # calls getRepoHealth() directly against real repos, no MCP transport

src/github.ts, src/score.ts, src/health.ts, and src/types.ts are the same GitHub-fetch + scoring logic as the paid Worker — this MCP server is a thin src/index.ts wrapper around getRepoHealth().

When to use the paid HTTP twin instead

Use GET /repo-health/:owner/:repo on the paid Worker instead of this MCP server when:

  • You're calling from outside an MCP client (plain HTTP, any language).
  • You need production/high-volume use and want to pay per call rather than share this MCP server's unauthenticated 60 req/hr GitHub budget.
  • Your agent already speaks x402 (e.g. via x402-fetch / x402-axios) and can pay $0.01 USDC on Base per request.

Both routes call the exact same scoring function — output is identical.

License

MIT

Source: README.md at commit fbf476b

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts