# io.github.AlexikM/gibil (npm · gibil)

Spawns an ephemeral Ubuntu VM with project clone, shell exec, file I/O, and auto-destroy on TTL.

- Trust score: 62/100 (medium)
- Change this week: +44
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `gibil`: 62/100 (this document), [markdown](https://verifymcp.io/servers/alexikm-gibil/gibil.md), [page](https://verifymcp.io/servers/alexikm-gibil/gibil)

## Channel facts

- Registry: `npm`
- Package: `gibil`
- Version: `0.5.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (105 of 109), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (105 of 109), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 6/100
  - Repository check failed: the declared repository URL returned HTTP 404.
  - Provenance check failed: no build-provenance attestation is published.
  - License check failed: the license (FSL-1.1-Apache-2.0) isn't a recognized OSI-approved license.
  - Actively maintained (last published 27 days ago).
  - Security-disclosure policy not yet verified: we couldn't inspect the source repository.
- **Schema Quality & AI Usability**: 77/100
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 1322 tokens (~101/item across 13 items; 13 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add alexikm-gibil -- npx -y gibil
```

### Codex

```bash
codex mcp add alexikm-gibil -- npx -y gibil
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "alexikm-gibil": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "gibil"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add alexikm-gibil --command npx --arg -y --arg gibil
```

### Hermes

```yaml
mcp_servers:
  alexikm-gibil:
    command: "npx"
    args: ["-y", "gibil"]
```

### Other

```json
{
  "mcpServers": {
    "alexikm-gibil": {
      "command": "npx",
      "args": [
        "-y",
        "gibil"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 62, +4)

- [functional improvement] Stability: unverified → 0.27

### 2026-08-02 (score 58, +42)

- [security regression] Provenance: unverified → fail
- [security improvement] Install scripts: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Malware scan: unverified → pass
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional regression] License: unverified → fail
- [functional improvement] Schema quality: unverified → excellent
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] MCP protocol: unverified → pass
- [functional] Licence: FSL-1.1-Apache-2.0

### 2026-08-01 (score 16, −6)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-31 (score 22, −18)

- [security regression] Malware scan: pass → unverified

### 2026-07-28 (score 40, +22)

- [functional improvement] Tool coverage: unverified → 100
- [functional] First check of Schema quality: fail
- [functional] First check of Schema quality: pass
- [functional] First check of Schema quality: unverified
- [functional] First check of Tool coverage: 100

### 2026-07-27 (score 18)

First indexed and scored.

## MCP tools (13)

### `create_server` (~488 tokens)

Forge a new ephemeral server with a full Linux environment (Ubuntu 24.04, Node.js 20, pnpm). Clones the repo to /root/project and waits until fully provisioned. Optionally checks out a branch and installs a coding agent (claude, aider, codex) so the server can run agent tasks directly. Picks the configured default provider unless 'provider' is set (hetzner, vultr). After creation, use vm_bash to run commands, vm_read/vm_write for files, vm_grep to search code. Destroy with destroy_server when done.

Input parameters:

- `agent` (string): Coding agent to install on the server. One of: claude, aider, codex. Forward its API key via 'env' (e.g. ANTHROPIC_API_KEY for claude, OPENAI_API_KEY for codex).
- `branch` (string): Git branch to check out after the repo is cloned. Requires 'repo'.
- `env` (object): Environment variables to set on the server
- `location` (string): Provider region. Hetzner: fsn1/nbg1/ash. Vultr: nrt/sgp/syd/icn/bom.
- `name` (string): Server name (auto-generated if omitted)
- `provider` (string): Cloud provider (default: configured default — hetzner if unset). vultr gives APAC regions.
- `repo` (string): Git repo URL to clone on boot
- `server_type` (string): Provider-native SKU (overrides size). Hetzner: cax11/cax21/cax31 (ARM, fsn1/nbg1) or cpx21/cpx31 (x86). Vultr: vc2-2c-4gb/vc2-4c-8gb.
- `size` (string): Gibil size: small (2 vCPU/4 GB), medium (4 vCPU/8 GB), large (8 vCPU/16 GB). Resolved per provider — see gibil providers.
- `ttl` (number): Auto-destroy after N minutes (default: 60, max 525600 = 1 year). Common values: 1440 (1d), 10080 (7d), 43200 (1mo), 525600 (1y)

### `destroy_server` (~54 tokens)

Burn a server. Deletes the Hetzner VM, SSH keys, and local metadata. Always destroy servers when done to avoid costs. Works on expired instances too.

Input parameters:

- `name` (string, required): Name of the server to destroy

### `list_servers` (~25 tokens)

List all active gibil servers with their names, IPs, and remaining TTL.

### `extend_server` (~108 tokens)

Extend a server's TTL. Resets the auto-destroy timer. Supports long-lived durations up to 1 year.

Input parameters:

- `name` (string, required): Server name
- `ttl` (number, required): New TTL in minutes from now (max 525600 = 1 year). Common values: 1440 (1d), 10080 (7d), 43200 (1mo), 129600 (3mo), 259200 (6mo), 525600 (1y)

### `vm_bash` (~149 tokens)

Run a shell command on a remote server. Default working directory is /root/project. Use for: installing deps, running tests, git operations, builds. For commands over 2 minutes, set background=true to get a job_id you can poll with vm_job_status.

Input parameters:

- `background` (boolean): Run in background, return job ID for polling
- `command` (string, required): Shell command to execute
- `server` (string): Server name (auto-selects if only one is running)
- `timeout_ms` (number): Timeout in ms (default: 120000). Increase for long builds or test suites.
- `working_dir` (string): Working directory (default: /root/project)

### `vm_job_status` (~53 tokens)

Check the status of a background job started with vm_bash(background=true). Returns status, exit code, and output when done.

Input parameters:

- `job_id` (string, required): Job ID returned by vm_bash with background=true

### `vm_job_list` (~37 tokens)

List all background jobs across all servers. Read-only — does not modify job state. Use vm_sweep_orphans to mark dead jobs.

### `vm_sweep_orphans` (~35 tokens)

Mark running jobs as orphaned if their server no longer exists. Use after destroy_server to clean up lingering job records.

### `vm_read` (~89 tokens)

Read a file from a remote server. Returns the file contents with line numbers.

Input parameters:

- `limit` (integer): Max lines to return
- `offset` (integer): Start at line N (1-based)
- `path` (string, required): Absolute path on the server (e.g. /root/project/src/app.ts)
- `server` (string): Server name (auto-selects if only one is running)

### `vm_write` (~70 tokens)

Write content to a file on a remote server. Creates parent directories if needed. Overwrites existing files.

Input parameters:

- `content` (string, required): File content to write
- `path` (string, required): Absolute path on the server
- `server` (string): Server name (auto-selects if only one is running)

### `vm_ls` (~68 tokens)

List files and directories on a remote server.

Input parameters:

- `glob` (string): Glob pattern to filter (e.g. '**/*.ts')
- `path` (string): Directory path (default: /root/project)
- `server` (string): Server name (auto-selects if only one is running)

### `vm_grep` (~96 tokens)

Search for a pattern in files on a remote server. Uses ripgrep if available, falls back to grep.

Input parameters:

- `include` (string): File glob to include (e.g. '*.ts')
- `path` (string): Directory or file to search (default: /root/project)
- `pattern` (string, required): Regex pattern to search for
- `server` (string): Server name (auto-selects if only one is running)

### `vm_stats` (~50 tokens)

Get server resource usage — CPU cores, load average, memory, disk, and uptime. Returns structured data for monitoring.

Input parameters:

- `server` (string): Server name (auto-selects if only one is running)

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/alexikm-gibil/gibil#diagnostics

## Score history

- 2026-08-03: 62
- 2026-08-02: 58
- 2026-08-01: 16
- 2026-07-31: 22
- 2026-07-29: 40
- 2026-07-28: 40
- 2026-07-27: 18

## Links

- npm package: https://www.npmjs.com/package/gibil
- Socket report: https://socket.dev/npm/package/gibil
- Website: https://gibil.dev/
- Changelog RSS feed: https://verifymcp.io/servers/alexikm-gibil/gibil/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/alexikm-gibil/gibil/changelog.json
- HTML version of this page: https://verifymcp.io/servers/alexikm-gibil/gibil
