datto-rmm-mcp

datto-rmm-mcp

Enables Claude to interact with Datto RMM accounts for device, alert, site, and quick job management through natural language.

Category
Visit Server

README

Datto RMM MCP Server

MCP server for Datto RMM, enabling Claude to interact with your Datto RMM account.

One-Click Deployment

[!IMPORTANT] Before you click: this server depends on @wyre-technology/node-datto-rmm, which is hosted on the GitHub Packages npm registry. GitHub Packages has no anonymous access — even though the package is public, every npm install needs a token. The cloud builder runs npm install for you, so you must give it one, or the build fails with npm error 401 Unauthorized ... npm.pkg.github.com.

  1. Create a GitHub Personal Access Token with the read:packages scope (classic token). Any GitHub account works — you do not need to be a member of the wyre-technology org to read its public packages.
  2. Add it as a build variable when prompted by the deploy flow:
    • Cloudflare Workers → set a build variable named NODE_AUTH_TOKEN to your PAT (Workers → Settings → Build → Variables and Secrets).
    • DigitalOcean App Platform → set an encrypted env var named GITHUB_TOKEN with scope Build Time to your PAT (the .do/deploy.template.yaml already declares it).

Deploy to DO

Deploy to Cloudflare Workers

[!NOTE] The DigitalOcean target builds the full Docker image and runs the complete MCP server over HTTP — this is the recommended path for operators. This repo has no Cloudflare Workers entrypoint (src/worker.ts), so the Workers button is not a supported target yet; prefer DigitalOcean or the prebuilt container image (ghcr.io/wyre-technology/datto-rmm-mcp).

Features

  • Device Management: List, search, and get details for devices
  • Alert Management: View and resolve alerts
  • Interactive Alert Card (MCP Apps): datto_get_alert renders as an interactive card in MCP Apps hosts (Claude Desktop/web) with an in-card "Resolve alert" round-trip; neutral by default, brandable via window.__BRAND__ injection or MCP_BRAND_* env vars; plain-JSON behavior is unchanged in other hosts
  • Site Management: List and view site details
  • Quick Jobs: Run quick jobs on devices
  • Audit Data: Retrieve full device audit or software inventory

Installation

Via MCP Gateway (Recommended)

This server is designed to work with the MCP Gateway which handles authentication and credential management.

Local Development

This server's @wyre-technology/* dependencies live on the GitHub Packages npm registry, which requires a token even for public packages. Authenticate once, then install:

# Authenticate npm to GitHub Packages (token needs the read:packages scope)
export NODE_AUTH_TOKEN=$(gh auth token)   # or a PAT with read:packages

npm install
npm run build
npm start

The repo's .npmrc already points the @wyre-technology scope at GitHub Packages and reads the token from NODE_AUTH_TOKEN, so no further config is needed.

Configuration

The server accepts credentials via environment variables:

Variable Description
DATTO_API_KEY Your Datto RMM API key
DATTO_API_SECRET Your Datto RMM API secret
DATTO_PLATFORM API platform: pinotage, merlot, concord, vidal, zinfandel, or syrah (default: concord)

When used with the MCP Gateway, credentials are injected via X_API_KEY and X_API_SECRET environment variables.

Platform Selection

Datto RMM uses regional API endpoints. Select the platform that matches your account:

Platform Region/Description
pinotage South Africa
merlot Europe
concord US East (default)
vidal Canada
zinfandel US West
syrah Australia

Available Tools

Tool Description
datto_list_devices List devices with optional site filter
datto_find_device Find a device by hostname (exact or partial match) and resolve its UID
datto_get_device Get device details by UID
datto_list_alerts List open alerts with optional site filter
datto_get_alert Get alert details by UID (renders as an interactive card in MCP Apps hosts)
datto_resolve_alert Resolve an alert
datto_list_sites List all sites
datto_get_site Get site details
datto_run_quickjob Run a quick job on a device
datto_get_device_audit Get device audit data (full or software only)

Docker

Use the prebuilt image (no build, no token)

docker pull ghcr.io/wyre-technology/datto-rmm-mcp:latest

docker run -p 8080:8080 \
  -e DATTO_API_KEY=xxx \
  -e DATTO_API_SECRET=xxx \
  -e DATTO_PLATFORM=concord \
  ghcr.io/wyre-technology/datto-rmm-mcp:latest

The image is public and pulls anonymously, so this path needs no GitHub token at all.

Build from source

The build installs @wyre-technology/node-datto-rmm from GitHub Packages, which requires a token even though the package is public (see One-Click Deployment). The Dockerfile takes it as the GITHUB_TOKEN build arg — omit it and the build fails at npm ci with npm error 401 Unauthorized ... npm.pkg.github.com:

docker build --build-arg GITHUB_TOKEN=$(gh auth token) -t datto-rmm-mcp .

docker run -p 8080:8080 \
  -e DATTO_API_KEY=xxx \
  -e DATTO_API_SECRET=xxx \
  -e DATTO_PLATFORM=concord \
  datto-rmm-mcp

The token is written to a temporary .npmrc that is deleted in the same layer, so it is never baked into the image.

[!NOTE] The image defaults to MCP_TRANSPORT=http on port 8080, so -p 8080:8080 is required to reach it. Health check: curl http://localhost:8080/health.

License

Apache-2.0

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured