{"id":44882028,"url":"https://github.com/wyre-technology/atera-mcp","last_synced_at":"2026-04-06T16:01:11.194Z","repository":{"id":336674488,"uuid":"1150671365","full_name":"wyre-technology/atera-mcp","owner":"wyre-technology","description":"MCP server for Atera — ticketing, device monitoring, alerts, and customer management tools for AI assistants","archived":false,"fork":false,"pushed_at":"2026-03-31T20:29:33.000Z","size":159,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-31T21:33:45.391Z","etag":null,"topics":["ai-tools","atera","claude","mcp","mcp-server","model-context-protocol","msp","typescript","wyre-technology"],"latest_commit_sha":null,"homepage":"https://mcp.wyretechnology.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wyre-technology.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-05T14:56:38.000Z","updated_at":"2026-03-31T20:29:35.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/wyre-technology/atera-mcp","commit_stats":null,"previous_names":["wyre-technology/atera-mcp"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/wyre-technology/atera-mcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wyre-technology%2Fatera-mcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wyre-technology%2Fatera-mcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wyre-technology%2Fatera-mcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wyre-technology%2Fatera-mcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wyre-technology","download_url":"https://codeload.github.com/wyre-technology/atera-mcp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wyre-technology%2Fatera-mcp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31479006,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-06T14:34:32.243Z","status":"ssl_error","status_checked_at":"2026-04-06T14:34:31.723Z","response_time":112,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-tools","atera","claude","mcp","mcp-server","model-context-protocol","msp","typescript","wyre-technology"],"created_at":"2026-02-17T16:12:28.429Z","updated_at":"2026-04-06T16:01:11.164Z","avatar_url":"https://github.com/wyre-technology.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Atera MCP Server\n\nModel Context Protocol (MCP) server for interacting with the Atera RMM API. Implements a decision tree architecture for efficient tool discovery and reduced context overhead.\n\n\n## One-Click Deployment\n\n[![Deploy to DO](https://www.deploytodo.com/do-btn-blue.svg)](https://cloud.digitalocean.com/apps/new?repo=https://github.com/wyre-technology/atera-mcp/tree/main)\n\n[![Deploy to Cloudflare Workers](https://deploy.workers.cloudflare.com/button)](https://deploy.workers.cloudflare.com/?url=https://github.com/wyre-technology/atera-mcp)\n\n## Features\n\n- **Decision Tree Navigation**: Tools are organized by domain (customers, agents, tickets, alerts, contacts). Navigate to a domain first, then use domain-specific tools.\n- **Lazy Client Loading**: The Atera client is only instantiated when first needed, reducing startup time.\n- **Full API Coverage**: Supports customer management, device/agent monitoring, ticket operations, alert handling, and contact management.\n- **Rate Limit Handling**: Built-in rate limiting via the node-atera client (700 req/min).\n\n## Installation\n\n```bash\nnpm install @wyre-technology/atera-mcp\n```\n\nOr build from source:\n\n```bash\ngit clone https://github.com/wyre-technology/atera-mcp.git\ncd atera-mcp\nnpm install\nnpm run build\n```\n\n## Configuration\n\nSet the following environment variable:\n\n| Variable | Required | Description |\n|----------|----------|-------------|\n| `ATERA_API_KEY` | Yes | Your Atera API key from Admin \u003e API |\n\n### Getting Your API Key\n\n1. Log into Atera as an admin\n2. Go to **Admin** \u003e **API**\n3. Generate or copy your API key\n\n## Usage\n\n### With Claude Desktop\n\nAdd to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"atera\": {\n      \"command\": \"npx\",\n      \"args\": [\"@wyre-technology/atera-mcp\"],\n      \"env\": {\n        \"ATERA_API_KEY\": \"your-api-key-here\"\n      }\n    }\n  }\n}\n```\n\n### With MCP Gateway\n\nConfigure in the gateway registry:\n\n```json\n{\n  \"name\": \"atera-mcp\",\n  \"command\": \"node\",\n  \"args\": [\"/path/to/atera-mcp/dist/index.js\"],\n  \"env\": {\n    \"ATERA_API_KEY\": \"${ATERA_API_KEY}\"\n  }\n}\n```\n\n### Docker\n\n```bash\ndocker build -t atera-mcp .\ndocker run -e ATERA_API_KEY=your-key atera-mcp\n```\n\n## Decision Tree Architecture\n\nThis server uses a navigation-based approach to tool discovery:\n\n1. **Start**: Only `atera_navigate` tool is available\n2. **Navigate**: Call `atera_navigate` with a domain (customers, agents, tickets, alerts, contacts)\n3. **Domain Tools**: After navigation, domain-specific tools become available\n4. **Back**: Use `atera_back` to return to domain selection\n\nThis architecture:\n- Reduces tool list size for better LLM performance\n- Groups related operations logically\n- Minimizes context window usage\n\n## Available Domains\n\n### Customers\nManage customer (company) records.\n- `atera_customers_list` - List customers with pagination\n- `atera_customers_get` - Get customer by ID\n- `atera_customers_create` - Create new customer\n\n### Agents\nManage devices/endpoints with the Atera agent installed.\n- `atera_agents_list` - List agents with optional customer filter\n- `atera_agents_get` - Get agent by ID\n- `atera_agents_get_by_machine` - Get agent by machine name\n\n### Tickets\nManage service tickets.\n- `atera_tickets_list` - List tickets with filters\n- `atera_tickets_get` - Get ticket by ID\n- `atera_tickets_create` - Create new ticket\n- `atera_tickets_update` - Update existing ticket\n\n### Alerts\nMonitor alerts from devices and agents.\n- `atera_alerts_list` - List alerts with filters\n- `atera_alerts_get` - Get alert by ID\n- `atera_alerts_by_agent` - List alerts for an agent\n- `atera_alerts_by_device` - List alerts for a device\n\n### Contacts\nManage customer contacts.\n- `atera_contacts_list` - List all contacts\n- `atera_contacts_get` - Get contact by ID\n- `atera_contacts_by_customer` - List contacts for a customer\n\n## Example Conversation\n\n```\nUser: List all open tickets\n\nClaude: I'll navigate to the tickets domain and list open tickets.\n[Calls atera_navigate with domain: \"tickets\"]\n[Calls atera_tickets_list with ticketStatus: \"Open\"]\n\nResult: Found 15 open tickets...\n```\n\n## Development\n\n```bash\n# Install dependencies\nnpm install\n\n# Build\nnpm run build\n\n# Run in development\nnpm run dev\n\n# Type check\nnpm run typecheck\n\n# Lint\nnpm run lint\n\n# Test\nnpm run test\n```\n\n## API Rate Limits\n\nAtera API allows 700 requests per minute. The underlying node-atera client handles rate limiting automatically with request queuing.\n\n## License\n\nApache-2.0\n\n## Contributing\n\nContributions welcome! Please read our contributing guidelines and submit PRs to the main branch.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwyre-technology%2Fatera-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwyre-technology%2Fatera-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwyre-technology%2Fatera-mcp/lists"}