Interact with the aedifion cloud platform for building performance optimization.
mcp-server-aedifion
An MCP (Model Context Protocol) server that provides tools for interacting with the aedifion cloud API. This server enables AI assistants (Claude, etc.) to manage building IoT data, analytics, controls, and more through the aedifion platform.
What is aedifion?
aedifion provides a cloud platform for building performance optimization. Their API offers access to:
- Building IoT data — datapoints, timeseries, setpoints
- Analytics — automated analysis functions, KPI tracking, energy efficiency monitoring
- Controls — remote building control apps
- Project management — components, tags, labels, logbooks, tasks, alerts
- Weather data — current conditions and forecasts for building locations
API documentation: https://api.cloud.aedifion.eu/ui/
Installation
Using `uv` (recommended)
uv pip install git+https://github.com/tookta/mcp-server-aedifion.git
Using `pip`
pip install git+https://github.com/tookta/mcp-server-aedifion.git
From source
git clone https://github.com/tookta/mcp-server-aedifion.git
cd mcp-server-aedifion
uv pip install -e .
Configuration
Environment variables
The server requires aedifion API credentials. Create a .env file in your working directory (see .env.example):
cp .env.example .env
# Edit .env with your credentials
| Variable | Required | Default | Description |
|---|---|---|---|
AEDIFION_USERNAME |
Yes* | — | Your aedifion account email |
AEDIFION_PASSWORD |
Yes* | — | Your aedifion account password |
AEDIFION_TOKEN |
No | — | Pre-obtained bearer token (alternative to username/password) |
AEDIFION_BASE_URL |
No | https://api.cloud.aedifion.eu |
API base URL |
* Required unless AEDIFION_TOKEN is set.
Claude Desktop
Add the server to your Claude Desktop configuration (claude_desktop_config.json):
{
"mcpServers": {
"aedifion": {
"command": "mcp-server-aedifion",
"env": {
"AEDIFION_USERNAME": "your-email@example.com",
"AEDIFION_PASSWORD": "your-password"
}
}
}
}
Or if running from source with uv:
{
"mcpServers": {
"aedifion": {
"command": "uv",
"args": [
"--directory", "/path/to/mcp-server-aedifion",
"run", "mcp-server-aedifion"
],
"env": {
"AEDIFION_USERNAME": "your-email@example.com",
"AEDIFION_PASSWORD": "your-password"
}
}
}
}
Claude Code
Add the server to your Claude Code settings:
claude mcp add aedifion -- mcp-server-aedifion
Or with environment variables:
claude mcp add aedifion --env AEDIFION_USERNAME=your-email --env AEDIFION_PASSWORD=your-password -- mcp-server-aedifion
Available tools
The server exposes 95+ tools organized by category, covering all major areas of the aedifion API.
Meta
| Tool | Description |
|---|---|
ping |
Check API server availability |
get_api_version |
Get the aedifion API version |
get_endpoints |
List all available API endpoints |
get_label_definitions |
Get all label definitions |
get_label_systems |
Get available unit/label systems (SI, imperial, etc.) |
User
| Tool | Description |
|---|---|
get_user |
Get current user details |
update_user |
Update user profile (first name, last name) |
get_user_permissions |
Get user's project permissions |
get_user_roles |
Get user's assigned roles |
AI assistant
| Tool | Description |
|---|---|
ai_get_threads |
List AI conversation threads |
ai_get_thread |
Get messages in a thread |
ai_chat |
Send a message to the aedifion AI assistant |
ai_delete_thread |
Delete a conversation thread |
Company
| Tool | Description |
|---|---|
get_company |
Get company details with projects and users |
update_company |
Update company name/description |
get_company_roles |
List company roles |
get_company_permissions |
List company project permissions |
get_company_labels |
List company labels |
create_project |
Create a new project |
create_user |
Create a new user |
get_company_user |
Get user details |
delete_company_user |
Delete a user |
Realm
| Tool | Description |
|---|---|
get_realm_companies |
List all companies in the realm |
get_realm_projects |
List all projects in the realm |
get_realm_users |
List all users in the realm |
Project
| Tool | Description |
|---|---|
get_project |
Get project details |
update_project |
Update project name/description |
delete_project |
Delete a project (requires name confirmation) |
get_project_datapoints |
List datapoints with optional filtering |
get_project_timeseries |
Get timeseries data for multiple datapoints |
write_project_timeseries |
Write timeseries data |
| `delete_p |
Tools (7)
pingCheck API server availabilityget_api_versionGet the aedifion API versionget_endpointsList all available API endpointsget_userGet current user detailsai_chatSend a message to the aedifion AI assistantget_project_datapointsList datapoints with optional filteringget_project_timeseriesGet timeseries data for multiple datapointsEnvironment Variables
AEDIFION_USERNAMErequiredYour aedifion account emailAEDIFION_PASSWORDrequiredYour aedifion account passwordAEDIFION_TOKENPre-obtained bearer tokenAEDIFION_BASE_URLAPI base URLConfiguration
{"mcpServers": {"aedifion": {"command": "mcp-server-aedifion", "env": {"AEDIFION_USERNAME": "your-email@example.com", "AEDIFION_PASSWORD": "your-password"}}}}