Skycomm/Atera-MCP
If you are the rightful owner of Atera-MCP and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
This repository provides a reference implementation and documentation for integrating an Atera ticketing system using the Model Context Protocol (MCP).
Atera MCP Server
This repository contains reference implementation and comprehensive documentation for building an Atera ticketing system integration using the Model Context Protocol (MCP).
Overview
This is a complete reference implementation that includes:
- ✅ Working Atera API integration with full CRUD operations
- ✅ Comprehensive API documentation from real testing
- ✅ Database synchronization and caching
- ✅ MCP server implementation for OpenWebUI integration
- ✅ Security and credential management
- ✅ Complete test suite with real results
Repository Structure
reference/
├── REFERENCE_GUIDE.md # Comprehensive guide to all components
├── AteraAPI_v1_9_0_client.py # Main API client with MCP integration
├── atera-api-docs/ # Complete API documentation & research
├── api/ # FastAPI server implementation
├── utils/ # API clients and utilities
├── security/ # Credential management
├── api-samples/ # Real API response examples
├── docs/ # Deployment and integration guides
└── requirements.txt # Python dependencies
Key Features
Tested Atera API Integration
- Ticket Operations: Create, read, update, delete tickets
- Comment Management: Add public/internal comments with markdown support
- Customer/End User Management: Full CRUD operations
- Technician Assignment: Automatic assignment and escalation
- Advanced Search: Query builder with pagination
MCP Server Implementation
- OpenWebUI compatible tool schema
- RESTful API endpoints
- Real-time ticket synchronization
- Secure authentication
Comprehensive Documentation
- API Documentation: Complete endpoint documentation with examples
- Research Findings: Known limitations and workarounds discovered during testing
- Test Results: Real test data from tickets #25589, #25593, etc.
- Deployment Guides: Step-by-step setup instructions
Quick Start
-
API Client Usage:
from utils.atera_api_client import AteraAPIClient client = AteraAPIClient(api_key="your-api-key") tickets = client.get_tickets(status="Open") -
MCP Server:
pip install -r requirements.txt python api/main.py -
Review Documentation:
- Start with
reference/REFERENCE_GUIDE.md - Check
atera-api-docs/for API specifics - Review
docs/OPENWEBUI-INTEGRATION-GUIDE.md
- Start with
API Documentation Highlights
Authentication
- Uses X-API-KEY header authentication
- Base URL:
https://app.atera.com/api/v3 - All endpoints tested and documented
Tested Endpoints
GET /api/v3/tickets/{id}- Retrieve ticket details ✅POST /api/v3/tickets- Create new tickets ✅PUT /api/v3/tickets/{id}- Update tickets ✅POST /api/v3/tickets/{id}/comments- Add comments ✅GET /api/v3/customers- List customers ✅GET /api/v3/contacts- List end users ✅GET /api/v3/agents- List technicians ✅
Known Working Features
- Ticket creation with customer assignment
- Comment posting (public/internal)
- Status updates and priority changes
- Technician assignment
- End user management
- Markdown to HTML conversion for comments
Files Overview
- Core API:
AteraAPI_v1_9_0_client.py,utils/atera_api_client.py - API Documentation:
atera-api-docs/atera-api-documentation.md - Research Findings:
atera-api-docs/atera-api-findings.md - Test Results:
atera_api_comprehensive_test.py, test logs and JSON results - MCP Schema:
api/tool_schema.py,api/models.py - Security:
security/credential_manager.py
Development Notes
This codebase represents months of API research, testing, and development. All API endpoints have been tested with real Atera tickets, and the database synchronization has been validated in production environments.
The code is ready for immediate use or as a foundation for rebuilding the MCP tool from scratch.
License
See LICENSE file for details.
Support
For issues and questions, refer to the comprehensive documentation in the reference/ directory.