oci ghcr.io/wyre-technology/immybot-mcp:v1.2.11stdioupdated 8d ago
MCP server for ImmyBot - Windows endpoint management and software deployment automation.
What can you do with ImmyBot?
@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)
docker run -d \
--name immybot-mcp \
-p 8080:8080 \
-e AUTH_MODE=gateway \
-e MCP_HTTP_PORT=8080 \
-e LOG_LEVEL=info \
ghcr.io/wyre-ai/immybot-mcp:latest
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:
- Start →
immybot_navigate→ Choose domain - Domain tools → Domain-specific operations
- 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
| Field | Description | Example |
|---|---|---|
instanceSubdomain |
ImmyBot instance subdomain | acmemsp |
tenantId |
Microsoft Entra tenant ID | 12345678-1234-1234-1234-123456789abc |
clientId |
Application (client) ID | 87654321-4321-4321-4321-cba987654321 |
clientSecret |
Client secret value | your-client-secret |
Setup Steps
- Register Enterprise Application in Microsoft Entra ID
- Grant ImmyBot API permissions to the application
- Create client secret for the application
- 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:
- Configure desired state - Software installations create deployments
- 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
Gateway Mode (Docker)
| Variable | Default | Description |
|---|---|---|
AUTH_MODE |
direct |
Set to gateway for WYRE MCP Gateway |
MCP_TRANSPORT |
stdio |
Transport mode (http or stdio) |
MCP_HTTP_PORT |
8080 |
HTTP server port |
LOG_LEVEL |
info |
Logging level (debug, info, warn, error) |
Direct Mode (CLI)
| Variable | Required | Description |
|---|---|---|
IMMYBOT_INSTANCE_SUBDOMAIN |
✅ | ImmyBot instance subdomain |
IMMYBOT_TENANT_ID |
✅ | Microsoft Entra tenant ID |
IMMYBOT_CLIENT_ID |
✅ | Application client ID |
IMMYBOT_CLIENT_SECRET |
✅ | Client secret |
Tools Reference
Navigation Tools
| Tool | Description |
|---|---|
immybot_navigate |
Navigate to domain |
immybot_status |
Show current state |
immybot_back |
Return to main menu |
Computers Tools
| Tool | Description |
|---|---|
immybot_computers_list |
List computers with filtering |
immybot_computers_get |
Get computer details |
immybot_computers_search |
Search computers by name |
immybot_computers_inventory |
Get hardware/software inventory |
immybot_computers_create |
Create computer record |
immybot_computers_deployments |
List computer deployments |
immybot_computers_trigger_checkin |
Force agent check-in |
Software Tools
| Tool | Description |
|---|---|
immybot_software_list_global |
List global software packages |
immybot_software_list |
List all software (global + tenant) |
immybot_software_get |
Get software details |
immybot_software_search |
Search software by name |
immybot_software_versions |
List software versions |
immybot_software_latest_version |
Get latest version |
immybot_software_categories |
List categories |
immybot_software_publishers |
List publishers |
immybot_software_install |
Stage software installation |
immybot_software_stats |
Get 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 --build-arg NODE_AUTH_TOKEN=$GITHUB_TOKEN .
Support
License
Apache-2.0 - see LICENSE for details.
Install
Add ImmyBot to your client. Pick the one you use.
claude mcp add ghcr-io-wyre-technology-immybot-mcp-v1-2 -- docker run -i --rm ghcr.io/wyre-technology/immybot-mcp:v1.2.11codex mcp add ghcr-io-wyre-technology-immybot-mcp-v1-2 -- docker run -i --rm ghcr.io/wyre-technology/immybot-mcp:v1.2.11amp mcp add ghcr-io-wyre-technology-immybot-mcp-v1-2 -- docker run -i --rm ghcr.io/wyre-technology/immybot-mcp:v1.2.11{
"mcpServers": {
"ghcr-io-wyre-technology-immybot-mcp-v1-2": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-technology/immybot-mcp:v1.2.11"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"ghcr-io-wyre-technology-immybot-mcp-v1-2": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-technology/immybot-mcp:v1.2.11"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"ghcr-io-wyre-technology-immybot-mcp-v1-2","command":"docker","args":["run","-i","--rm","ghcr.io/wyre-technology/immybot-mcp:v1.2.11"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"ghcr-io-wyre-technology-immybot-mcp-v1-2": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-technology/immybot-mcp:v1.2.11"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"ghcr-io-wyre-technology-immybot-mcp-v1-2": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-technology/immybot-mcp:v1.2.11"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"ghcr-io-wyre-technology-immybot-mcp-v1-2": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-technology/immybot-mcp:v1.2.11"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"ghcr-io-wyre-technology-immybot-mcp-v1-2": {
"type": "local",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-technology/immybot-mcp:v1.2.11"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"ghcr-io-wyre-technology-immybot-mcp-v1-2": {
"command": {
"path": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-technology/immybot-mcp:v1.2.11"
]
}
}
}
}Add to your Zed `settings.json`.
docker run -i --rm ghcr.io/wyre-technology/immybot-mcp:v1.2.11Run `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
Score
39 / 100
Incomplete
- Documentation25/25
- Maintenance25/25
- Trust9/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 1 days ago
- Has a release history
- Repository is not archived
- No licence detected
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 1.2.11Latest | Aug 20, 2026 |
| 1.2.10 | Aug 13, 2026 |
| 1.2.9 | Aug 11, 2026 |
| 1.2.8 | Jul 23, 2026 |
| 1.2.7 | Jul 21, 2026 |
| 1.2.6 | Jul 20, 2026 |
| 1.2.5 | Jul 20, 2026 |
| 1.2.4 | Jul 18, 2026 |
| 1.2.3 | May 30, 2026 |