프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. 리뷰와 계정 기능은 다음 단계에서 열려요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

ImmyBot

제작자: wyre-technology버전 1.2.11i★ –i내 컴퓨터에서 실행
레지스트리 이름io.github.wyre-technology/immybot-mcp

설치

개요

제작자가 쓴 설명(영어 원문)

MCP server for ImmyBot — Windows software deployment, maintenance, tenants, deployments.

PopNx MCP의 세 기둥

이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.

할 수 있는 일

이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.

  • 연결 방식: 내 컴퓨터에서 실행
  • 전송 방식: stdio
  • 카테고리: 개발자 도구
  • 입력해야 할 값: IMMYBOT_TENANT_ID, IMMYBOT_CLIENT_ID, IMMYBOT_CLIENT_SECRET, IMMYBOT_INSTANCE_SUBDOMAIN

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

설치하기 전에

  • 기본 점검: 1개 중 1개 통과
  • 내 컴퓨터에서 내 사용자 계정의 권한(파일, 네트워크, 앱)으로 실행돼요.
  • 직접 입력할 값: IMMYBOT_TENANT_ID, IMMYBOT_CLIENT_ID, IMMYBOT_CLIENT_SECRET, IMMYBOT_INSTANCE_SUBDOMAIN, MCP_TRANSPORT, AUTH_MODE, LOG_LEVEL

비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.

필요한 것

어떤 앱을 쓰세요?

위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.

Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요

{
  "mcpServers": {
    "immybot": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "IMMYBOT_TENANT_ID",
        "-e",
        "IMMYBOT_CLIENT_ID",
        "-e",
        "IMMYBOT_CLIENT_SECRET",
        "-e",
        "IMMYBOT_INSTANCE_SUBDOMAIN",
        "-e",
        "MCP_TRANSPORT",
        "-e",
        "AUTH_MODE",
        "-e",
        "LOG_LEVEL",
        "ghcr.io/wyre-technology/immybot-mcp:v1.2.11"
      ],
      "env": {
        "IMMYBOT_TENANT_ID": "your-value",
        "IMMYBOT_CLIENT_ID": "your-value",
        "IMMYBOT_CLIENT_SECRET": "your-value",
        "IMMYBOT_INSTANCE_SUBDOMAIN": "your-value",
        "MCP_TRANSPORT": "your-value",
        "AUTH_MODE": "your-value",
        "LOG_LEVEL": "your-value"
      }
    }
  }
}

터미널에서 이 명령어를 실행하세요

claude mcp add immybot --env IMMYBOT_TENANT_ID=your-value --env IMMYBOT_CLIENT_ID=your-value --env IMMYBOT_CLIENT_SECRET=your-value --env IMMYBOT_INSTANCE_SUBDOMAIN=your-value --env MCP_TRANSPORT=your-value --env AUTH_MODE=your-value --env LOG_LEVEL=your-value -- docker run -i --rm -e IMMYBOT_TENANT_ID -e IMMYBOT_CLIENT_ID -e IMMYBOT_CLIENT_SECRET -e IMMYBOT_INSTANCE_SUBDOMAIN -e MCP_TRANSPORT -e AUTH_MODE -e LOG_LEVEL ghcr.io/wyre-technology/immybot-mcp:v1.2.11

실행하기 전에 빈 값을 채워 주세요.

Cursor에서 열기

또는 설정을 직접 복사하기

프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요

{
  "mcpServers": {
    "immybot": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "IMMYBOT_TENANT_ID",
        "-e",
        "IMMYBOT_CLIENT_ID",
        "-e",
        "IMMYBOT_CLIENT_SECRET",
        "-e",
        "IMMYBOT_INSTANCE_SUBDOMAIN",
        "-e",
        "MCP_TRANSPORT",
        "-e",
        "AUTH_MODE",
        "-e",
        "LOG_LEVEL",
        "ghcr.io/wyre-technology/immybot-mcp:v1.2.11"
      ],
      "env": {
        "IMMYBOT_TENANT_ID": "your-value",
        "IMMYBOT_CLIENT_ID": "your-value",
        "IMMYBOT_CLIENT_SECRET": "your-value",
        "IMMYBOT_INSTANCE_SUBDOMAIN": "your-value",
        "MCP_TRANSPORT": "your-value",
        "AUTH_MODE": "your-value",
        "LOG_LEVEL": "your-value"
      }
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

VS Code에서 열기

또는 설정을 직접 복사하기

프로젝트의 .vscode/mcp.json에 붙여 넣으세요

{
  "servers": {
    "immybot": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "IMMYBOT_TENANT_ID",
        "-e",
        "IMMYBOT_CLIENT_ID",
        "-e",
        "IMMYBOT_CLIENT_SECRET",
        "-e",
        "IMMYBOT_INSTANCE_SUBDOMAIN",
        "-e",
        "MCP_TRANSPORT",
        "-e",
        "AUTH_MODE",
        "-e",
        "LOG_LEVEL",
        "ghcr.io/wyre-technology/immybot-mcp:v1.2.11"
      ],
      "env": {
        "IMMYBOT_TENANT_ID": "your-value",
        "IMMYBOT_CLIENT_ID": "your-value",
        "IMMYBOT_CLIENT_SECRET": "your-value",
        "IMMYBOT_INSTANCE_SUBDOMAIN": "your-value",
        "MCP_TRANSPORT": "your-value",
        "AUTH_MODE": "your-value",
        "LOG_LEVEL": "your-value"
      }
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.

선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.

직접 입력할 값

  • IMMYBOT_TENANT_ID 필수 env
    ImmyBot Azure AD tenant ID
  • IMMYBOT_CLIENT_ID 필수 env
    ImmyBot OAuth client ID
  • IMMYBOT_CLIENT_SECRET 비밀 필수 env
    ImmyBot OAuth client secret
  • IMMYBOT_INSTANCE_SUBDOMAIN 필수 env
    ImmyBot instance subdomain (e.g. 'acme' for acme.immy.bot)
  • 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를 따르세요.

할 수 있는 일

내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 GitHub 계정 wyre-technology 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요

  • … 아직 점검 안 함

    계속 관리되고 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • … 아직 점검 안 함

    라이선스 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • – 해당 없음

    엔드포인트 응답

    내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요

  • – 해당 없음

    OAuth로 로그인

    내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요

개발자 도구 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 4906개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 4906개 중 36%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 4906개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

ImmyBot, 안전한가요?

해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

입력해야 할 값: IMMYBOT_TENANT_ID, IMMYBOT_CLIENT_ID, IMMYBOT_CLIENT_SECRET, IMMYBOT_INSTANCE_SUBDOMAIN

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.2.11)은 3개월 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Docker도 있어야 해요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: GitHub, Desktop Commander, Cloudflare MCP

대안

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

GitHub

제작자: github

Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

컴퓨터 또는 클라우드★ 34,245MIT4일 전 업데이트
설치

Desktop Commander

제작자: wonderwhy-er

MCP server for terminal commands, file operations, and process management

내 컴퓨터에서 실행★ 10,225MIT16일 전 업데이트
설치

Cloudflare MCP

제작자: cloudflare

Cloudflare MCP servers

클라우드에서 실행★ 4,446Apache-2.014개월 전 업데이트
설치

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

@wyre-ai/immybot-mcp

MCP server for ImmyBot - Windows endpoint management and software deployment automation.

Features

  • 🔐 OAuth 2.0 Authentication - Microsoft Entra ID client credentials
  • 🏢 Multi-tenant Support - Per-instance subdomain configuration
  • 🧭 Decision Tree Navigation - Organized tool discovery by domain
  • 💻 Comprehensive Coverage - Computers, software, deployments, scripts, tenants, maintenance sessions, tasks
  • ⚡ Gateway Ready - Stateless per-request operation for WYRE MCP Gateway
  • 🚀 Docker Deployment - Container-ready with health checks
  • 📊 Structured Logging - Detailed operation tracking

Quick Start

Docker (Recommended)

The image listens on 0.0.0.0 inside the container and defaults to AUTH_MODE=gateway. Publish the port on loopback and pass a real CONDUIT_S2S_SECRET. In gateway mode, ImmyBot credentials arrive on each request as headers; they are not read from the environment.

docker run -d \

--name immybot-mcp \ -p 127.0.0.1:8080:8080 \ -e CONDUIT_S2S_SECRET \ -e AUTH_MODE=gateway \ -e MCP_TRANSPORT=http \ -e MCP_HTTP_PORT=8080 \ -e LOG_LEVEL=info \ ghcr.io/wyre-ai/immybot-mcp:latest

Compose refuses to start when CONDUIT_S2S_SECRET is unset. The gateway service does not set IMMYBOT_* variables or env_file, so a project .env cannot inject static vendor credentials. It publishes 127.0.0.1:8080:8080:

# openssl rand -hex 32 — do not use a placeholder such as changeme

CONDUIT_S2S_SECRET="$(openssl rand -hex 32)" docker compose up

Direct Installation
npm install @wyre-ai/immybot-mcp

npx @wyre-ai/immybot-mcp

Navigation

The server uses decision-tree navigation to organize tools by domain:

  1. Start → immybot_navigate → Choose domain
  2. Domain tools → Domain-specific operations
  3. Return → immybot_back → Main navigation
Available Domains
  • computers - Device and endpoint management
  • software - Application and package management
  • deployments - Software deployment configuration
  • scripts - PowerShell script execution and management
  • tenants - Client organization management
  • maintenance_sessions - Device maintenance and state reconciliation
  • tasks - Background operation monitoring

Authentication

ImmyBot uses OAuth 2.0 with Microsoft Entra ID:

Required Configuration
FieldDescriptionExample
instanceSubdomainImmyBot instance subdomainacmemsp
tenantIdMicrosoft Entra tenant ID12345678-1234-1234-1234-123456789abc
clientIdApplication (client) ID87654321-4321-4321-4321-cba987654321
clientSecretClient secret valueyour-client-secret
Setup Steps
  1. Register Enterprise Application in Microsoft Entra ID
  2. Grant ImmyBot API permissions to the application
  3. Create client secret for the application
  4. Configure application in ImmyBot settings

OAuth scope: api://{client_id}/.default

Usage Examples

1. Navigate to Computers Domain
// Start navigation

await callTool('immybot_navigate', { domain: 'computers' });

// List computers await callTool('immybot_computers_list', { tenantId: 1, isOnline: true });

// Get computer details await callTool('immybot_computers_get', { computerId: 123 });

2. Software Management
// Navigate to software domain

await callTool('immybot_navigate', { domain: 'software' });

// Search for software await callTool('immybot_software_search', { query: 'Chrome' });

// Install software (stages for maintenance session) await callTool('immybot_software_install', { softwareId: 456, computerIds: [123, 124, 125], autoUpdate: true });

3. Maintenance Sessions
// Navigate to maintenance sessions

await callTool('immybot_navigate', { domain: 'maintenance_sessions' });

// Start maintenance session (reconciles deployments) await callTool('immybot_maintenance_sessions_start', { computerId: 123, sessionType: 'Manual' });

// Check session status await callTool('immybot_maintenance_sessions_get', { sessionId: 789 });

Two-Step Deployment Model

⚠️ Important: ImmyBot uses a two-step deployment workflow:

  1. Configure desired state - Software installations create deployments
  2. Reconcile via maintenance session - Sessions apply the desired state
// Step 1: Stage software installation

await callTool('immybot_software_install', { softwareId: 123, computerIds: [456] }); // ↑ This creates a deployment, does NOT install immediately

// Step 2: Reconcile state await callTool('immybot_maintenance_sessions_start', { computerId: 456 }); // ↑ This runs the maintenance session to actually install software

Environment Variables

Copy .env.example and set the variables below.

Gateway Mode (Docker)
VariableDefaultDescription
AUTH_MODEdirectSet to gateway for WYRE MCP Gateway. Gateway mode requires the four x-immybot-* credential headers on each /mcp request and never falls back to IMMYBOT_*. The Docker image and Compose default to gateway.
MCP_TRANSPORTstdioTransport mode (http or stdio)
MCP_HTTP_PORT8080HTTP server port
MCP_HTTP_HOST0.0.0.0 when a real CONDUIT_S2S_SECRET is set and this is unset; 127.0.0.1 for the insecure-dev bypassBind address. A configured secret honors this value, including 0.0.0.0, so container deploys stay reachable. The image and Compose set 0.0.0.0.
CONDUIT_S2S_SECRET—Required for HTTP. HMAC secret checked against X-Gateway-S2S on /mcp. Generate with openssl rand -hex 32. If empty or a known placeholder, the HTTP server logs an error and exits non-zero. The value is never logged.
MCP_ALLOW_INSECURE_DEVunsetSet to exactly 1 to start HTTP without CONDUIT_S2S_SECRET. Logs a warning, does not enforce X-Gateway-S2S, and binds 127.0.0.1 only. A non-loopback MCP_HTTP_HOST refuses to start. A placeholder secret still refuses to start. Local development only.
LOG_LEVELinfoLogging level (debug, info, warn, error)

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

Direct Mode (CLI)
VariableRequiredDescription
IMMYBOT_INSTANCE_SUBDOMAIN✅ImmyBot instance subdomain
IMMYBOT_TENANT_ID✅Microsoft Entra tenant ID
IMMYBOT_CLIENT_ID✅Application client ID
IMMYBOT_CLIENT_SECRET✅Client 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 is HTTP 401, before vendor credentials are read.

TS=$(date +%s)

SIG=$(printf 't=%s' "$TS" | openssl dgst -sha256 -hmac "$CONDUIT_S2S_SECRET" -hex | awk '{print $NF}') curl -sS http://127.0.0.1:8080/mcp \ -H 'Content-Type: application/json' \ -H 'Accept: application/json, text/event-stream' \ -H "X-Gateway-S2S: t=${TS},v1=${SIG}" \ -H 'X-ImmyBot-Instance-Subdomain: acmemsp' \ -H 'X-ImmyBot-Tenant-Id: 12345678-1234-1234-1234-123456789abc' \ -H 'X-ImmyBot-Client-Id: 87654321-4321-4321-4321-cba987654321' \ -H 'X-ImmyBot-Client-Secret: your-client-secret' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

In AUTH_MODE=gateway, those four X-ImmyBot-* headers are required. A request missing any of them gets HTTP 401 and does not fall back to IMMYBOT_* in the process environment. Direct mode (AUTH_MODE unset) still requires a valid X-Gateway-S2S header, then uses the IMMYBOT_* environment variables. Direct mode does not read the X-ImmyBot-* headers.

Local HTTP without a secret is development-only. It binds 127.0.0.1 and logs a warning. A non-loopback MCP_HTTP_HOST (including the image default 0.0.0.0) makes startup exit. Do not publish that port off loopback.

MCP_TRANSPORT=http MCP_ALLOW_INSECURE_DEV=1 npm start

Tools Reference

Navigation Tools
ToolDescription
immybot_navigateNavigate to domain
immybot_statusShow current state
immybot_backReturn to main menu
Computers Tools
ToolDescription
immybot_computers_listList computers with filtering
immybot_computers_getGet computer details
immybot_computers_searchSearch computers by name
immybot_computers_inventoryGet hardware/software inventory
immybot_computers_createCreate computer record
immybot_computers_deploymentsList computer deployments
immybot_computers_trigger_checkinForce agent check-in
Software Tools
ToolDescription
immybot_software_list_globalList global software packages
immybot_software_listList all software (global + tenant)
immybot_software_getGet software details
immybot_software_searchSearch software by name
immybot_software_versionsList software versions
immybot_software_latest_versionGet latest version
immybot_software_categoriesList categories
immybot_software_publishersList publishers
immybot_software_installStage software installation
immybot_software_statsGet installation statistics

Error Handling

The server provides structured error responses:

{

"content": [{"type": "text", "text": "Error: Authentication failed"}], "isError": true }

Common error types:

  • Authentication errors - Invalid credentials or expired tokens
  • Not found errors - Resource doesn't exist
  • Validation errors - Missing or invalid parameters
  • Rate limit errors - Too many requests
  • Server errors - Internal ImmyBot API issues

Development

Build from Source
git clone https://github.com/WYRE-AI/immybot-mcp.git

cd immybot-mcp npm install npm run build npm start

Testing
npm test
Docker Build
docker build -t immybot-mcp --secret id=npmrc,src=$HOME/.npmrc .

The checked-in Compose file is gateway mode. It requires CONDUIT_S2S_SECRET and does not pass static IMMYBOT_* credentials.

Support

License

Apache-2.0 - see LICENSE for details.

PopNx에게 묻기