プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。Google でログインするとレビューを書けます。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Kaseya VSA

作者:wyre-technologyバージョン 1.1.4i★ 0iパソコンで動く
レジストリ名io.github.wyre-technology/kaseya-vsa-mcp

インストール方法

概要

作者による説明(英語の原文)

MCP server for Kaseya VSA RMM — agents, patches, procedures, alarms, tickets.

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: その他
  • 入力が必要なもの:KASEYA_VSA_TENANT_URL, KASEYA_VSA_PASSWORD, KASEYA_VSA_K1_TOKEN

インストール

使っているAIアプリを選んで、設定をコピーしてください。

チェック 2/2 合格 · あなたのパソコンで動きます

まず:どの AI を使っていますか?

使っているアプリを選ぶと、下に手順が表示されます。

Claude につなげますが、先に準備が必要です

Kaseya VSA のキーが必要です(提供元のサイトで登録、費用がかかる場合あり) · 先にパソコンへ Docker を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません

  1. Docker を入れる

    1 回だけ。Docker が必要なすべてのサーバーで使えます

    Docker のダウンロードページを開く ↗

  2. Kaseya VSA に登録してキーを作る

    提供元のサイトで登録し、次の手順で使う API キーを作ります。費用がかかる場合があります。

    Kaseya VSA のサイトを開く ↗

  3. パソコン版 Claude アプリの設定ファイルを開く

    SettingsDeveloperEdit Config

  4. この設定を貼り付けて保存

    {
      "mcpServers": {
        "kaseya-vsa": {
          "command": "docker",
          "args": [
            "run",
            "-i",
            "--rm",
            "-e",
            "KASEYA_VSA_TENANT_URL",
            "-e",
            "KASEYA_VSA_USERNAME",
            "-e",
            "KASEYA_VSA_PASSWORD",
            "-e",
            "KASEYA_VSA_K1_TOKEN",
            "-e",
            "MCP_TRANSPORT",
            "-e",
            "AUTH_MODE",
            "-e",
            "LOG_LEVEL",
            "ghcr.io/wyre-technology/kaseya-vsa-mcp:v1.1.4"
          ],
          "env": {
            "KASEYA_VSA_TENANT_URL": "your-value",
            "KASEYA_VSA_USERNAME": "your-value",
            "KASEYA_VSA_PASSWORD": "your-value",
            "KASEYA_VSA_K1_TOKEN": "your-value",
            "MCP_TRANSPORT": "your-value",
            "AUTH_MODE": "your-value",
            "LOG_LEVEL": "your-value"
          }
        }
      }
    }

    キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください

  5. Claude を終了してもう一度開く

  6. 試してみる

    Kaseya VSA を使って、私に何ができるか教えて、1 つやってみせて

    ✓ Claude が Kaseya VSA を使っていると言うか、回答に Kaseya VSA のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

ChatGPT はまだ Kaseya VSA につなげません

Kaseya VSA はパソコンに入れて使うものですが、ChatGPT は Web 上で動くサーバーにしかつなげません

代わりにできること

A · Kaseya VSA につなげるアプリを使う

  • Kaseya VSA のキーが必要です(提供元のサイトで登録、費用がかかる場合あり) · 先にパソコンへ Docker を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
  • Kaseya VSA のキーが必要です(提供元のサイトで登録、費用がかかる場合あり) · 先にパソコンへ Docker を入れてください(1 回だけ)
  • Kaseya VSA のキーが必要です(提供元のサイトで登録、費用がかかる場合あり) · 先にパソコンへ Docker を入れてください(1 回だけ)
  • Kaseya VSA のキーが必要です(提供元のサイトで登録、費用がかかる場合あり) · 先にパソコンへ Docker を入れてください(1 回だけ)

B · その他 の中で ChatGPT につなげる別のサーバー

同じカテゴリでよく使われているものから、キーなしでアドレスだけでつなげるものを選びました

Claude Code につなげますが、先に準備が必要です

Kaseya VSA のキーが必要です(提供元のサイトで登録、費用がかかる場合あり) · 先にパソコンへ Docker を入れてください(1 回だけ)

  1. Docker を入れる

    1 回だけ。Docker が必要なすべてのサーバーで使えます

    Docker のダウンロードページを開く ↗

  2. Kaseya VSA に登録してキーを作る

    提供元のサイトで登録し、次の手順で使う API キーを作ります。費用がかかる場合があります。

    Kaseya VSA のサイトを開く ↗

  3. ターミナルを開く

    Mac:Command+スペースで Terminal と入力 · Windows:PowerShell を開く

  4. このコマンドを貼り付けて Enter

    claude mcp add kaseya-vsa --env KASEYA_VSA_TENANT_URL=your-value --env KASEYA_VSA_USERNAME=your-value --env KASEYA_VSA_PASSWORD=your-value --env KASEYA_VSA_K1_TOKEN=your-value --env MCP_TRANSPORT=your-value --env AUTH_MODE=your-value --env LOG_LEVEL=your-value -- docker run -i --rm -e KASEYA_VSA_TENANT_URL -e KASEYA_VSA_USERNAME -e KASEYA_VSA_PASSWORD -e KASEYA_VSA_K1_TOKEN -e MCP_TRANSPORT -e AUTH_MODE -e LOG_LEVEL ghcr.io/wyre-technology/kaseya-vsa-mcp:v1.1.4

    Enter の前に「your-value」を自分のキーに書き換えてください

    キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください

  5. Claude Code で /mcp と入力

    Kaseya VSA が一覧にあり、接続済みと表示されれば OK です

  6. 試してみる

    Kaseya VSA を使って、私に何ができるか教えて、1 つやってみせて

    ✓ Claude Code が Kaseya VSA を使っていると言うか、回答に Kaseya VSA のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

Cursor につなげますが、先に準備が必要です

Kaseya VSA のキーが必要です(提供元のサイトで登録、費用がかかる場合あり) · 先にパソコンへ Docker を入れてください(1 回だけ)

  1. Docker を入れる

    1 回だけ。Docker が必要なすべてのサーバーで使えます

    Docker のダウンロードページを開く ↗

  2. Kaseya VSA に登録してキーを作る

    提供元のサイトで登録し、次の手順で使う API キーを作ります。費用がかかる場合があります。

    Kaseya VSA のサイトを開く ↗

  3. このボタンで Cursor を開く

    Cursor で開く

    Cursor がインストールの確認をするので Install を押します

  4. キーを入力

    Kaseya VSA の設定で KASEYA_VSA_TENANT_URL, KASEYA_VSA_USERNAME, KASEYA_VSA_PASSWORD, KASEYA_VSA_K1_TOKEN, MCP_TRANSPORT, AUTH_MODE, LOG_LEVEL が空です。自分のキーを入れて保存します

    キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください

  5. Cursor の AI チャットを Agent モードで開く

  6. 試してみる

    Kaseya VSA を使って、私に何ができるか教えて、1 つやってみせて

    ✓ Cursor が Kaseya VSA を使っていると言うか、回答に Kaseya VSA のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に Cursor のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

VS Code につなげますが、先に準備が必要です

Kaseya VSA のキーが必要です(提供元のサイトで登録、費用がかかる場合あり) · 先にパソコンへ Docker を入れてください(1 回だけ)

  1. Docker を入れる

    1 回だけ。Docker が必要なすべてのサーバーで使えます

    Docker のダウンロードページを開く ↗

  2. Kaseya VSA に登録してキーを作る

    提供元のサイトで登録し、次の手順で使う API キーを作ります。費用がかかる場合があります。

    Kaseya VSA のサイトを開く ↗

  3. このボタンで VS Code を開く

    VS Code で開く

    VS Code がインストールの確認をするので Install を押します

  4. キーを入力

    Kaseya VSA の設定で KASEYA_VSA_TENANT_URL, KASEYA_VSA_USERNAME, KASEYA_VSA_PASSWORD, KASEYA_VSA_K1_TOKEN, MCP_TRANSPORT, AUTH_MODE, LOG_LEVEL が空です。自分のキーを入れて保存します

    キーはアプリの入力欄にだけ貼り付け、チャットに貼ったり人に送ったりしないでください

  5. VS Code の AI チャットを Agent モードで開く

  6. 試してみる

    Kaseya VSA を使って、私に何ができるか教えて、1 つやってみせて

    ✓ VS Code が Kaseya VSA を使っていると言うか、回答に Kaseya VSA のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に VS Code のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

Windsurf、Zed、Gemini CLI など MCP を使える他のアプリは追加方法がそれぞれ違います。アプリ一覧で確認してください

MCP を使えるアプリをすべて見る →

JSON 設定は下の「開発者向け」にあります

つまずいたら?Kaseya VSA を使っている人に聞いてみましょう💬 ディスカッション →
開発者向け:ターミナルのコマンドと JSON 設定

パソコンにインストール

Claude Code

claude mcp add kaseya-vsa --env KASEYA_VSA_TENANT_URL=your-value --env KASEYA_VSA_USERNAME=your-value --env KASEYA_VSA_PASSWORD=your-value --env KASEYA_VSA_K1_TOKEN=your-value --env MCP_TRANSPORT=your-value --env AUTH_MODE=your-value --env LOG_LEVEL=your-value -- docker run -i --rm -e KASEYA_VSA_TENANT_URL -e KASEYA_VSA_USERNAME -e KASEYA_VSA_PASSWORD -e KASEYA_VSA_K1_TOKEN -e MCP_TRANSPORT -e AUTH_MODE -e LOG_LEVEL ghcr.io/wyre-technology/kaseya-vsa-mcp:v1.1.4

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "kaseya-vsa": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "KASEYA_VSA_TENANT_URL",
        "-e",
        "KASEYA_VSA_USERNAME",
        "-e",
        "KASEYA_VSA_PASSWORD",
        "-e",
        "KASEYA_VSA_K1_TOKEN",
        "-e",
        "MCP_TRANSPORT",
        "-e",
        "AUTH_MODE",
        "-e",
        "LOG_LEVEL",
        "ghcr.io/wyre-technology/kaseya-vsa-mcp:v1.1.4"
      ],
      "env": {
        "KASEYA_VSA_TENANT_URL": "your-value",
        "KASEYA_VSA_USERNAME": "your-value",
        "KASEYA_VSA_PASSWORD": "your-value",
        "KASEYA_VSA_K1_TOKEN": "your-value",
        "MCP_TRANSPORT": "your-value",
        "AUTH_MODE": "your-value",
        "LOG_LEVEL": "your-value"
      }
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "kaseya-vsa": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "KASEYA_VSA_TENANT_URL",
        "-e",
        "KASEYA_VSA_USERNAME",
        "-e",
        "KASEYA_VSA_PASSWORD",
        "-e",
        "KASEYA_VSA_K1_TOKEN",
        "-e",
        "MCP_TRANSPORT",
        "-e",
        "AUTH_MODE",
        "-e",
        "LOG_LEVEL",
        "ghcr.io/wyre-technology/kaseya-vsa-mcp:v1.1.4"
      ],
      "env": {
        "KASEYA_VSA_TENANT_URL": "your-value",
        "KASEYA_VSA_USERNAME": "your-value",
        "KASEYA_VSA_PASSWORD": "your-value",
        "KASEYA_VSA_K1_TOKEN": "your-value",
        "MCP_TRANSPORT": "your-value",
        "AUTH_MODE": "your-value",
        "LOG_LEVEL": "your-value"
      }
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "kaseya-vsa": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "KASEYA_VSA_TENANT_URL",
        "-e",
        "KASEYA_VSA_USERNAME",
        "-e",
        "KASEYA_VSA_PASSWORD",
        "-e",
        "KASEYA_VSA_K1_TOKEN",
        "-e",
        "MCP_TRANSPORT",
        "-e",
        "AUTH_MODE",
        "-e",
        "LOG_LEVEL",
        "ghcr.io/wyre-technology/kaseya-vsa-mcp:v1.1.4"
      ],
      "env": {
        "KASEYA_VSA_TENANT_URL": "your-value",
        "KASEYA_VSA_USERNAME": "your-value",
        "KASEYA_VSA_PASSWORD": "your-value",
        "KASEYA_VSA_K1_TOKEN": "your-value",
        "MCP_TRANSPORT": "your-value",
        "AUTH_MODE": "your-value",
        "LOG_LEVEL": "your-value"
      }
    }
  }
}

自分で入力する値

  • KASEYA_VSA_TENANT_URL 必須 env
    Full base URL including /api/v1.0 (e.g. https://vsa.example.com/api/v1.0)
  • KASEYA_VSA_USERNAME env
    Local-auth username (omit if using Kaseya One token)
  • KASEYA_VSA_PASSWORD 秘密 env
    Local-auth password (omit if using Kaseya One token)
  • KASEYA_VSA_K1_TOKEN 秘密 env
    Kaseya One SSO token (alternative to username + password)
  • MCP_TRANSPORT env
    Transport mode for the server. Set to 'stdio' for local CLI use; the image defaults to 'http' for gateway hosting.
  • AUTH_MODE env
    Credential source: 'env' reads vars locally, 'gateway' expects header injection from the WYRE MCP Gateway.
  • LOG_LEVEL env
    Log verbosity: debug, info, warn, error

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

ひと目でわかる

週あたりのダウンロードi
npm/PyPIにない
ライセンスi
ライセンスの記載なし
接続方法
パソコンで動く
最新バージョンi
1.1.4
カテゴリi
その他
レジストリ公開日i
2026年8月20日
コードの最終更新i
2026年11月9日
作者
wyre-technology
パッケージ
oci: ghcr.io/wyre-technology/kaseya-vsa-mcp:v1.1.4
ウェブサイト
github.com
レジストリでの状態
有効

使えるアプリ

このサーバーのつなぎ方と、各アプリの公式ドキュメントに基づきます。2026年11月10日に確認。

パソコン上で動かせるアプリ

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

すべてのアプリと長所・短所 →

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月11日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント wyre-technology で確認済みです

  • ✓ 合格

    今もメンテナンスされている

    コードの最終更新:一昨日

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

話し合い

質問、コツの共有、使えないことの報告ができます。「役に立った」の多い順です。

まだ投稿はありません。最初の質問や共有をどうぞ。

ここの投稿は利用者によるもので、PopNx チームのものではありません。

Google でログインして投稿

ユーザーレビュー

まだレビューはありません

Google でログインしてレビューを書く

その他のほかのサーバーとの比較i

  • このカテゴリのほかの19203件のうち0%よりスターが多い
  • このカテゴリのほかの19203件のうち26%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの19203件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Kaseya VSAは安全ですか?

当てはまる基本チェック2項目のうち2項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

入力が必要なもの:KASEYA_VSA_TENANT_URL, KASEYA_VSA_PASSWORD, KASEYA_VSA_K1_TOKEN

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は一昨日、最新バージョン(1.1.4)がレジストリに届いたのは3 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにDockerも必要です。

代わりに使えるものは?

同じカテゴリには:World Monitor, Claude Flow, Tldraw

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

World Monitor

Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 102 tools.

作者:koala73広く使われている★ 9万6 日前更新

クラウドで動く✓ worldmonitor.app

Claude Flow

AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.

作者:ruvnet広く使われている↓ 1.4万/週★ 8.1万14 か月前更新

パソコンで動く

Tldraw

Draw and visually collaborate with your agents on tldraw's canvas.

作者:tldraw広く使われている★ 5.1万8 か月前更新

クラウドで動く

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

Kaseya VSA MCP Server

Model Context Protocol (MCP) server for the Kaseya VSA RMM API. Exposes managed endpoints, software / hardware inventory, patch state, agent procedures, alarms, Service Desk tickets, organizations, and machine groups to AI assistants.

Tools

ToolDescription
kaseya_vsa_list_agentsList managed endpoints (agents). Optional $filter.
kaseya_vsa_get_agentGet an agent's details by ID (renders as an interactive card in MCP Apps hosts).
kaseya_vsa_get_software_inventoryInstalled software for an agent.
kaseya_vsa_get_hardware_inventoryHardware audit for an agent.
kaseya_vsa_get_patch_statusPending and installed patches for an agent.
kaseya_vsa_deploy_patches_nowForce a patch deploy on an agent (destructive — confirmation required).
kaseya_vsa_list_proceduresAgent procedures available to run.
kaseya_vsa_run_procedureExecute a procedure on an agent (destructive — confirmation required).
kaseya_vsa_list_alarmsOpen alarms (optional state filter; date-window elicitation if missing).
kaseya_vsa_list_ticketsService Desk tickets (returns a friendly message if SD module isn't enabled).
kaseya_vsa_list_organizationsTenant organizations.
kaseya_vsa_list_machine_groupsMachine group hierarchy.

When the user omits required filters or runs a destructive action, the server uses MCP elicitation to prompt for choices or confirm.

Interactive device card (MCP Apps)

kaseya_vsa_get_agent renders as a read-only interactive device card in MCP Apps hosts (Claude Desktop/web), showing the endpoint's name, online status, organization, machine group, OS, IP address, and last check-in. The card is neutral by default, brandable via window.__BRAND__ injection or MCP_BRAND_* env vars (MCP_BRAND_NAME, MCP_BRAND_LOGO_URL, MCP_BRAND_PRIMARY_COLOR, MCP_BRAND_ACCENT_COLOR, MCP_BRAND_BG, MCP_BRAND_TEXT) applied at serve time. Plain-JSON behavior is unchanged in other hosts. After editing ui/, regenerate the embedded bundle with npm run build:ui.

Configuration

Copy .env.example and set the variables below.

VariableRequiredDescription
KASEYA_VSA_TENANT_URLFor stdio and AUTH_MODE=envFull base URL incl. /api/v1.0. The Compose gateway service does not load this.
KASEYA_VSA_USERNAMEFor stdio and AUTH_MODE=envLocal-auth username (with password). The Compose gateway service does not load this.
KASEYA_VSA_PASSWORDFor stdio and AUTH_MODE=envLocal-auth password (secret). The Compose gateway service does not load this.
KASEYA_VSA_K1_TOKENFor stdio and AUTH_MODE=envKaseya One SSO token (alternative to username + password). The Compose gateway service does not load this.
MCP_TRANSPORTNostdio (default) or http
AUTH_MODENogateway (Docker image and Compose default) or env (code default when unset). Gateway mode requires the X-Kaseya-VSA-* headers on each /mcp request and never falls back to KASEYA_VSA_*. env uses those variables only after S2S auth succeeds.
CONDUIT_S2S_SECRETYes for HTTPService-to-service secret. Generate with openssl rand -hex 32. The HTTP server logs an error and exits non-zero when this is empty or a known placeholder (changeme, your-s2s-secret, secret, placeholder, an unresolved ${...} value, and similar public examples). Compose will not start without it. Never commit a real value. The value is never logged.
MCP_ALLOW_INSECURE_DEVNoSet to exactly 1 only for local development to start HTTP without CONDUIT_S2S_SECRET. The process logs a warning, does not enforce X-Gateway-S2S, and forces the listener onto 127.0.0.1 even if MCP_HTTP_HOST is a wider address. A known placeholder secret is still refused.
MCP_HTTP_HOSTNoBind address when MCP_TRANSPORT=http. Defaults to 127.0.0.1 when unset. A configured CONDUIT_S2S_SECRET honors this value. The container image sets 0.0.0.0.
MCP_HTTP_PORTNoHTTP port. Defaults to 8080.

Either the username + password pair OR KASEYA_VSA_K1_TOKEN is required for stdio and AUTH_MODE=env.

/health stays unauthenticated and does not read credentials. The stdio transport does not use CONDUIT_S2S_SECRET.

HTTP authentication

With MCP_TRANSPORT=http and CONDUIT_S2S_SECRET set, every /mcp request must include X-Gateway-S2S. The check is verifyS2sHeader in src/s2s-verify.ts: the header value is t= ,v1= , where the hex is HMAC-SHA256 of the literal string t= keyed with CONDUIT_S2S_SECRET (64 lowercase hex characters). The timestamp must be within 300 seconds of the server clock. A missing or invalid header returns HTTP 401 before vendor credentials are read.

In AUTH_MODE=gateway, /mcp also requires X-Kaseya-VSA-Tenant-Url plus either (X-Kaseya-VSA-Username and X-Kaseya-VSA-Password) or X-Kaseya-VSA-K1-Token. Those headers are the only credential source for that request. A request missing them returns 401 and does not fall back to KASEYA_VSA_* in the process environment.

Each accepted request creates a fresh server instance with isolated credentials — no cross-tenant process.env pollution.

Local development

npm install

npm run build KASEYA_VSA_TENANT_URL=https://vsa.example.com/api/v1.0 \ KASEYA_VSA_USERNAME=... \ KASEYA_VSA_PASSWORD=... \ npm start

HTTP refuses to start until CONDUIT_S2S_SECRET is set:

CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" MCP_TRANSPORT=http npm start

curl http://127.0.0.1:8080/health

Local HTTP without a secret is development-only. It binds 127.0.0.1 only and logs a warning. A non-loopback MCP_HTTP_HOST is ignored and the override is logged:

MCP_TRANSPORT=http MCP_ALLOW_INSECURE_DEV=1 npm start

Docker

The image listens on 0.0.0.0 inside the container (MCP_HTTP_HOST) and defaults to AUTH_MODE=gateway. Publish the port on loopback and pass the S2S secret. In gateway mode, Kaseya credentials arrive on each request as headers; they are not read from the environment.

docker build -t kaseya-vsa-mcp .

docker run --rm \ -e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \ -p 127.0.0.1:8080:8080 \ kaseya-vsa-mcp

Compose refuses to start when CONDUIT_S2S_SECRET is unset, sets AUTH_MODE=gateway, does not inject static KASEYA_VSA_* credentials, and publishes 127.0.0.1:8080:8080:

CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" docker compose up

Single-tenant HTTP (AUTH_MODE=env) still requires the S2S secret, then uses KASEYA_VSA_*:

docker run --rm \

-e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \ -e AUTH_MODE=env \ -e KASEYA_VSA_TENANT_URL=https://vsa.example.com/api/v1.0 \ -e KASEYA_VSA_USERNAME=... \ -e KASEYA_VSA_PASSWORD=... \ -p 127.0.0.1:8080:8080 \ kaseya-vsa-mcp

License

Apache-2.0