Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Check whether a CLI command name is already taken across npm, PyPI, crates.io, Go, Debian and more
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
GLOBAL_EXECUTABLES_DATASET_ROOT, GLOBAL_EXECUTABLES_CACHE_DIR, GLOBAL_EXECUTABLES_OFFLINEต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"global-executables": {
"command": "uvx",
"args": [
"global-executables",
"mcp"
],
"env": {
"GLOBAL_EXECUTABLES_DATASET_ROOT": "ใส่ค่าของคุณ",
"GLOBAL_EXECUTABLES_CACHE_DIR": "ใส่ค่าของคุณ",
"GLOBAL_EXECUTABLES_OFFLINE": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add global-executables --env GLOBAL_EXECUTABLES_DATASET_ROOT='ใส่ค่าของคุณ' --env GLOBAL_EXECUTABLES_CACHE_DIR='ใส่ค่าของคุณ' --env GLOBAL_EXECUTABLES_OFFLINE='ใส่ค่าของคุณ' -- uvx global-executables mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"global-executables": {
"command": "uvx",
"args": [
"global-executables",
"mcp"
],
"env": {
"GLOBAL_EXECUTABLES_DATASET_ROOT": "ใส่ค่าของคุณ",
"GLOBAL_EXECUTABLES_CACHE_DIR": "ใส่ค่าของคุณ",
"GLOBAL_EXECUTABLES_OFFLINE": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"global-executables": {
"type": "stdio",
"command": "uvx",
"args": [
"global-executables",
"mcp"
],
"env": {
"GLOBAL_EXECUTABLES_DATASET_ROOT": "ใส่ค่าของคุณ",
"GLOBAL_EXECUTABLES_CACHE_DIR": "ใส่ค่าของคุณ",
"GLOBAL_EXECUTABLES_OFFLINE": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
GLOBAL_EXECUTABLES_DATASET_ROOT envGLOBAL_EXECUTABLES_CACHE_DIR envGLOBAL_EXECUTABLES_OFFLINE envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub asopitech-labs ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.4.1) เข้า registry 18 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv), Docker ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, EmbeddedCI BenchPod
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Drive a BenchPod hardware-in-the-loop bench: power, flash, UART, I2C, CAN, analog and logic.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Global Executables
Check whether a CLI command name is already in use—before you publish it.
Search executable names across npm, PyPI, crates.io, Go modules, Homebrew, Debian, and more from your AI agent or browser.
Try the Playground · Install the MCP server · Read the docs · Browse the data
A package name is not necessarily the command it installs. Searching registries for package names can miss a collision such as a differently named package that already ships your proposed command.
| Ordinary package search | Global Executables |
|---|---|
| Searches package and repository names | Searches the actual installed command name |
| Leaves evidence scattered across registries | Normalizes providers across ecosystems |
| A missing result can look deceptively final | Reports coverage and absence confidence |
| Requires a person to repeat the work | Lets AI agents check names in batches and verify known packages |
The index preserves the relationship that matters:
command → provider → package → ecosystem → source evidence
Open the [Index Playground](https://asopitech-labs.github.io/global-executables/) to check a name, find similar commands, inspect providers, or review source coverage. The Playground reads the same public JSON dataset as the MCP server, and query data is not sent to a third-party API.
For an AI-assisted check, connect the MCP server below and ask:
I am naming a new CLI. Check `envc`, `evcr`, `evpk`, and `envcp` for exact
collisions and confusingly similar commands. Keep rejected names internal and explain the coverage caveat for every survivor.
The agent can reject envcp with evidence instead of relying on a package-name search: the command is provided on PyPI by both chaperone and envcp.
| Capability | What it gives you |
|---|---|
| Exact and batch checks | Collision results for one name or a candidate set |
| Similar-name search | Typo and confusion candidates before you publish |
| Provider provenance | Package, ecosystem, version, source, and evidence confidence |
| Coverage-aware negatives | An explicit distinction between “not found” and “proven free” |
| Installation resolution | Conservative install and invoke steps for a target environment |
| Public, inspectable data | Versioned JSON, schemas, freshness, and coverage on GitHub |
The server has no write tools and never installs or executes the software it finds.
uvThe recommended setup uses uv. You do not need to clone this repository, download the dataset, or create an API key.
Verify that uvx is available:
uvx --version
Choose your client below. The first launch downloads the package from PyPI; later launches reuse uv's cache.
Claude Desktop and Cursor
Add this to claude_desktop_config.json, ~/.cursor/mcp.json, or a project's .cursor/mcp.json:
{
"mcpServers": { "global-executables": { "command": "uvx", "args": ["global-executables", "mcp"] } } }
Claude Code
claude mcp add global-executables -- uvx global-executables mcp
Codex CLI
codex mcp add global-executables -- uvx global-executables mcp
Start a new Codex session after adding the server. See the Codex setup tutorial for registration checks and a source-checkout setup.
VS Code
Add this to .vscode/mcp.json:
{
"servers": { "global-executables": { "type": "stdio", "command": "uvx", "args": ["global-executables", "mcp"] } } }
Docker (any stdio MCP client)
Use this server entry instead of the uvx entry:
{
"command": "docker", "args": ["run", "-i", "--rm", "ghcr.io/asopitech-labs/global-executables-mcp:latest"] }
The image is public and contains the server, but not a stale copy of the dataset.
Try one of these prompts:
Is the command name `envc` already taken? Check similar names too.
Check `envc`, `evcr`, `evpk`, and `envcp` as possible CLI names. Do not show
rejected candidates; explain the dataset coverage for the survivors.
Which package provides the `ruff` executable, and how should I install it in a
Python 3.12 project virtual environment?
The agent will normally call check_executables for a batch and search_similar_executables for the candidates that remain.
[!IMPORTANT]
found: truemeans a collision.found: falsemeans only that the current
snapshot contains no match. When
statusisunknown, partial source coverage
means the name is not proven to be available. Read
warnings,
absence.confidence, andcoverage_scopebefore adopting a name.
Snapshot lookups fetch only the public dictionary branch files a query needs, cache them in the current user's cache directory, and revalidate them with ETag. Cached files remain usable when the network is temporarily unavailable.
| Requirement | Details |
|---|---|
| Authentication | None |
| Local dataset | Not required |
| Default transport | stdio |
| Data access | On-demand HTTPS from the public dictionary branch |
| Writes or command execution | Lookup never executes software; verified discovery can reserve a Git branch only on a configured runner |
| Supported Python | 3.11+ (handled automatically by uvx) |
| Variable | Effect |
|---|---|
GLOBAL_EXECUTABLES_DATASET_ROOT | use a local checkout of the dictionary branch instead of HTTPS |
GLOBAL_EXECUTABLES_CACHE_DIR | cache location (default ~/.cache/global-executables, ~/Library/Caches/global-executables, or %LOCALAPPDATA%\global-executables\Cache) |
GLOBAL_EXECUTABLES_OFFLINE=1 | serve only cached files, never touch the network |
uvx global-executables mcp --help lists the same options as flags. The package is published to PyPI from release 1.3.0. See the MCP guide for HTTP transport, offline operation, and running from a source checkout.
| Tool | Use it when you want to… |
|---|---|
check_executable | check one exact, case-sensitive command name |
check_executables | check several naming candidates in one call (recommended) |
get_executable | retrieve providers and provenance for a known command |
search_executables | search by prefix, length, ecosystem, or scope |
search_similar_executables | find names that may be confused with a candidate |
get_coverage | inspect source coverage, freshness, and warnings |
assess_executable / assess_executables | add freshness, activity, popularity, and collision-risk signals |
resolve_installation / resolve_installations | derive environment-specific install and invoke guidance |
discover_published_package | verify commands declared by one current npm or PyPI release |
Snapshot lookup tools are read-only. discover_published_package makes bounded live registry and artifact requests without executing package code. On a designated runner configured with Git write access, successful verification also reserves an immutable intake/ branch for central revalidation. The result reports reservation.status; an unconfigured copy reports unavailable and does not claim publication. Neither MCP nor CLI writes the published dictionary directly. The repository's Verify and reserve published package discovery GitHub Actions workflow is the designated runner; it invokes both CLI and MCP before the collector. Installation resolvers return instructions; they never install or execute software. Full inputs and result contracts are documented in the MCP guide.
The scheduled intake collector validates and rechecks reserved evidence before merging it into artifact-data. The regular refresh remains the only writer of the dictionary branch. See the MCP guide for runner configuration and the reservation lifecycle.
| Family | Sources | Typical executable evidence |
|---|---|---|
| System packages | Debian, Ubuntu, Arch Linux | Installed package file lists |
| macOS packages | Homebrew | Formula metadata and package contents |
| Language registries | npm, PyPI, crates.io, Go modules, RubyGems, Packagist | Declared bins, entry points, or executable targets |
| C and C++ recipes | ConanCenter, vcpkg, xmake-repo | Built file lists, tool declarations, or marked binary packages |
Every provider keeps its source and a confidence level (direct, filesystem, or inferred). Coverage differs by ecosystem, so negative results carry explicit coverage metadata instead of pretending that every registry is exhaustive. See Data Sources for collection details and coverage and freshness for the result contract.
| If you want to… | Start here |
|---|---|
| Connect an MCP client or use HTTP transport | MCP access and agent integration |
| Configure Codex step by step | Codex MCP tutorial |
| Verify a clean source checkout | Setup and verification |
| Understand records, indexes, and schemas | Data model |
| Review collection scope and attribution | Data sources |
| Operate or contribute to the data pipeline | Operations |
The client says uvx was not found
Install uv, confirm that uvx --version works in a new terminal, and restart the MCP client so it receives the updated PATH. If the client uses a restricted environment, set the configuration's command to the absolute path reported by command -v uvx (macOS/Linux) or where uvx (Windows).
ตัดมาแค่ช่วงต้น อ่านต่อใน repo