A Python-based MCP server for Cumulocity IoT platform integration
Project description
MCP Cumulocity 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
-
Get Devices
- List and filter devices
- Parameters:
type: Filter by device typename: Filter by device namepage_size: Results per page (max 2000)current_page: Page number
-
Get Device by ID
- Retrieve detailed information for a specific device
- Parameter:
device_id: Device identifier
-
Get Child Devices
- View child devices of a specific device
- Parameter:
device_id: Parent device identifier
-
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 identifierdate_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 levelpage_size: Number of results to retrieve
Installation
Using uv (recommended)
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
Configuration
Create a .env file in the project root with the following variables:
C8Y_BASE_URL=<your-cumulocity-base-url>
C8Y_TENANT_ID=<your-tenant-id>
C8Y_USERNAME=<your-username>
C8Y_PASSWORD=<your-password>
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:
-
Download and install Claude Desktop
-
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"
-
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 URLyour-tenant-id: Your Cumulocity tenant IDyour-username: Your Cumulocity usernameyour-password: Your Cumulocity password
-
Restart Claude Desktop
-
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:
- Fork the repository
- Create a new branch for your feature or bugfix
- 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
- Submit a pull request
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_server_c8y-0.1.0.tar.gz.
File metadata
- Download URL: mcp_server_c8y-0.1.0.tar.gz
- Upload date:
- Size: 12.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a2e650df02ff4d69d159927b8fb2fb3aa2551c77a6bdbd76a81c8185a31c313
|
|
| MD5 |
28d59eef453d6678e7f72d38e4797ab6
|
|
| BLAKE2b-256 |
74ad81a866016121072df9a5b8dd47384f352ea654c94db5dac5cad4e3dc61ee
|
File details
Details for the file mcp_server_c8y-0.1.0-py3-none-any.whl.
File metadata
- Download URL: mcp_server_c8y-0.1.0-py3-none-any.whl
- Upload date:
- Size: 13.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed2cd2813883447a1562e15215c9074fce3d978c31c7bb227423c7a6547b17d6
|
|
| MD5 |
b8504a91533f03c9a298e258c072ca08
|
|
| BLAKE2b-256 |
5b7286906696e45bd7bb9626bed9b760da7fffaba2b21ffb3f6cd00cfcd13c84
|