msp360-mcp

msp360-mcp

3.2

If you are the rightful owner of msp360-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 henry@mcphub.com.

The MSP360/CloudBerry MCP Server is a FastAPI-based RESTful API server designed for managing MSP360/CloudBerry operations, including user, package, company, and backup management.

MSP360/CloudBerry MCP Server

MCP server for MSP360/CloudBerry API.

Features

  • FastAPI-based RESTful API for MSP360/CloudBerry
  • Endpoints for users, packages, companies, and backup operations
  • Docker-based MCP server integration with Cursor IDE

Requirements

  • Docker
  • Cursor IDE

Example

Getting Started

  1. Pull the Docker image
docker pull tonyzorin/msp360-mcp:latest

Using with Cursor (MCP)

Configuration

For global settings update:

/Users/%username%/.cursor/mcp.json

For a specific project update:

%project_root%/.cursor/mcp.json

An example configuration file is provided in the repository as mcp.json.example. You can copy this file to your Cursor configuration location and update it with your API credentials:

{
  "mcpServers": {
    "MSP360": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e", "MSP360_API_LOGIN=<YOUR_API_LOGIN>",
        "-e", "MSP360_API_PASSWORD=<YOUR_API_PASSWORD>",
        "-e", "API_TIMEOUT=60",
        "tonyzorin/msp360-mcp:latest",
        
      ]
    }
  }
}

Claude Desktop

  1. Open Claude Desktop
  2. Click on Settings
  3. Developer tab -> Edit Config
  4. Add MCP server to you claude_desktop.config.json
{
  "mcpServers": {
    "MSP360": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e", "MSP360_API_LOGIN=<YOUR_API_LOGIN>",
        "-e", "MSP360_API_PASSWORD=<YOUR_API_PASSWORD>",
        "-e", "API_TIMEOUT=60",
        "tonyzorin/msp360-mcp:latest",
        
      ]
    }
  }
}

Alternative approach

Clone the repository

git clone https://github.com/tonyzorin/msp360-mcp.git
cd msp360-mcp
docker build -t tonyzorin/msp360-mcp:1.0.0 .

MSP360 MCP Tools Documentation

This document provides a comprehensive list of all available Model Context Protocol (MCP) tools for interacting with the MSP360/CloudBerry API.

User Management Tools

ToolDescriptionParameters
get_usersRetrieve a list of MSP360 users with optional filteringparams: JSON string with filter parameters (page, limit, company_id)
get_userGet detailed information about a specific useruser_id: ID of the user to retrieve
get_user_monitoringGet monitoring data for a specific user's backup/restore plansuser_id: ID of the user, page: Page number (default: 1), limit: Items per page (default: 10)
get_user_destinationsGet storage destinations configured for a specific useruser_email: Email address of the user
get_user_computersGet computers/endpoints associated with a specific useruser_id: ID of the user

Company Management Tools

ToolDescriptionParameters
get_companiesRetrieve a list of companies with optional filteringparams: JSON string with filter parameters (page, limit, name)
get_companyGet detailed information about a specific companycompany_id: ID of the company to retrieve
get_company_usage_reportGenerate a storage usage report by companypage: Page number (default: 1), limit: Items per page (default: 100)

Package Management Tools

ToolDescriptionParameters
get_packagesGet a list of software packages with optional filteringparams: JSON string with filter parameters
get_packageGet detailed information about a specific software packagepackage_id: ID of the package to retrieve

Monitoring & Reporting Tools

ToolDescriptionParameters
get_monitoring_dataGet monitoring data for backup/restore plansparams: JSON string with filter parameters (page, limit, user_id, company_id, from_date, to_date, status)
get_monitoring_itemGet detailed information about a specific monitoring itemitem_id: ID of the monitoring item to retrieve
get_detailed_reportGet a detailed report from a DetailedReportLink URLreport_url: The DetailedReportLink URL to access
get_backup_summary_reportGenerate a summary report of backup activitiesdays: Number of days to include (default: 7), company_id: Optional company filter, include_successful: Include successful backups (default: true), include_warnings: Include warning backups (default: true), include_errors: Include failed backups (default: true)

Account Management Tools

ToolDescriptionParameters
get_accountsGet a list of accounts with optional filteringparams: JSON string with filter parameters
get_accountGet detailed information about a specific accountaccount_id: ID of the account to retrieve
create_accountCreate a new MSP360 accountaccount_data: JSON string with account details
update_accountUpdate an existing MSP360 accountaccount_data: JSON string with updated account details

Storage Destination Tools

ToolDescriptionParameters
add_user_destinationAdd a storage destination to a userdestination_data: JSON string with destination details
edit_user_destinationEdit an existing user storage destinationdestination_data: JSON string with updated destination details
delete_user_destinationDelete a user's storage destinationdestination_id: ID of the destination to delete

Computer/Endpoint Management Tools

ToolDescriptionParameters
get_computersGet a list of managed computers/endpointsparams: JSON string with filter parameters
get_computerGet detailed information about a specific computerhid: Hardware ID of the computer
get_computer_disksGet information about the disks of a specific computerhid: Hardware ID of the computer
get_computer_plansGet backup/restore plans of a specific computerhid: Hardware ID of the computer
remove_computer_authorizationRemove authorization from a computerhid: Hardware ID of the computer
update_computer_authorizationCreate/update authorization for a computerhid: Hardware ID, auth_data: JSON string with authorization details

Billing Tools

ToolDescriptionParameters
get_billingGet billing information for the current monthparams: JSON string with filter parameters
get_filtered_billingGet filtered billing recordsparams: JSON string with filter parameters
get_billing_detailsGet detailed billing information for backup/restore operationsdetails_data: JSON string with billing detail filters

Build Management Tools

ToolDescriptionParameters
get_buildsGet a list of builds available to userspage: Page number (default: 1), limit: Items per page (default: 10), edition: Optional filter by software edition
get_available_versionsGet the latest available versions of buildsparams: Filter parameters (optional)
request_custom_buildsRequest custom builds with specified editionsbuild_data: JSON string with build specifications

License Management Tools

ToolDescriptionParameters
get_licensesGet a list of licenses with optional filteringparams: JSON string with filter parameters
get_licenseGet detailed information about a specific licenselicense_id: ID of the license to retrieve
grant_licenseGrant a license to a userlicense_data: JSON string with license and user information
release_licenseRelease a license from a userlicense_data: JSON string with license information
revoke_licenseRevoke a license from a userlicense_data: JSON string with license information

Administrator Management Tools

ToolDescriptionParameters
get_adminsGet a list of administrators with optional filteringparams: JSON string with filter parameters (page, limit, name)
get_adminGet detailed information about a specific administratoradmin_id: ID of the administrator to retrieve
create_adminCreate a new administratoradmin_data: JSON string with administrator details
update_adminUpdate an existing administratoradmin_data: JSON string with updated administrator details
delete_adminDelete an administratoradmin_id: ID of the administrator to delete

Usage Examples

Retrieving Companies

{
  "method": "tools/call",
  "params": {
    "name": "get_companies",
    "arguments": {
      "params": "{\"limit\": 10}"
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}

Getting Monitoring Data

{
  "method": "tools/call",
  "params": {
    "name": "get_monitoring_data",
    "arguments": {
      "params": "{\"limit\": 20, \"status\": \"Error\"}"
    }
  },
  "jsonrpc": "2.0",
  "id": 2
}

Getting User Details

{
  "method": "tools/call",
  "params": {
    "name": "get_user",
    "arguments": {
      "user_id": "12345678-1234-1234-1234-123456789abc"
    }
  },
  "jsonrpc": "2.0",
  "id": 3
}

Response Format

All tools return data in a standard format that's compatible with the Model Context Protocol. Responses will generally have this structure:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "..."
      },
      {
        "type": "json",
        "json": {...}
      }
    ]
  }
}

Common error codes:

  • -32600: Invalid Request
  • -32601: Method not found
  • -32602: Invalid params
  • -32603: Internal error

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the file for details.