Cumulocity MCP Server

Cumulocity MCP Server

By Cumulocity-IoT GitHub

A Python-based server that provides Cumulocity IoT platform functionality through the MCP (Model Control Protocol) interface.

Overview

What is MCP Cumulocity Server?

MCP Cumulocity Server is a Python-based server that provides functionality for the Cumulocity IoT platform through the Model Control Protocol (MCP) interface, enabling seamless interaction with device management, measurements, and alarm systems.

How to use MCP Cumulocity Server?

To use the MCP Cumulocity Server, you can install it via pip or use the recommended uv tool. After installation, run the server and configure it to interact with your Cumulocity IoT platform using Claude Desktop.

Key features of MCP Cumulocity Server?

  • Device management capabilities including listing and filtering devices.
  • Access to device measurements with time filtering.
  • Monitoring of active alarms in the system.

Use cases of MCP Cumulocity Server?

  1. Managing IoT devices effectively within the Cumulocity platform.
  2. Retrieving real-time measurements from connected devices.
  3. Monitoring and responding to system alarms for proactive management.

FAQ from MCP Cumulocity Server?

  • Can I use MCP Cumulocity Server with any Cumulocity instance?

Yes! You can configure it to work with your specific Cumulocity instance by providing the necessary credentials and URLs.

  • Is there a recommended way to install MCP Cumulocity Server?

Yes! It is recommended to use the uv tool for installation, but it can also be installed via pip.

  • How do I monitor active alarms?

You can retrieve active alarms by using the provided API endpoints to filter by severity and other parameters.

Content

Cumulocity MCP Server

A Python-based server that provides Cumulocity IoT platform functionality through the MCP (Model Control Protocol) interface. This server enables seamless interaction with Cumulocity's device management, measurements, and alarm systems.

Available Tools

Device Management

  1. Get Devices

    • List and filter devices
    • Parameters:
      • type: Filter by device type
      • name: Filter by device name
      • page_size: Results per page (max 2000)
      • current_page: Page number
  2. Get Device by ID

    • Retrieve detailed information for a specific device
    • Parameter:
      • device_id: Device identifier
  3. Get Child Devices

    • View child devices of a specific device
    • Parameter:
      • device_id: Parent device identifier
  4. Get Device Fragments

    • Access device fragments and their values
    • Parameter:
      • device_id: Device identifier

Measurements

Get Device Measurements

  • Retrieve device measurements with time filtering
  • Parameters:
    • device_id: Device identifier
    • date_from: Start date (ISO 8601 format)
    • date_to: End date (ISO 8601 format)
    • page_size: Number of measurements to retrieve

Alarms

Get Active Alarms

  • Monitor active alarms in the system
  • Parameters:
    • severity: Filter by severity level
    • page_size: Number of results to retrieve

Installation

When using uv no specific installation is needed. We will use uvx to directly run mcp-server-c8y.

Using PIP

Alternatively you can install mcp-server-c8y via pip:

pip install mcp-server-c8y

After installation, you can run it as a script using:

python -m mcp_server_c8y

Usage with Claude Desktop

This MCP Server can be used with Claude Desktop to enable Claude to interact with your Cumulocity IoT platform. Follow these steps to set it up:

  1. Download and install Claude Desktop

  2. Configure Claude Desktop to use this MCP Server:

    • Open Claude Desktop
    • Click on the Claude menu and select "Settings..."
    • Navigate to "Developer" in the left-hand bar
    • Click "Edit Config"
  3. Add the following configuration to your claude_desktop_config.json:

Using uvx
"mcpServers": {
  "c8y": {
    "command": "uvx",
    "args": ["mcp-server-c8y"],
      "env": {
        "C8Y_BASE_URL": "https://your-cumulocity-instance.com",
        "C8Y_TENANT_ID": "your-tenant-id",
        "C8Y_USERNAME": "your-username",
        "C8Y_PASSWORD": "your-password"
      }
  }
}
Using pip installation
"mcpServers": {
  "c8y": {
    "command": "python",
    "args": ["-m", "mcp_server_c8y"],
      "env": {
        "C8Y_BASE_URL": "https://your-cumulocity-instance.com",
        "C8Y_TENANT_ID": "your-tenant-id",
        "C8Y_USERNAME": "your-username",
        "C8Y_PASSWORD": "your-password"
      }
  }
}

Replace the following placeholders with your actual values:

  • https://your-cumulocity-instance.com: Your Cumulocity instance URL
  • your-tenant-id: Your Cumulocity tenant ID
  • your-username: Your Cumulocity username
  • your-password: Your Cumulocity password
  1. Restart Claude Desktop

  2. You should now see a hammer icon in the bottom right corner of the input box. Click it to see the available Cumulocity tools.

For more detailed information about using MCP Servers with Claude Desktop, visit the official MCP documentation.

Options

  • --session, -s: Specify a Cumulocity session
  • -v, --verbose: Increase verbosity (can be used multiple times)

Contributing

We welcome contributions from everyone! Here's how you can contribute to this project:

  1. Fork the repository
  2. Create a new branch for your feature or bugfix
  3. Make your changes following these best practices:
    • Write clear, descriptive commit messages
    • Follow the existing code style and conventions
    • Add tests for new features
    • Update documentation as needed
    • Ensure all tests pass
  4. Submit a pull request
No tools information available.
No content found.