GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
作者提供的说明(英文原文)
Read-only MCP server over a local, offline catalog of tools from GitHub awesome lists.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
AWESOME_DATA_DIR你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"awesome-core": {
"command": "uvx",
"args": [
"awesome-core"
],
"env": {
"AWESOME_DATA_DIR": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add awesome-core --env AWESOME_DATA_DIR=your-value -- uvx awesome-core运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"awesome-core": {
"command": "uvx",
"args": [
"awesome-core"
],
"env": {
"AWESOME_DATA_DIR": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"awesome-core": {
"type": "stdio",
"command": "uvx",
"args": [
"awesome-core"
],
"env": {
"AWESOME_DATA_DIR": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
AWESOME_DATA_DIR env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 twojlogin 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(2.0.1)于18天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有:GitHub, Desktop Commander, Cloudflare MCP
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Ściąga wszystkie awesome listy z GitHuba do jednego katalogu na Twoim dysku i pozwala szybko znaleźć narzędzie — po nazwie, języku, systemie albo temacie — całkowicie bez internetu.
Na przykład chcesz „coś do OSINT-a działające pod Windows". Wpisujesz:
./awesome search osint --os windows
i dostajesz narzędzia z kilku różnych awesome list naraz, posortowane tak, że na górze są te, które niezależni kuratorzy wskazali w wielu listach (a nie tylko te z jednej głośnej listy).
Filtry łączy AND, więc kumulują się szybko.
--os windows --lang PowerShell
zostawia z „osint" jedno narzędzie — i to nie to, czego szukałeś, tylko
skrypt PowerShell, który akurat też nazywa się „Sherlock". Program wie, że
filtr jest za wąski, i mówi wprost, który odpuścić:
`
Uwaga: 2 filtry łączy AND i zostawiły 1 wynik(ów).
bez lang=PowerShell → 8 wyników
`
Zasada: dodawaj filtr tylko wtedy, gdy wyników jest więcej niż kilka.
./awesome start # 1. wszystko robi za Ciebie (pobiera, buduje, gotowe)
./awesome search nmap ./awesome web # i otwiera przeglądarkę
./awesome start mówi w każdym kroku, co robi i ile to potrwa. Nic działa się samo w tle — zawsze widzisz postęp.
Jedna rzecz: Python 3.8 lub nowszy. To wszystko.
| Potrzebujesz | Po co | Sprawdzenie |
|---|---|---|
| Python 3.8+ | program — jedyna zależność | python3 --version |
Nie potrzebujesz jq, curl, GitHub CLI ani samodzielnego python -m venv:
core/api.py) — bez gh jest wolniej, bo GitHub limituje wyszukiwanie do 10 zapytań na minutę, ale działa;./awesome web;./awesome doctor).Jeśli masz gh i się zalogujesz (gh auth login), wszystko idzie 30× szybciej i enrich w ogóle się odblokuje. Ale to przyspieszenie, nie warunek.
Instalacja na Linuksie:
sudo apt install python3 # albo: sudo dnf install python3
Opcjonalnie, dla 30× szybszego pobierania i metadanych narzędzi:
gh auth login # GitHub CLI, jednorazowo
Windows działa bez basha. W katalogu jest awesome.cmd, więc w PowerShellu albo po podwójnym kliknięciu piszesz po prostu:
awesome.cmd start
awesome.cmd web
download.sh został, ale to już tylko nakładka wywołująca Pythona — w nim nie ma już ani jq, ani curl, ani pętli w shellu.
W PowerShellu odpowiedniki reszty komend:
gh auth login # potem reszta jak w Linuxie
.\venv\Scripts\Activate.ps1 # aktywacja venv .\awesome web
Flask do web UI instaluje się sam, przy pierwszym ./awesome web:
Web UI potrzebuje Flaska. Przygotowuję środowisko (requirements.txt):
Tworzę venv… Aktualizuję pip… Instaluję z requirements.txt… Gotowe. Od teraz web używa venv/.
Jeśli z jakiegoś powodu to się nie uda (brak sieci, proxy), program wypisze instrukcję ręczną — ale nie musisz jej pamiętać na co dzień.
Nie musisz znać SQL, programować, nic konfigurować w środku i nie musisz nic aktualizować automatycznie. Jak coś nie działa — ./awesome status powie Ci, co dokładnie odpalić.
./awesome startProgram sprawdza, czy masz wszystko, potem:
| Krok | Co robi | Ile trwa |
|---|---|---|
| 1 | pobiera README awesome list z GitHuba (pomija to, co już masz) | 10–25 min |
| 2 | wyciąga z nich narzędzia do bazy | ~2 min |
| 3 | dociąga gwiazdki i języki list | ~1 min |
| 4 | włącza Web UI i czeka | — |
Jeśli baza już jest zbudowana, `start` nie pobiera nic od nowa. Wypisuje liczbę narzędzi i od razu włącza interfejs. Przebudowa wymaga świadomej decyzji:
./awesome start --rebuild # kasuje bazę i buduje od nowa (~2 min)
./awesome refresh # dociąga brakujące dane i przebudowuje
Dzięki temu przypadkowe ./awesome start nie kasuje Ci 2 minuty pracy.
Uwaga, uczciwie: start nie odpytuje GitHuba o repozytoria samych narzędzi. Ranking od razu działa (na zgodzie kuratorów), ale gwiazdka przy narzędziu to na razie szacunek z listy, nie prawdziwa liczba. Jedna komenda to naprawia:
./awesome enrich # 30–60 min, odpytuje ~35 tys. repozytoriów
./awesome build # ~2 min, żeby gwiazdki wsiąkły do rankingu
Albo jednym poleceniem od zera:
./awesome start --full # download → build → backfill → enrich → build
Robisz to raz. Przerwać można w każdej chwili (Ctrl+C) — postęp jest zapisywany i odpalanie komendy drugi raz jedzie dalej. Bez zalogowania do GitHuba enrich odmawia z wyjaśnieniem zamiast udawać, że zrobił swoją robotę.
Jeśli masz mało czasu, krok 1 możesz pominąć i nadrobić później:
./awesome start --skip-download # szybka ścieżka: buduje z tego, co już jest
./awesome search "port scanner" # szukaj po ludzku
./awesome search osint --lang Python # ...tylko Python ./awesome search "active directory" --os windows # ...tylko pod Windowsa ./awesome langs # co jest w bazie (języki) ./awesome platforms # systemy: Windows, Linux, Docker... ./awesome domains # tematy: osint, security, network... ./awesome why nmap # skąd ten wynik — punkt po punkcie ./awesome mentions nmap # w ilu listach jest to narzędzie ./awesome audit # czy katalog nie jest zatruty fałszywymi listami ./awesome audit sindresorhus/awesome # audyt jednego repozytorium ./awesome lists # najlepsze listy ./awesome info nmap # dane + komenda instalacji ./awesome install nmap # zainstaluj (git clone)
Jak coś znajdziesz i działa — włóż to od razu na swoją listę, a na końcu wklej gotowy Markdown:
./awesome shortlist add nmap --note "do skanowania sieci"
./awesome shortlist # co jest na liście ./awesome shortlist emit --title "Moja lista OSINT" --group domain ./awesome shortlist emit --out moja-lista.md # zapisz do pliku
W web UI jest to samo: przycisk ☆ Do mojej listy na stronie narzędzia, lista i Markdown pod linkiem *Moja lista* w menu. W TUI klawisz k.
Osobno istnieje watch — lista repozytoriów list, które chcesz śledzić (nowe narzędzia w ulubionej liście), a nie lista narzędzi:
./awesome watch add sindresorhus/awesome
./awesome watch check # co doszło od ostatniego sprawdzenia
Obie listy są lokalne i żadna nie odpytuje się sama w tle.
/ szukaj l następny język o następna platforma
d następna domena s zmień sortowanie a wyczyść filtry g ukryte perełki u niedoceniane Enter szczegóły k do mojej listy i instaluj ? pomoc q wyjście
./awesome # terminal — najszybszy do szybkiego szukania
./awesome tui # terminal, ale interaktywnie (strzałki, filtry) ./awesome web # przeglądarka (port wypisuje na ekranie) ./awesome help # wszystkie komendy
./awesome status # co jest w bazie, kiedy ostatnio odświeżone, czego brakuje
./awesome refresh # pobierz nowe listy → metadane → przebuduj bazę
./awesome status po odświeżeniu podpowiada dokładną komendę, np. ./awesome enrich. To samo w przeglądarce: strona /refresh z czterema przyciskami. Żadnych cronów, daemonów ani procesów w tle.
Ważne przy liczbach: status nie mówi „X narzędzi bez gwiazdek", tylko ile repozytoriów zostało do odpytania. Różnica jest ogromna, bo kilka narzędzi często wskazuje na to samo repo, a linki poza GitHubem (artykuły, filmy, dokumentacja) nie mają i nigdy nie będą miały gwiazdek — nie licz ich jako brakującej pracy.
| narzędzi w bazie | zależne od pobranych list |
| źródeł (repozytoriów) | zależne od pobranych list |
Aktualne liczby zawsze sprawdzisz: ./awesome status.
Uczciwa uwaga: nie ma tu żadnego AI. Żadne modele językowe nie wybierają, nie oceniają ani nie rankują narzędzi. To zwykły Python, który parsuje README z list GitHuba i liczy rzeczy na surowo. Jeśli liczby w README różnią się od bazy — ktoś zapomniał odświeżyć blok STAN. Zrób ./awesome status i popraw.
Katalog można dać do dyspozycji lokalnemu agentowi (Claude, Cursor, cokolwiek mówi „Model Context Protocol”) jako źródło narzędzi. Agent dostaje ranking oparty o zgodę niezależnych kuratorów, a nie o to, co jest najczęściej wypisane w jednym README.
./awesome mcp --demo # podgląd: zobaczysz całą wymianę JSON-RPC bez agenta
./awesome mcp # serwer czeka na stdin (tak to działa w praktyce)
Serwer daje 5 narzędzi: search_tools (szukanie z filtrami), find_undiscovered_tools (niedoceniane i ukryte perełki), explain_tool (uzasadnienie rankingu: z jakich list, ile punktów, co ważyło), lists_with_tool (wszystkie listy + oznaczone kopie) i catalog_facets (co jest w bazie: języki, platformy, domeny).
Wpisz to do konfiguracji klienta, np. claude_desktop_config.json:
{
"mcpServers": { "awesome-core": { "command": "/pełna/ścieżka/do/awesome-core/awesome", "args": ["mcp"] } } }
Albo bez klonowania — prosto z PyPI (paczka awesome-core, obecna też w oficjalnym rejestrze MCP jako io.github.twojlogin/awesome-core):
{
"mcpServers": { "awesome-core": { "command": "uvx", "args": ["awesome-core"], "env": { "AWESOME_DATA_DIR": "/pełna/ścieżka/do/awesome-core/data" } } } }
uvx pobierze i uruchomi serwer z PyPI. AWESOME_DATA_DIR musi wskazywać katalog z bazą zbudowaną przez ./awesome start — sama paczka nie zawiera danych (baza ma ~194 MB i rośnie z każdym pobraniem).
Co warto wiedzieć:
Pytanie, które powinien zadać każdy: *co jeśli ktoś wrzuci złośliwą listę?*
Skąd listy: download.sh pyta publiczne API GitHuba o repozytoria oznaczone topic:awesome-list (plus topic:awesome i topic:curated-list w trybie --wide), posortowane po gwiazdkach. Nic więcej — żadnych „polecanych" repozytoriów, żadnych losowych adresów.
Nic z obcego repozytorium nigdy nie jest wykonywane:
只显示了开头部分;其余内容请在仓库中阅读