accueil / serveurs / Cloud & Infra / tech.xns/relayer
tech.xns/relayer
serveur MCP (Model Context Protocol)
Aucun comportement malveillant détecté au test comportemental.
Est-ce que tech.xns/relayer est sûr ?
Au dernier audit MCP Hub, le serveur MCP « tech.xns/relayer » est classé « Vérifié ». Aucun comportement malveillant détecté au test comportemental. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Versions auditées & empreintes
Vérifiez la version que vous utilisez : son empreinte doit correspondre à celle listée ici — sinon vous n'utilisez pas la version auditée.
Vous utilisez ce serveur ? Suivez-le (créez un compte) pour être alerté dès qu'une nouvelle version paraît ou que le verdict change.
Les 15 outils
- check_prerequisites≈ 163 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. Also fails the check when the Docker daemon is on another machine (install_file_location), because install_relayer refuses in that case; run the MCP on the Docker host instead. Run this first before any other relayer tool.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "check_prerequisites", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - start_registration≈ 99 tokens
Get the browser registration URL for creating a new XNS account. The user opens this URL in a browser to sign up via Keycloak — the agent never touches credentials. After signing up, use check_email_verified to poll for email verification.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "start_registration", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - check_email_verified≈ 192 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.
Paramètres, retour & exemple (2)
Paramètrespoll· boolean · optionnel
If true (default), poll until verified or timeout. If false, check once.email· string · requis
Email address to check verification status
Exemple d'appel{"name": "check_email_verified", "arguments": {"email": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - install_relayer≈ 902 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. IMPORTANT — two machines: this tool writes docker-compose.yml and .env on the machine running the MCP, then starts the containers on whichever machine the Docker daemon is on. When DOCKER_HOST or an ssh:// Docker context points at a daemon on another machine, the tool refuses: it writes nothing and starts nothing, and returns an error naming the Docker host. Run the MCP on the Docker host (Node.js 2
Paramètres, retour & exemple (7)
Paramètress3_port· integer · optionnel
Host port for the S3 API (container 9000). Docker publishes this port on the interface chosen by bind_address.ui_port· integer · optionnel
Host port for the Relayer admin/customer UI (container 8888). Docker publishes this port on the interface chosen by bind_address.compose_url· string · optionnel
OPTIONAL override: URL to a custom docker-compose.yml. Omit for the normal released install. When provided, bind_address is passed to docker compose via env but the downloaded compose must use the BIND_ADDRESS variable in its port declarations for it to take effect.bind_address· string · optionnel
Host network interface for Docker port publication. Default: empty string (all interfaces — reachable from any machine on the LAN). Set to "127.0.0.1" for loopback-only access, or a specific interface IP to restrict reachability. Accepted forms: empty, an IPv4 address, or a bracketed IPv6 address (e.g. "[::1]"). Hostnames are rejected — the Compose ports host component is an IP address. This value is passed to docker compose via env, and on the channel and bundled-fallback paths it is also written into the .env this installer authors (the compose_url override path writes no .env). It is honored in the bundled fallback compose (which uses BIND_ADDRESS in its port declarations). On the default channel path and on the compose_url path, the fetched compose must reference the BIND_ADDRESS variable in its port declarations for the setting to take effect — this installer cannot verify that.install_path· string · optionnel
Directory to install the compose file intos3_tls_enabled· boolean · optionnel
Whether the S3 gateway should listen on HTTPS in addition to HTTP. Default: false (off — HTTP only). NOT WIRED in this version: accepted but has no effect until a future release ships the TLS listener. Cost when enabled: requires a TLS certificate and key provisioned on the host; S3 clients must be configured to use the HTTPS endpoint.ui_tls_enabled· boolean · optionnel
Whether the admin UI should listen on HTTPS in addition to HTTP. Default: false (off — HTTP only). NOT WIRED in this version: accepted but has no effect until a future release ships the TLS listener. Cost when enabled: requires a TLS certificate and key provisioned on the host.
Exemple d'appel{"name": "install_relayer", "arguments": {"s3_port": 1, "ui_port": 1, "compose_url": "texte", "bind_address": "texte", "install_path": "texte", "s3_tls_enabled": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - check_relayer_health≈ 358 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.
Paramètres, retour & exemple (4)
Paramètreshost· string · optionnel
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 · optionnel
If true (default), poll until healthy or timeout. If false, check once.s3_port· integer · optionnel
Host port for the S3 API (matches install_relayer s3_port)ui_port· integer · optionnel
Host port for the Relayer UI (matches install_relayer ui_port)
Exemple d'appel{"name": "check_relayer_health", "arguments": {"host": "texte", "poll": true, "s3_port": 1, "ui_port": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - start_claim≈ 102 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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "start_claim", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - check_claim_status≈ 182 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.
Paramètres, retour & exemple (2)
Paramètresclaim_id· string · requis
The claim_id returned by start_claimtimeout_ms· integer · optionnel
Maximum time to poll in milliseconds (default: 10 minutes, max 1 hour)
Exemple d'appel{"name": "check_claim_status", "arguments": {"claim_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_host_tags≈ 114 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).
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_host_tags", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - configure_vpd≈ 251 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).
Paramètres, retour & exemple (3)
Paramètresdry_run· boolean · optionnel
Preview how many hosts match without applying anything. Not supported on Relayer versions without the evaluate endpoint.data_expression· string · requis
CEL expression for data host selection. Use "true" for default (all hosts).parity_expression· string · requis
CEL expression for parity host selection. Use "true" for default (all hosts).
Exemple d'appel{"name": "configure_vpd", "arguments": {"data_expression": "texte", "parity_expression": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - verify_storage≈ 402 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. Provisions a temporary scoped IAM credential automatically using your OIDC session — no manual key management needed. The throwaway credential and test data are removed after the test, pass or fail. By default targets port 9000 on the machine the Docker daemon runs on (auto-detected from the Docker context); pass endpoint to override.
Paramètres, retour & exemple (5)
Paramètresendpoint· string · optionnel
S3 endpoint URL. Default: http://{docker-host}:9000. Pass an explicit IP (e.g. http://192.168.1.100:9000) when auto-detection cannot reach the host.muse_token· string · optionnel
Optional Keycloak/Muse token override. Usually omitted — without it (and without access keys) the tool reuses the sign-in session from get_host_tags/configure_vpd, or starts a browser sign-in if there is none.access_key_id· string · optionnel
S3 access key ID — when provided with secret_access_key, skips automatic credential provisioningrelayer_ui_url· string · optionnel
Relayer UI base URL (default: http://localhost:8888)secret_access_key· string · optionnel
S3 secret access key — when provided with access_key_id, skips automatic credential provisioning
Exemple d'appel{"name": "verify_storage", "arguments": {"endpoint": "texte", "muse_token": "texte", "access_key_id": "texte", "relayer_ui_url": "texte", "secret_access_key": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - setup_cli_credentials≈ 244 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.
Paramètres, retour & exemple (3)
Paramètresmuse_token· string · requis
Keycloak/Muse token — the same token used for get_host_tags and configure_vpdrelayer_ui_url· string · optionnel
Relayer UI base URL (default: http://localhost:8888). Must be a loopback, private-network, or .local address — this tool sends your Muse token to it.installation_id· string · optionnel
Installation ID from check_claim_status STATE_3 result — used as cost_center_id in credentials
Exemple d'appel{"name": "setup_cli_credentials", "arguments": {"muse_token": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - describe_settings≈ 102 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).
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "describe_settings", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - update_settings≈ 202 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.
Paramètres, retour & exemple (1)
Paramètressettings· object · requis
Map of setting name to new value. Only whitelisted settings are accepted; unknown or protected keys are rejected with the allowed list.
Exemple d'appel{"name": "update_settings", "arguments": {"settings": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - restart_service≈ 136 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.
Paramètres, retour & exemple (1)
Paramètresservice· string · optionnel · hostio | gateway | s3gateway | database | all
Service to restart. Defaults to "all".
Exemple d'appel{"name": "restart_service", "arguments": {"service": "hostio"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - manage_backups≈ 252 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.
Paramètres, retour & exemple (3)
Paramètresfile· string · optionnel
Archive file name from list (e.g. "1718000000000.zip"). Required for restore and delete.action· string · requis · list | start | restore | delete
Backup operation to perform.components· array · optionnel
Restore only these components (db, conf, hostio, samba). Omit to restore everything.
Exemple d'appel{"name": "manage_backups", "arguments": {"action": "list"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
Badge pour votre README
Ce serveur a passé le pentest comportemental. Le badge porte son nom et renvoie à cette fiche — la preuve, c'est la fiche (verdict live qu'on contrôle), pas l'image.
[](https://dokore.fr/serveur/tech.xns--relayer)
<a href="https://dokore.fr/serveur/tech.xns--relayer"><img src="https://dokore.fr/badge/tech.xns--relayer.svg" alt="Vérifié par MCP Hub" height="20"></a>
Réévalué en continu : si le comportement change, le verdict tombe et le badge disparaît. Un badge qui ne pointe pas vers une fiche dokore.fr ne prouve rien. Comment ça marche
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».
Source
@xns-cloud/relayer-mcp@0.12.0