Skip to main content
Glama
skyzhao1223

skyzhao1223/wheel-hub

⚙️ wheel-hub

skyzhao1223/wheel-hub MCP server

Stop reinventing the wheel. Search, score and adopt the best open-source solutions — before you write a line of code.

wheel-hub is an MCP server + CLI that makes both AI coding agents and humans check the open-source ecosystem first: given a feature or problem, it finds existing solutions and scores them on popularity, momentum, maintenance and trust, then tells you whether to adopt, adapt, inspect or avoid.

Why

Every developer (and every AI agent) rebuilds auth, schedulers, scrapers and admin panels from scratch — not because better wheels don't exist, but because nobody looks for them first. wheel-hub makes "look first" the default.

Related MCP server: reuse-before-generate

Install

MCP server (for Claude Code, opencode, Cursor, …)

npx @wheel-hub/mcp

Claude Code example:

claude mcp add wheel-hub --env GITHUB_TOKEN=ghp_xxx -- npx @wheel-hub/mcp

Generic JSON config example (works in most MCP clients):

{
  "mcpServers": {
    "wheel-hub": {
      "command": "npx",
      "args": ["@wheel-hub/mcp"],
      "env": { "GITHUB_TOKEN": "ghp_xxx" }
    }
  }
}

Note: MCP clients only forward a whitelist of environment variables to servers. Always pass GITHUB_TOKEN explicitly through the client's env config, or the server will run unauthenticated at 60 requests/hour and hit rate limits quickly.

Then just ask your agent: "before you implement, use wheel-hub to check what exists for background job scheduling".

CLI (for humans)

# one-off
npx @wheel-hub/cli find "SSO login" --lang typescript
npx @wheel-hub/cli evaluate ollama/ollama

# or install for the `wheel-hub` command
npm i -g @wheel-hub/cli
wheel-hub find "SSO login"

Tools

Tool

Description

search_oss

Search GitHub for solutions to a problem

evaluate_repo

Score one repo (0–100) with a verdict and reasons

compare_alternatives

Find alternatives + evaluate each — run this before writing new code

Scoring model

Composite score (0–100) weighted across four dimensions:

  • Popularity (30%) — star mass on a log scale

  • Momentum (25%) — stars/day growth + recency of pushes

  • Maintenance (30%) — commit freshness + issue backlog ratio

  • Trust (15%) — license permissiveness, archived status

Verdicts: ≥75 adopt · ≥55 adapt · ≥35 inspect · <35 / archived avoid

Configuration

GITHUB_TOKEN (optional) — raises the GitHub API rate limit from 60 to 5,000 requests/hour. Strongly recommended for real use; see the MCP config above for how to pass it.

Packages

Package

Description

@wheel-hub/core

GitHub aggregation + scoring engine

@wheel-hub/mcp

MCP server for AI agents

wheel-hub

Terminal CLI

Roadmap

  • License fallback for NOASSERTION repos: parse the license file itself (e.g. the kernel's COPYING declares GPL-2.0 but GitHub classifies it as "Other")

  • Awesome-list mining as a secondary signal source

  • Star-history curves via OSSInsight data

  • wheel-hub watch — get notified when your stack's dependencies go stale

  • Score persistence + weekly digest

License

MIT

Available Tools

3 tools
compare_alternativesA

Search for alternatives to a feature/tool and evaluate each one. Use before writing new code to avoid reinventing the wheel. Returns a ranked verdict table.

NameRequiredDescriptionDefault
topNoNumber of candidates to evaluate (default 5)
queryYesFeature or capability to find alternatives for
languageNoPreferred programming language

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral burden alone. It discloses the output shape ('ranked verdict table') and implies an evaluation step over multiple candidates, but says nothing about read-only safety, latency/cost of evaluating candidates, or how many sources it queries.

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 tight sentences with zero filler, front-loaded on what it does before the when-to-use hint and the return note. It could be marginally tighter, but essentially every sentence earns its place.

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

Completeness4/5

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

With no output schema, the description usefully states the return format (ranked verdict table), and the simple 3-parameter surface is fully covered by the schema. The remaining gap is behavioral – nothing about whether it is read-only or slow – but for this tool class that is minor.

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 100%, so all three parameters (query, top, language) are already documented with defaults. The description adds no syntax, format, or constraint detail beyond the schema, which is the expected baseline when the schema does the heavy lifting.

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 combines a specific action (search for alternatives + evaluate each) with a clear resource (a feature/tool), which an agent can grasp immediately. It doesn't explicitly distinguish itself from siblings like search_oss, but the 'evaluate each one' plus 'ranked verdict table' framing sets it apart from a plain search.

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

Usage Guidelines4/5

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

It gives an explicit usage trigger: 'Use before writing new code to avoid reinventing the wheel.' That tells the agent when to reach for it. It stops short of naming alternatives or exclusion conditions (e.g., when to prefer search_oss or evaluate_repo), so it isn't a full routing rule.

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

evaluate_repoA

Score a single GitHub repository (0-100) on popularity, momentum, maintenance and trust, with an adopt/adapt/inspect/avoid verdict.

NameRequiredDescriptionDefault
repoYesRepository in 'owner/name' format or a GitHub URL

TDQS

A3.6/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It usefully discloses the scoring model (popularity, momentum, maintenance, trust), the numeric range, and the verdict taxonomy, but says nothing about auth requirements, rate limits, latency, or how a repo that cannot be fetched is handled.

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?

A single dense sentence, front-loaded with the verb and resource, followed by the scoring dimensions and output categories. Every clause carries information; no filler.

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

Completeness4/5

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

With no output schema, the description steps in to describe the return payload - a 0-100 score across four named dimensions plus a four-level verdict - which is what an agent needs to interpret results. Error handling for malformed or missing repos is the only notable omission.

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?

The only parameter, repo, is fully documented in the schema ('owner/name' format or GitHub URL), which matches the description's scope but adds no syntax or format detail beyond it. Baseline 3 applies when the schema already covers the parameter.

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 verb (score) and resource (a single GitHub repository), plus the output scale (0-100), the scoring dimensions, and the verdict categories. 'Single' quietly distinguishes it from compare_alternatives, but the description never names the siblings explicitly.

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?

Usage is only implied: scoring one repo suggests this is for evaluating an individual candidate rather than searching (search_oss) or comparing options (compare_alternatives). No explicit when-to-use, when-not-to-use, or named alternatives are given.

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

search_ossA

Search GitHub for high-quality open-source solutions before implementing a feature. Returns ranked candidates with stars and descriptions.

NameRequiredDescriptionDefault
limitNoMax results (default 10)
queryYesWhat to look for, e.g. 'background job scheduler', 'SSO login'
languageNoFilter by programming language
min_starsNoMinimum star count (default 100)

TDQS

A3.7/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 and does disclose return shape ("ranked candidates with stars and descriptions") and an implicit quality filter. It omits operational context that matters for a GitHub-backed search: authentication expectations, rate limits, and whether results are cached or live. Adequate but incomplete for a zero-annotation tool.

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 sentences, no filler, and the core purpose is front-loaded ahead of the return-shape detail. Every clause earns its place.

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 four-parameter search tool with a fully documented schema and no output schema, the description covers purpose, trigger, and the shape of results. It stops short of the context an agent would want in the absence of annotations and sibling routing hints — no rate-limit or auth note, and no signal about handing results to evaluate_repo or compare_alternatives.

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 100%, so all four parameters (query, language, min_stars, limit) are already self-documenting, which sets the baseline at 3. The description's phrase "high-quality" loosely gestures at the min_stars default but adds no format, default, or interaction detail beyond 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 pairs a specific verb ("Search") with a specific resource and scope ("GitHub for high-quality open-source solutions") and states the agent-facing goal ("before implementing a feature"). It is unambiguous on its own, though it never contrasts itself with evaluate_repo or compare_alternatives, so sibling differentiation is left implicit.

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

Usage Guidelines4/5

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

"Before implementing a feature" gives a clear situational trigger for reaching for this tool rather than writing code from scratch. There are no exclusions or named alternatives, however, so the agent is not told when to skip this in favor of evaluate_repo or compare_alternatives.

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. 3 tool updatesv0.1.0
    • First observedcompare_alternatives
    • First observedevaluate_repo
    • First observedsearch_oss

TDQS

A3.7/5.0

Scored across 3 tools

Disambiguation3/5

evaluate_repo clearly targets a single known repo, but search_oss and compare_alternatives heavily overlap — both search GitHub for solutions before coding and return ranked candidates/verdicts. An agent could easily pick the wrong one since the boundary (finding a solution vs. finding alternatives to something) is subtle.

Naming Consistency4/5

All three follow a verb_ prefix pattern (evaluate_repo, search_oss, compare_alternatives), which is predictable. Minor inconsistency in the noun suffixes (repo vs. oss vs. alternatives) keeps it from being fully uniform.

Tool Count4/5

Three tools is a little thin but well-scoped for a narrow 'avoid reinventing the wheel' purpose. Each tool earns its place in the discover-then-evaluate flow.

Completeness4/5

The surface covers the core lifecycle: search for candidates, compare alternatives, and score a specific repo. Minor gaps like fetching detailed repo metadata or readme content exist, but core workflows are covered.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A local MCP server that gives AI agents access to developer tooling — GitHub (read-only), documentation search, and web research — via stdio transport.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server that helps coding agents research and prepare GitHub contributions by gathering repository guidance, related work, code context, and validation evidence into a local SQLite corpus, without ever writing to GitHub.
    113 npm
    26
    MIT