⚠️ Experimental — 实验性项目,功能可能不稳定或演进中。
What do AI agents actually call on GitHub? Not star-based — behavior-based.
Every other "AI agent ranking" is just a star counter with extra steps. This repo measures the thing that actually matters: which MCP servers, agent skills, and libraries are being wired up and invoked by real agents in the wild, inferred from public mcp.json configurations and repository dependency graphs.
The full dataset updates every Monday via GitHub Actions. Latest Top 5:
🔌 MCP servers
| # | Package | mcp.json call count |
npm downloads/mo | Δ (week) | Score |
|---|---|---|---|---|---|
| 1 | @modelcontextprotocol/server-filesystem |
3,664 | 2,112,037 | +104 | 7.08 |
| 2 | @modelcontextprotocol/server-github |
2,564 | 546,120 | +28 | 6.61 |
| 3 | @modelcontextprotocol/server-memory |
1,824 | 399,923 | +16 | 6.37 |
| 4 | @modelcontextprotocol/server-postgres |
1,148 | 488,302 | -24 | 6.15 |
| 5 | @modelcontextprotocol/server-puppeteer |
535 | 121,149 | +1 | 5.45 |
🧠 Agent skills & libraries
| # | Repo | Dependents | Stars | Δ deps | Score |
|---|---|---|---|---|---|
| 1 | langchain-ai/langchain |
342,528 | 143,831 | +2,048 | 10.55 |
| 2 | langchain-ai/langgraph |
108,288 | 39,327 | -512 | 9.57 |
| 3 | microsoft/autogen |
66,432 | 60,337 | -256 | 9.26 |
| 4 | crewAIInc/crewAI |
16,832 | 56,878 | +256 | 8.95 |
| 5 | agno-agi/agno |
53,504 | 41,638 | +2,944 | 8.87 |
📈 This week's top mover: agno-agi/agno (+2,944 in dependents).
Full rankings (Top 30 MCP + all skills): data/rankings/latest.json · interactive site
| Signal | Source | Method |
|---|---|---|
| MCP server popularity | Public mcp.json files on GitHub |
GitHub code search: "<pkg>" filename:mcp.json → total_count |
| Skill / lib used-by | Public repos referencing it in manifests | GitHub code search: "<name>" filename:package.json OR filename:requirements.txt OR filename:pyproject.toml → total_count |
| Download velocity | npm registry | api.npmjs.org/downloads/point/last-month/<pkg> |
The composite score formula is documented in data/rankings/latest.json → methodology and in site/methodology.md.
# 1. Clone
git clone https://github.com/Zensoro/agent-called-what.git
cd agent-called-what
# 2. Set your GitHub token
cp .env.example .env
# edit .env and paste your GH_PAT (needs 'repo' + 'read:user' scopes)
# 3. Run
export $(cat .env | xargs)
python scripts/fetch_mcp.py # ~6-9 min for 40 packages (10 req/min cap)
python scripts/fetch_skills.py # ~2-3 min
python scripts/compose.py # merges → data/rankings/latest.jsonNo dependencies beyond the Python stdlib. No API fees. Results are committed as versioned JSON.
agent-called-what/
├── data/
│ ├── mcp-servers/YYYY-MM-DD.json # raw MCP call counts
│ ├── skills/YYYY-MM-DD.json # raw skill/lib metadata
│ └── rankings/
│ ├── latest.json # ← the site reads this
│ └── YYYY-MM-DD.json # historical snapshot
├── scripts/
│ ├── lib/mcp_packages.py # ← seed list (PR new entries here!)
│ ├── fetch_mcp.py
│ ├── fetch_skills.py
│ └── compose.py
├── site/ # VitePress static site (GitHub Pages)
├── .github/workflows/weekly.yml # auto-runs every Monday 02:00 UTC
└── README.md
Two reasons:
- Data should be forkable. Every snapshot is a versioned JSON file in
data/. Clone the repo, rungit log -- data/mcp-servers/, and you have a time series. No API to hit, no rate limit, no "sign up for the pro tier." - Methodology should be auditable. If you think the weights are wrong, the queries are biased, or I missed a popular MCP server — open a PR. The whole pipeline is plain Python + stdlib.
- New MCP server? Add it to
scripts/lib/mcp_packages.py→MCP_PACKAGEStuple list. Re-runcompose.py. - Better scoring? Open an issue explaining the change; we tweak weights in
scripts/compose.py. - Bug? File an issue with the traceback and your
GH_PATscopes (not the token itself!).
Q: Isn't code search rate-limited? Yes — 10 req/min for OAuth tokens. That's why fetch_mcp.py sleeps 7 s between requests; a full run of 40 packages takes ~6-9 min.
Q: Why not use GraphQL repositoriesDependentsCount for used-by? That field doesn't exist on the Repository type (verified undefinedField), and scraping /network/dependents is ToS-gray. We count manifest-file references via code search instead — same behavioral evidence, official API.
Q: How is this different from AgentScout / Billboard? They rank by stars. We rank by behavioral evidence — config-file presence and dependency edges. Stars measure hype; config presence measures adoption.
This project is developed with heavy AI assistance (code generation, tests, docs, refactoring, debugging).
- Core logic is human-reviewed: key algorithms and parameters are reviewed at source level, not machine-asserted.
- Tests run independently in CI: everything is reproducible via GitHub Actions.
- Accuracy over hype: if you find any overstated claim, please open an issue.
MIT — see LICENSE.