GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
作者提供的说明(英文原文)
Deploy and manage apps, databases, volumes and domains on Hostim, an EU cloud hosting platform.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 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": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add hostim --env HOSTIM_TOKEN=your-value -- 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": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .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": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过 GitHub 账户 hostimdev 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:HOSTIM_TOKEN
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.1.56)于4天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Docker。
同一分类中有: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、图片和脚本已被移除。链接会离开本站。
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
只显示了开头部分;其余内容请在仓库中阅读