Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Atera

БесплатноНе проверен

MCP server for the Atera RMM API. Implements a decision tree architecture for efficient tool discovery, enabling Claude to manage devices, alerts, tickets, and

GitHubEmbed

Описание

MCP server for the Atera RMM API. Implements a decision tree architecture for efficient tool discovery, enabling Claude to manage devices, alerts, tickets, and customers in Atera.

README

Model Context Protocol (MCP) server for interacting with the Atera RMM API. Implements a decision tree architecture for efficient tool discovery and reduced context overhead.

One-Click Deployment

[!IMPORTANT] Before you click: this server depends on @wyre-technology/node-atera, 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/app.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. The Cloudflare Workers target is currently a thin entrypoint stub (the /mcp route returns 501 Not Implemented) and is best suited to gateway-style deployments; for a full self-hosted server prefer DigitalOcean or the prebuilt container image (ghcr.io/wyre-technology/atera-mcp).

Features

  • Decision Tree Navigation: Tools are organized by domain (customers, agents, tickets, alerts, contacts). Navigate to a domain first, then use domain-specific tools.
  • Lazy Client Loading: The Atera client is only instantiated when first needed, reducing startup time.
  • Full API Coverage: Supports customer management, device/agent monitoring, ticket operations, alert handling, and contact management.
  • Rate Limit Handling: Built-in rate limiting via the node-atera client (700 req/min).

Installation

This package is published to 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 @wyre-technology/atera-mcp

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.

Or build from source:

git clone https://github.com/wyre-technology/atera-mcp.git
cd atera-mcp
npm install
npm run build

Configuration

Set the following environment variable:

Variable Required Description
ATERA_API_KEY Yes Your Atera API key from Admin > API

Getting Your API Key

  1. Log into Atera as an admin
  2. Go to Admin > API
  3. Generate or copy your API key

Usage

With Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "atera": {
      "command": "npx",
      "args": ["@wyre-technology/atera-mcp"],
      "env": {
        "ATERA_API_KEY": "your-api-key-here"
      }
    }
  }
}

With MCP Gateway

Configure in the gateway registry:

{
  "name": "atera-mcp",
  "command": "node",
  "args": ["/path/to/atera-mcp/dist/index.js"],
  "env": {
    "ATERA_API_KEY": "${ATERA_API_KEY}"
  }
}

Docker

docker build -t atera-mcp .
docker run -e ATERA_API_KEY=your-key atera-mcp

Decision Tree Architecture

This server uses a navigation-based approach to tool discovery:

  1. Start: Only atera_navigate tool is available
  2. Navigate: Call atera_navigate with a domain (customers, agents, tickets, alerts, contacts)
  3. Domain Tools: After navigation, domain-specific tools become available
  4. Back: Use atera_back to return to domain selection

This architecture:

  • Reduces tool list size for better LLM performance
  • Groups related operations logically
  • Minimizes context window usage

Available Domains

Customers

Manage customer (company) records.

  • atera_customers_list - List customers with pagination
  • atera_customers_get - Get customer by ID
  • atera_customers_create - Create new customer

Agents

Manage devices/endpoints with the Atera agent installed.

  • atera_agents_list - List agents with optional customer filter
  • atera_agents_get - Get agent by ID
  • atera_agents_get_by_machine - Get agent by machine name

Tickets

Manage service tickets.

  • atera_tickets_list - List tickets with filters
  • atera_tickets_get - Get ticket by ID
  • atera_tickets_create - Create new ticket
  • atera_tickets_update - Update existing ticket

Alerts

Monitor alerts from devices and agents.

  • atera_alerts_list - List alerts with filters
  • atera_alerts_get - Get alert by ID
  • atera_alerts_by_agent - List alerts for an agent
  • atera_alerts_by_device - List alerts for a device

Contacts

Manage customer contacts.

  • atera_contacts_list - List all contacts
  • atera_contacts_get - Get contact by ID
  • atera_contacts_by_customer - List contacts for a customer

Example Conversation

User: List all open tickets

Claude: I'll navigate to the tickets domain and list open tickets.
[Calls atera_navigate with domain: "tickets"]
[Calls atera_tickets_list with ticketStatus: "Open"]

Result: Found 15 open tickets...

Development

# Install dependencies
npm install

# Build
npm run build

# Run in development
npm run dev

# Type check
npm run typecheck

# Lint
npm run lint

# Test
npm run test

API Rate Limits

Atera API allows 700 requests per minute. The underlying node-atera client handles rate limiting automatically with request queuing.

License

Apache-2.0

Contributing

Contributions welcome! Please read our contributing guidelines and submit PRs to the main branch.

from github.com/wyre-technology/atera-mcp

Установить Atera в Claude Desktop, Claude Code, Cursor

Рекомендуется · одна команда, все IDE
unyly install atera-mcp

Ставит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.

Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh

Или настроить вручную

Выполни в терминале:

claude mcp add atera-mcp -- npx -y github:wyre-technology/atera-mcp

FAQ

Atera MCP бесплатный?

Да, Atera MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Atera?

Нет, Atera работает без API-ключей и переменных окружения.

Atera — hosted или self-hosted?

Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.

Как установить Atera в Claude Desktop, Claude Code или Cursor?

Открой Atera на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Atera with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории ai