# tech.xns/relayer (npm · @xns-cloud/relayer-mcp)

Conversationally set up & manage an XNS Relayer over stdio: install, claim, VPD, S3, backups.

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

## Components

- npm · `@xns-cloud/relayer-mcp`: 68/100 (this document), [markdown](https://verifymcp.io/servers/tech-xns-relayer/xns-cloud-relayer-mcp.md), [page](https://verifymcp.io/servers/tech-xns-relayer/xns-cloud-relayer-mcp)

## Channel facts

- Registry: `npm`
- Package: `@xns-cloud/relayer-mcp`
- Version: `0.6.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**: 88/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (133 of 134), 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 (133 of 134), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (Apache-2.0).
  - Actively maintained (last published 46 days ago).
  - Security-disclosure policy not yet verified: we couldn't inspect the source repository.
- **Schema Quality & AI Usability**: 73/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1848 tokens (~123/item across 15 items; 15 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 23/100
  - Stability observed for 7 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 tech-xns-relayer -- npx -y @xns-cloud/relayer-mcp
```

### Codex

```bash
codex mcp add tech-xns-relayer -- npx -y @xns-cloud/relayer-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "tech-xns-relayer": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@xns-cloud/relayer-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add tech-xns-relayer --command npx --arg -y --arg @xns-cloud/relayer-mcp
```

### Hermes

```yaml
mcp_servers:
  tech-xns-relayer:
    command: "npx"
    args: ["-y", "@xns-cloud/relayer-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "tech-xns-relayer": {
      "command": "npx",
      "args": [
        "-y",
        "@xns-cloud/relayer-mcp"
      ]
    }
  }
}
```

## 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 68, +3)

- [functional improvement] Stability: unverified → 0.23

### 2026-08-02 (score 65, +40)

- [security regression] Provenance: unverified → fail
- [security improvement] Install scripts: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Malware scan: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] License: unverified → pass
- [functional improvement] Schema quality: unverified → excellent
- [functional improvement] Maintenance: unverified → pass
- [functional] Licence: Apache-2.0

### 2026-08-01 (score 25, +5)

- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional improvement] MCP protocol: unverified → pass

### 2026-07-31 (score 20, +14)

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

### 2026-07-30 (score 6, −18)

- [security regression] Malware scan: pass → unverified

### 2026-07-28 (score 24, −21)

- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified

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

First indexed and scored.

## MCP tools (15)

### `check_prerequisites` (~80 tokens)

Check system prerequisites for XNS Relayer installation: Docker availability (local or remote via DOCKER_HOST / ssh:// context), required ports (8888, 9000), an existing xns-relayer installation, disk space, and network connectivity to console.xns.tech and auth.xns.tech. Run this first before any other relayer tool.

### `register_account` (~92 tokens)

Register a new XNS account with an email and password. After registration, the user must verify their email at auth.xns.tech by clicking the link sent to their inbox. Use check_email_verified to poll for verification status. If the email already has an account, you can skip to install_relayer.

Input parameters:

- `email` (string, required): User email address
- `password` (string, required): Password (minimum 8 characters)

### `check_email_verified` (~88 tokens)

Poll to check if the user has verified their email address. Automatically polls every 15 seconds for up to 30 minutes. Returns immediately if already verified. If the email has no account, indicates registration is needed.

Input parameters:

- `email` (string, required): Email address to check verification status
- `poll` (boolean): If true (default), poll until verified or timeout. If false, check once.

### `install_relayer` (~182 tokens)

Install and start the XNS Relayer. By default fetches the canonical beta channel bundle — relayer + the Prometheus/Grafana monitoring stack — from releases.scpri.me (anonymous pull) and writes a .env, then runs docker compose up -d — the user does NOT need to author any file. Falls back to a bundled copy of the bundle if the fetch fails. Pass compose_url only to override with a custom compose.

Input parameters:

- `compose_url` (string): OPTIONAL override: URL to a custom docker-compose.yml. Omit for the normal released install.
- `install_path` (string): Directory to install the compose file into
- `s3_port` (integer): Host port for the S3 API (container 9000)
- `ui_port` (integer): Host port for the Relayer admin/customer UI (container 8888)

### `check_relayer_health` (~246 tokens)

Check the health of all Relayer services: UI (port 8888), S3 gateway (port 9000), HostIO, and the monitoring sidecars (Prometheus + Grafana containers). Polls every 10 seconds for up to 300 seconds. Reports each component status individually and names any unhealthy component; a missing monitoring stack reports as degraded (dashboards empty) without blocking the install flow. Targets the machine the Docker daemon runs on (auto-detected from the Docker context — supports remote ssh:// Docker hosts); pass host to override. Note: HostIO health status is unknown until OIDC authentication is completed.

Input parameters:

- `host` (string): Hostname/IP where the Relayer containers run. Default: auto-detected from the Docker context (localhost, or the remote host for ssh:// / tcp:// contexts).
- `poll` (boolean): If true (default), poll until healthy or timeout. If false, check once.
- `s3_port` (integer): Host port for the S3 API (matches install_relayer s3_port)
- `ui_port` (integer): Host port for the Relayer UI (matches install_relayer ui_port)

### `start_claim` (~61 tokens)

Start a claim session to link this Relayer installation to an XNS account. Returns a claim URL that the user must open in a browser to complete the claim. The claim has an expiration time. After calling this, use check_claim_status to monitor claim progress.

### `check_claim_status` (~108 tokens)

Poll the status of a claim session. Checks every 10 seconds. States: STATE_1 (pending — user has not yet opened the claim URL), STATE_2 (in progress — user is completing the claim in browser), STATE_3 (completed — claim successful). Automatically proceeds when STATE_3 is reached.

Input parameters:

- `claim_id` (string, required): The claim_id returned by start_claim
- `timeout_ms` (number): Maximum time to poll in milliseconds (default: 10 minutes)

### `get_host_tags` (~70 tokens)

Get the available host tags for VPD (Virtual Private Datacenter) configuration, plus the currently applied VPD host selection. Translate tags into plain-language options for the operator — never show raw CEL expressions. Requires OIDC sign-in on first use (the user will be prompted to sign in via browser).

### `configure_vpd` (~164 tokens)

Configure VPD (Virtual Private Datacenter) host selection for the Relayer, or preview it with dry_run. Use defaults ("true" for both expressions) or a CEL expression filtering hosts by tags. The Relayer requires a minimum of 10 data hosts and 20 parity hosts — if too few match, broaden the criteria. Requires OIDC sign-in (same session as get_host_tags).

Input parameters:

- `data_expression` (string, required): CEL expression for data host selection. Use "true" for default (all hosts).
- `dry_run` (boolean): Preview how many hosts match without applying anything. Not supported on Relayer versions without the evaluate endpoint.
- `parity_expression` (string, required): CEL expression for parity host selection. Use "true" for default (all hosts).

### `verify_storage` (~236 tokens)

Verify the S3-compatible storage gateway is working by performing a round-trip test: create a test bucket, upload a small object, download it, and compare. IMPORTANT: you must supply fullaccess credentials — the admin key pair created via the Relayer UI IAM page (not a read-only or bucket-scoped key). By default targets port 9000 on the machine the Docker daemon runs on (auto-detected from the Docker context — supports remote ssh:// Docker hosts); pass endpoint to override with an explicit IP when auto-detection cannot reach the host.

Input parameters:

- `access_key_id` (string, required): S3 access key ID (fullaccess credentials from the Relayer UI IAM page)
- `endpoint` (string): S3 endpoint URL. Default: http://{docker-host}:9000, where {docker-host} is auto-detected from the Docker context. Pass an explicit IP (e.g. http://192.168.1.100:9000) when auto-detection cannot reac…
- `secret_access_key` (string, required): S3 secret access key (fullaccess credentials from the Relayer UI IAM page)

### `setup_cli_credentials` (~139 tokens)

Provision S3 IAM credentials for the XNS CLI. Creates an IAM user in the Relayer and writes ~/.xns/credentials so that `xns ls` and other S3 verbs work without further configuration. Call once after check_claim_status reaches STATE_3.

Input parameters:

- `installation_id` (string): Installation ID from check_claim_status STATE_3 result — used as cost_center_id in credentials
- `muse_token` (string, required): Keycloak/Muse token — the same token used for get_host_tags and configure_vpd
- `relayer_ui_url` (string): Relayer UI base URL (default: http://localhost:8888)

### `describe_settings` (~61 tokens)

List the adjustable Relayer settings: worker/concurrency tuning, backup schedule, and cost center (CCID). Returns current value, default, type, and guidance per setting. Use before update_settings. Requires OIDC sign-in (same session as the other tools).

### `update_settings` (~111 tokens)

Update adjustable Relayer settings (see describe_settings for the allowed set). Pass a map of setting name to new value, e.g. {"HOSTIO_UPLOAD_WORKERS": 20}. Returns require_restart — if true, follow up with restart_service after confirming with the operator. Changing CostCenter re-bills to a different cost center; always confirm first.

Input parameters:

- `settings` (object, required): Map of setting name to new value. Only whitelisted settings are accepted; unknown or protected keys are rejected with the allowed list.

### `restart_service` (~75 tokens)

Restart a Relayer service (hostio, gateway, s3gateway, database) or all services. Disruptive: in-flight S3 requests will fail during the restart — confirm with the operator before calling. Verify recovery afterwards with check_relayer_health.

Input parameters:

- `service` (string): Service to restart. Defaults to "all".

### `manage_backups` (~135 tokens)

Manage Relayer configuration backups: list archives, start a backup, restore from an archive, or delete one. Restore OVERWRITES current state and restarts services — always confirm with the operator and state which archive and components first. Backups must be enabled (BACKUP_ENABLED) for list/start.

Input parameters:

- `action` (string, required): Backup operation to perform.
- `components` (array): Restore only these components (db, conf, hostio, samba). Omit to restore everything.
- `file` (string): Archive file name from list (e.g. "1718000000000.zip"). Required for restore and delete.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/tech-xns-relayer/xns-cloud-relayer-mcp#diagnostics

## Score history

- 2026-08-03: 68
- 2026-08-02: 65
- 2026-08-01: 25
- 2026-07-31: 20
- 2026-07-30: 6
- 2026-07-28: 24
- 2026-07-27: 45

## Links

- npm package: https://www.npmjs.com/package/@xns-cloud/relayer-mcp
- Socket report: https://socket.dev/npm/package/@xns-cloud/relayer-mcp
- Repository: https://gitlab.com/scpcorp/relayer-mcp
- Changelog RSS feed: https://verifymcp.io/servers/tech-xns-relayer/xns-cloud-relayer-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/tech-xns-relayer/xns-cloud-relayer-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/tech-xns-relayer/xns-cloud-relayer-mcp
