tech.xns/relayer
NPM · @XNS-CLOUD/RELAYER-MCP · SCANNED AUG 3
Conversationally set up & manage an XNS Relayer over stdio: install, claim, VPD, S3, backups.
Available components
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. How we score →
Supply Chain Security88
- No malware found by supply-chain analysis.Pass
- Only part of the dependency tree could be resolved (133 of 134), so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (133 of 134), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 46 days ago).Pass
- Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability73
- AI-judged instruction clarity (excellent).Pass
- 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. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
- Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · @xns-cloud/relayer-mcp
claude mcp add tech-xns-relayer -- npx -y @xns-cloud/relayer-mcp
codex mcp add tech-xns-relayer -- npx -y @xns-cloud/relayer-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"tech-xns-relayer": {
"type": "local",
"command": [
"npx",
"-y",
"@xns-cloud/relayer-mcp"
],
"enabled": true
}
}
} openclaw mcp add tech-xns-relayer --command npx --arg -y --arg @xns-cloud/relayer-mcp
mcp_servers:
tech-xns-relayer:
command: "npx"
args: ["-y", "@xns-cloud/relayer-mcp"] {
"mcpServers": {
"tech-xns-relayer": {
"command": "npx",
"args": [
"-y",
"@xns-cloud/relayer-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +3
- Stability: unverified → 0.23 ▲ functional
- 2 Aug 26 +40
- Provenance: unverified → fail ▼ security
- Install scripts: unverified → pass ▲ security
- Known CVEs: unverified → partial ▲ security
- Malware scan: unverified → pass ▲ security
- Dependency health: unverified → partial ▲ functional
- License: unverified → pass ▲ functional
- Schema quality: unverified → excellent ▲ functional
- Maintenance: unverified → pass ▲ functional
- Licence: Apache-2.0 functional
- 1 Aug 26 +5
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- MCP protocol: unverified → pass ▲ functional
- 31 Jul 26 +14
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 −18
- Malware scan: pass → unverified ▼ security
- 28 Jul 26 −21
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 27 Jul 26 45
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Analysed npm/@xns-cloud/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
Dependencies 133 packages
133 packages in the resolved dependency tree · 129 deprecated · 32 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
check_claim_status ~108
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.
| Name | Type | Req | Description |
|---|---|---|---|
| claim_id | string | yes | The claim_id returned by start_claim |
| timeout_ms | number | — | Maximum time to poll in milliseconds (default: 10 minutes) |
No output schema declared.
No examples provided.
check_email_verified ~88
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.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | Email address to check verification status | |
| poll | boolean | — | If true (default), poll until verified or timeout. If false, check once. |
No output schema declared.
No examples provided.
check_prerequisites ~80
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
check_relayer_health ~246
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.
| Name | Type | Req | Description |
|---|---|---|---|
| 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) |
No output schema declared.
No examples provided.
configure_vpd ~164
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).
| Name | Type | Req | Description |
|---|---|---|---|
| data_expression | string | yes | 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 | yes | CEL expression for parity host selection. Use "true" for default (all hosts). |
No output schema declared.
No examples provided.
describe_settings ~61
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).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_host_tags ~70
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).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
install_relayer ~182
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.
| Name | Type | Req | Description |
|---|---|---|---|
| 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) |
No output schema declared.
No examples provided.
manage_backups ~135
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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | 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. |
No output schema declared.
No examples provided.
register_account ~92
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.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | User email address | |
| password | string | yes | Password (minimum 8 characters) |
No output schema declared.
No examples provided.
restart_service ~75
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.
| Name | Type | Req | Description |
|---|---|---|---|
| service | string | — | Service to restart. Defaults to "all". |
No output schema declared.
No examples provided.
setup_cli_credentials ~139
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.
| Name | Type | Req | Description |
|---|---|---|---|
| installation_id | string | — | Installation ID from check_claim_status STATE_3 result — used as cost_center_id in credentials |
| muse_token | string | yes | 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) |
No output schema declared.
No examples provided.
start_claim ~61
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
update_settings ~111
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.
| Name | Type | Req | Description |
|---|---|---|---|
| settings | object | yes | Map of setting name to new value. Only whitelisted settings are accepted; unknown or protected keys are rejected with the allowed list. |
No output schema declared.
No examples provided.
verify_storage ~236
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.
| Name | Type | Req | Description |
|---|---|---|---|
| access_key_id | string | yes | 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 | yes | S3 secret access key (fullaccess credentials from the Relayer UI IAM page) |
No output schema declared.
No examples provided.