GitHub
server ทางการของ GitHub ให้ AI อ่านและจัดการโค้ด issue และ pull request ในบัญชีของคุณได้ ใช้ผ่านคลาวด์ของ GitHub หรือรันในเครื่องด้วย Docker ก็ได้
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Deploy and manage apps, databases, volumes and domains on Hostim, an EU cloud hosting platform.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
HOSTIM_TOKENค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"hostim": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"HOSTIM_TOKEN",
"ghcr.io/hostimdev/cli:v0.1.56",
"mcp",
"--allow-write",
"false"
],
"env": {
"HOSTIM_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add hostim --env HOSTIM_TOKEN='ใส่ค่าของคุณ' -- docker run -i --rm -e HOSTIM_TOKEN ghcr.io/hostimdev/cli:v0.1.56 mcp --allow-write falseเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"hostim": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"HOSTIM_TOKEN",
"ghcr.io/hostimdev/cli:v0.1.56",
"mcp",
"--allow-write",
"false"
],
"env": {
"HOSTIM_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"hostim": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"HOSTIM_TOKEN",
"ghcr.io/hostimdev/cli:v0.1.56",
"mcp",
"--allow-write",
"false"
],
"env": {
"HOSTIM_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub hostimdev ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: HOSTIM_TOKEN
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.56) เข้า registry 4 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Docker ในเครื่องด้วย
ในหมวดเดียวกันมี 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 รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Command-line interface for the Hostim.dev cloud platform. Create and manage projects, apps, databases (MySQL / Postgres / Redis), volumes and domains from a terminal or a CI pipeline, over the public REST API at https://api.hostim.dev.
An app can deploy from a local directory (uploaded and built from its Dockerfile, or served as a static site), a git repository, or a Docker image. A local directory needs no git remote and no registry: hostim deploy web --source . --plan sa-1-1 --port 8080. See deploy.
This file is the complete manual. The binary carries the same text: run hostim agent to print it to stdout, so an agent or a script can read the whole manual without network access.
Commands, flags, output and API responses can change between releases. Check the release notes before you upgrade.
curl -fsSL https://raw.githubusercontent.com/hostimdev/cli/main/install.sh | sh
The script downloads the release binary for the current OS and architecture (Linux and macOS, amd64 and arm64) and installs it into /usr/local/bin, using sudo when that directory is not writable. When it is not writable and sudo is not installed either — a plain container, for example — the script falls back to ~/.local/bin and tells you if that directory is not on your PATH. Set PREFIX to choose the location yourself:
curl -fsSL https://raw.githubusercontent.com/hostimdev/cli/main/install.sh | PREFIX=$HOME/.local sh
Some agents and CI policies refuse to pipe a downloaded script into a shell. The script is not required. Use Homebrew (macOS and Linux):
brew install hostimdev/tap/hostim
Or npm (Node 18+). npx downloads the release binary for your platform on the first run, checks it against the release checksums and caches it:
npx -y hostim version
npm install -g hostim # or install it once and run hostim
Or fetch the release binary directly:
VERSION=$(curl -fsSL https://api.github.com/repos/hostimdev/cli/releases/latest | grep -o '"tag_name": *"[^"]*"' | cut -d'"' -f4)
curl -fsSL "https://github.com/hostimdev/cli/releases/download/${VERSION}/hostim_linux_amd64.tar.gz" | tar -xz hostim install -m 0755 hostim /usr/local/bin/hostim # or anywhere on your PATH
Build from source instead (Go 1.26+):
git clone https://github.com/hostimdev/cli && cd cli
make build # writes bin/hostim make install # installs into /usr/local/bin (PREFIX to change)
Check the install:
hostim version
hostim login uses a device code. It prints a URL and a short code, you approve the request in the browser, and the token is saved automatically:
hostim login
hostim login polls until you approve and saves the token itself, so there is no need to write a waiting loop around it or to run it a second time. The browser step does not need a terminal, so an agent can run hostim login and show you the code. If you already have a token, store it directly instead — create one in the dashboard at https://console.hostim.dev:
hostim login --token-value "$T" # non-interactive, for scripts and CI
login validates the token against the API before saving it to ~/.config/hostim/config.yml (mode 0600). In CI, skip login and export HOSTIM_TOKEN instead — no file is written.
Most commands act on one project. Set a default once:
hostim projects ls
hostim use my-project hostim whoami # token source, current project, project count
Values are resolved as flag → environment variable → config file, with a built-in default for the API URL.
| Value | Flag | Environment variable | Config key |
|---|---|---|---|
| API token | --token | HOSTIM_TOKEN | token |
| API base URL | --api-url | HOSTIM_API_URL | apiUrl (default https://api.hostim.dev) |
| Target project | -p, --project | HOSTIM_PROJECT | currentProject, set by hostim use |
The config file lives at ~/.config/hostim/config.yml, or $XDG_CONFIG_HOME/hostim/config.yml when XDG_CONFIG_HOME is set:
token: ... # written by `hostim login`
currentProject: my-project # written by hostim use apiUrl: https://api.hostim.dev # only written when --api-url was passed
Projects and apps can be named by name or by ID everywhere.
Available on every command:
--token string API token (overrides HOSTIM_TOKEN and config)
--api-url string API base URL (default https://api.hostim.dev) -p, --project project to target (overrides HOSTIM_PROJECT and current project) -o, --output output format: table or json (default "table") -h, --help help for the command -v, --version version (root command only)
Destructive commands (rm, templates apply) ask for confirmation and take -y / --yes to skip the prompt.
Default output is an aligned text table meant for a human. -o json switches every command to machine output and is the right mode for scripts and agents:
{"status":"created","kind":"app","name":"web"} or {"status":"ok","kind":"env","set":1};{"status":"error","error":"..."}, and exit non-zero. When a command is short of several requirements, the object carries a "missing" array listing all of them at once.Exit codes:
| Code | Meaning |
|---|---|
| 0 | success |
| 1 | any CLI or API error, or an aborted confirmation |
| other | hostim exec passes through the remote command's exit status |
Every example below is runnable as written once a token and a project are set.
hostim login # device login: approve a code in the browser
hostim login --token-value "$TOKEN" # store an existing API token instead hostim logout # remove the stored token hostim whoami # API URL, token source, current project hostim whoami -o json hostim use my-project # set the default project (verifies it exists) hostim use my-project --force # skip the check (offline) hostim use --clear # unset the default project
hostim projects ls # aliases: project, proj; ls | list
hostim projects get my-project hostim projects create my-project --region eu-center hostim projects rm my-project -y hostim projects export -p prod -f prod.yml # template YAML for templates apply hostim projects export -p prod -o json # template as JSON on stdout
--region is required on create; see hostim regions ls for the values.
projects export writes a desired-state template, not a backup: volume and database contents (data) are not exported. That data is backed up on a schedule anyway: Postgres and MySQL databases and volumes, see backups (hostim backups). Costs, IDs, built-in domains and unused source blocks are stripped, and env var values are exported RAW — the file holds secrets (passwords, API keys), so store and share it like a password file. Docker registry passwords and git tokens are not readable through the API and are left out (registry usernames are kept); set them again after applying. Redeploy with hostim templates apply -f prod.yml --new-project prod-clone.
hostim deploy creates the app when it does not exist (from --source, --git or --docker-image) and otherwise updates its source and triggers a rebuild. It waits for the build and exits non-zero if the build fails, so it drops straight into a pipeline. hostim apps deploy is the same command.
# first deploy from a git repo
hostim deploy web \ --git https://github.com/me/app --branch main \ --plan sa-1-1 --port 8080 \ --health-check-path /healthz \ --env LOG_LEVEL=debug --env-file .env
hostim deploy web --source . --plan sa-1-1 --port 8080
npm run build && hostim deploy site --source dist --plan sa-1-1
hostim deploy web
hostim deploy web --docker-image ghcr.io/me/app:latest --wait=false
hostim deploy web --docker-image registry.example.com/me/app:1.2.3 \ --docker-user ci --docker-pass "$REG_PASS"
hostim deploy web --git https://github.com/me/private --git-token "$GH_TOKEN"
hostim deploy web --docker-image nginx --plan sa-1-1 --port 80 \ --volume data:/var/lib/app --domain app.example.com
Flags:
--source string deploy a local directory: it is uploaded and built with its Dockerfile
--static serve --source as a static site with nginx (automatic when it has an index.html and no Dockerfile) --git string git repository URL --branch string git branch --dockerfile string path to the Dockerfile in the repo or source dir; its directory is the build context --git-token string token for private git repos --docker-image string docker image reference, registry host included --docker-user string docker registry username --docker-pass string docker registry password --plan string app plan (required when creating) --port int HTTP port (on create; required unless --public=false) --public expose the app publicly (on create) (default true) --replicas int number of replicas (on create) (default 1) --domain stringArray custom domain (repeatable, on create) --volume stringArray mount a volume as name:mountPath (repeatable) --env stringArray environment variable as KEY=VALUE (repeatable, merges) --env-file string read environment variables from a .env file (merges) --command string override the container command (empty value restores the image default) --health-check-path string HTTP path for the readiness probe (empty value disables it) --wait wait for the build to finish (default true) --timeout duration max time to wait for the build (default 15m0s) --poll-interval duration status poll interval (default 3s)
With --source . the directory is packed into a .tar.gz and uploaded before the build. These paths are always left out: .git/, node_modules/ (at any depth), .env and .env.* files (except .env.example, .env.sample and .env.template). A .dockerignore at the directory root is applied too; the Dockerfile and .dockerignore are always kept. Symlinked directories are not followed, and a symlink is skipped w
ตัดมาแค่ช่วงต้น อ่านต่อใน repo