{"id":"342faf08-f9db-4b53-9207-47ef45f14f91","slug":"wheel-hub","kind":"mcp","name":"wheel-hub","summary":"Stop reinventing the wheel. MCP server + CLI that makes AI coding agents search GitHub for existing open-source solutions before implementing — scored 0-100 with adopt/adapt/inspect/avoid verdicts.","owner":"skyzhao1223","repoUrl":"https://github.com/skyzhao1223/wheel-hub","license":"MIT","licenseTier":"permissive","trust":"community","stars":6,"match":null,"fewStars":false,"format":"mcp","createdAt":"2026-08-28T13:29:16.000Z","addedAt":"2026-10-21T05:03:53.502Z","logoUrl":"https://avatars.githubusercontent.com/u/15373810?u=901fedb600cf2124e6b702405b6112c0cabe1814&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["developer-tools","cloud-infra","search"],"tags":["ai-agents","claude-code","cli","github","open-source"],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-28T08:21:00.116Z","sample":false,"url":"https://conduits.dev/tools/wheel-hub","language":"TypeScript","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# ⚙️ wheel-hub\n\n[![skyzhao1223/wheel-hub MCP server](https://glama.ai/mcp/servers/skyzhao1223/wheel-hub/badges/score.svg)](https://glama.ai/mcp/servers/skyzhao1223/wheel-hub)\n\n**Stop reinventing the wheel. Search, score and adopt the best open-source solutions — before you write a line of code.**\n\nwheel-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**.\n\n## Why\n\nEvery 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.\n\n## Install\n\n### MCP server (for Claude Code, opencode, Cursor, …)\n\n```bash\nnpx @wheel-hub/mcp\n```\n\nClaude Code example:\n\n```bash\nclaude mcp add wheel-hub --env GITHUB_TOKEN=ghp_xxx -- npx @wheel-hub/mcp\n```\n\nGeneric JSON config example (works in most MCP clients):\n\n```json\n{\n  \"mcpServers\": {\n    \"wheel-hub\": {\n      \"command\": \"npx\",\n      \"args\": [\"@wheel-hub/mcp\"],\n      \"env\": { \"GITHUB_TOKEN\": \"ghp_xxx\" }\n    }\n  }\n}\n```\n\n> **Note:** MCP clients only forward a whitelist of environment variables to servers.\n> Always pass `GITHUB_TOKEN` explicitly through the client's `env` config, or the server\n> will run unauthenticated at 60 requests/hour and hit rate limits quickly.\n\nThen just ask your agent: *\"before you implement, use wheel-hub to check what exists for background job scheduling\"*.\n\n### CLI (for humans)\n\n```bash\n# one-off\nnpx @wheel-hub/cli find \"SSO login\" --lang typescript\nnpx @wheel-hub/cli evaluate ollama/ollama\n\n# or install for the `wheel-hub` command\nnpm i -g @wheel-hub/cli\nwheel-hub find \"SSO login\"\n```\n\n## Tools\n\n| Tool | Description |\n|------|-------------|\n| `search_oss` | Search GitHub for solutions to a problem |\n| `evaluate_repo` | Score one repo (0–100) with a verdict and reasons |\n| `compare_alternatives` | Find alternatives + evaluate each — run this before writing new code |\n\n## Scoring model\n\nComposite score (0–100) weighted across four dimensions:\n\n- **Popularity (30%)** — star mass on a log scale\n- **Momentum (25%)** — stars/day growth + recency of pushes\n- **Maintenance (30%)** — commit freshness + issue backlog ratio\n- **Trust (15%)** — license permissiveness, archived status\n\nVerdicts: `≥75 adopt` · `≥55 adapt` · `≥35 inspect` · `<35 / archived avoid`\n\n## Configuration\n\n`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.\n\n## Packages\n\n| Package | Description |\n|---------|-------------|\n| [`@wheel-hub/core`](https://www.npmjs.com/package/@wheel-hub/core) | GitHub aggregation + scoring engine |\n| [`@wheel-hub/mcp`](https://www.npmjs.com/package/@wheel-hub/mcp) | MCP server for AI agents |\n| [`wheel-hub`](https://www.npmjs.com/package/wheel-hub) | Terminal CLI |\n\n## Roadmap\n\n- [ ] 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\")\n\n- [ ] Awesome-list mining as a secondary signal source\n- [ ] Star-history curves via OSSInsight data\n- [ ] `wheel-hub watch` — get notified when your stack's dependencies go stale\n- [ ] Score persistence + weekly digest\n\n## License\n\nMIT\n"}