GitHub
server ทางการของ GitHub ให้ AI อ่านและจัดการโค้ด issue และ pull request ในบัญชีของคุณได้ ใช้ผ่านคลาวด์ของ GitHub หรือรันในเครื่องด้วย Docker ก็ได้
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Check if a GitHub issue is taken before volunteering for it.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"taken": {
"command": "uvx",
"args": [
"taken-gh"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add taken -- uvx taken-ghวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"taken": {
"command": "uvx",
"args": [
"taken-gh"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"taken": {
"type": "stdio",
"command": "uvx",
"args": [
"taken-gh"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub RogueAlg0 ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.9.2) เข้า registry 24 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี GitHub, Desktop Commander, Cloudflare MCP
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
server ทางการของ GitHub ให้ AI อ่านและจัดการโค้ด issue และ pull request ในบัญชีของคุณได้ ใช้ผ่านคลาวด์ของ GitHub หรือรันในเครื่องด้วย Docker ก็ได้
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
taken? answers one question before you volunteer for a GitHub issue: is it already taken?
In plain terms, it checks an issue before you start work: is it still open to contributions, is anyone already on it, and is the repo responsive enough that your PR will get reviewed.
Try it without installing anything: the live console runs the real checks in your browser.
The catch it was built for: GitHub shows "linked a pull request" events in the issue timeline, but never in the comments. You can read every comment on an issue and still miss that someone already opened a PR for it. taken? checks the timeline, scans comments for people claiming the work, looks at assignees, reads CONTRIBUTING.md for AI contribution policies, and checks whether the repo is still active. Then it gives a verdict, GO, TAKEN, or CAUTION, with the evidence cited.
gh), authenticatedtaken? only makes read-only API calls through your own gh login. It never sees or stores tokens, and it never writes anything to GitHub.
uv tool install taken-gh
Or with pipx:
pipx install taken-gh
Then:
taken owner/repo#123
A full issue URL works too:
taken https://github.com/owner/repo/issues/123
TAKEN wins over CAUTION, which wins over GO.
The claimant scan is a heuristic over comment text, not proof. The verdict always prints its evidence so you can judge for yourself.
Exit codes: 0 means GO, 1 means TAKEN, 2 means CAUTION, 3 means something broke (bad target or flag, no gh, API error).
A pull request number is an invalid issue target: it returns an error (exit 3 in the CLI), without a contribution verdict.
An issue with a PR already fixing it:
$ taken Exodus-Privacy/exodus#300 taken? Exodus-Privacy/exodus#300 verdict: TAKEN ... why:
An issue someone is already assigned to:
$ taken chahe-dridi/vscode-agent-bell#200 taken? chahe-dridi/vscode-agent-bell#200 verdict: TAKEN ... why:
A clean issue, with your own volunteering comment filtered out:
$ taken snowflakedb/snowflake-cli#3145 --me RogueAlg0 taken? snowflakedb/snowflake-cli#3145 verdict: GO ... why:
--json: print the full findings as JSON instead of the human summary--me LOGIN: ignore your own comments when scanning for claimants--no-cache: bypass the one-hour API response cache--rest: force the REST fetch path (the default is GraphQL for logged-in users)--health: maintainer report for one repo instead of a contributor verdicttaken --help lists everything.
Health reports warn when either the issue listing or the PR listing reaches its scan cap. With --health --json, truncated describes the issue listing and pr_scan_truncated describes the PR listing; stale PR counts may be incomplete when the latter is true.
Give taken several targets and it prints one verdict line per target:
taken owner/repo#123 owner/repo#124 --me mylogin TAKEN owner/repo#123 assigned to: dk5488 GO owner/repo#124 no linked PRs, no assignees, no claimants, repo is active
A bare owner/repo scans the repo automatically: its open issues (most recently updated first, PRs excluded) are each checked:
taken django/django --label "good first issue" --limit 10
API responses are cached for one hour in ~/.cache/taken (override with TAKEN_CACHE_DIR), so repeated scans stay cheap.
The opt-in REST transport (TAKEN_TRANSPORT=httpx) preserves both JSON objects and arrays, including empty listings. Response ETags are cached alongside either shape: after expiry, a 304 Not Modified reuses the cached body and refreshes its TTL. The default subprocess transport is unchanged.
taken --discover finds contribution candidates across GitHub: it takes raw candidates from GitHub's issue search, runs taken's full verification on each one, and ranks the survivors. Only GO verdicts make the list, scored on the signal no aggregator filters on: maintainer responsiveness.
taken --discover --language python --min-contributors 3 --limit 10 6 octocat/hello-world#42 maintainer replied; updated 1d ago; repo pushed 0d ago 4 octocat/other-repo#7 updated 3d ago; repo pushed 2d ago
Each line explains its own score. Candidates are verified in parallel (8 workers by default; --jobs N tunes it).
taken also ships as an MCP server, so coding agents can check issues with a tool call instead of shelling out to the CLI. Same setup: gh installed and authenticated, read-only API calls through your own login.
uvx --from "taken-gh[mcp]" taken-mcp
Three tools: check_issue, scan_repo, discover_candidates. Published in the official MCP Registry as io.github.RogueAlg0/taken.
Clients that request MCP progress receive updates while scan_repo checks issues and discover_candidates verifies candidates. The updates use the current request's progress channel; clients that do not request progress keep the same results. Discovery can finish before its total is reached when the best results are already decided.
MCP scan_repo and discover_candidates responses include truncated, considered and returned, even for empty results. Discovery also reports verified, the number of candidates submitted for verification. truncated means results may be incomplete because a listing/search/pool cap was reached, ranking stopped early, the result limit excluded matches, or discovery had verification/search errors. A full API page is conservatively marked limited when exhaustion cannot be established without another request.
Counts describe observed work, not the total number of issues on GitHub. For MCP scans, considered counts issues in fetched listing pages (excluding PRs); for discovery it counts candidates admitted to the verification pool. returned counts rows in results.
CLI JSON migration: --discover --json and bare-repository scans with --json now return an object containing results and this metadata. Consumers of the former array should read payload["results"]. Repository batches also include scans, with per-repository listing counts and limits; their top-level considered counts check jobs. Batches containing only explicit issue targets keep their JSON array format. Human-readable output is unchanged. Discovery emits its JSON object even when no candidate is returned.
uv sync # install dev tools (ruff, pytest) uv run pytest uv run ruff check uv run ruff format --check
This project is built with AI assistance, and says so openly. Every contribution is reviewed and understood by its author before it lands.
See SECURITY.md for the supported versions and how to report a vulnerability. Please use private vulnerability reporting, not a public issue.