myUplink MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@myUplink MCP Servershow me the outdoor temperature from my heat pump"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
myUplink MCP Server
A Model Context Protocol (MCP) server that connects Claude (or any MCP client) to your NIBE myUplink heat-pump account.
Features
Tool | What it does |
| Generate the OAuth2 login URL |
| Trade a one-time code for access + refresh tokens |
| Server-to-server auth (no browser required) |
| List all heat-pump systems in the account |
| Detail view of a single system |
| Firmware version, connection state, serial number |
| Read any/all sensor & setting values |
| Write new values (requires Premium + WRITESYSTEM scope) |
| Quick view of the most useful readings |
| Active alarms / notifications |
| Smart-home climate zones |
Related MCP server: Strava MCP Server
Prerequisites
Node.js 18+
A myUplink account with at least one connected device
An OAuth2 application created at https://dev.myuplink.com/apps
Setup
git clone <this-repo>
cd myuplink-mcp
npm install
cp .env.example .env
# Edit .env – add your CLIENT_ID and CLIENT_SECRET
npm run buildRunning the server
npm start
# or during development:
npm run devClaude Desktop integration
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"myuplink": {
"command": "node",
"args": ["/absolute/path/to/myuplink-mcp/dist/index.js"],
"env": {
"MYUPLINK_CLIENT_ID": "your_client_id",
"MYUPLINK_CLIENT_SECRET": "your_client_secret",
"MYUPLINK_REFRESH_TOKEN": "optional_saved_refresh_token"
}
}
}
}First-time authentication (Authorization Code flow)
Call
get_authorization_url→ open the URL in a browserLog in and approve the scopes
Copy the
code=…value from the redirect URLCall
exchange_auth_codewith that codeFrom now on the server auto-refreshes tokens using the refresh token
No-browser alternative (Client Credentials)
If your myUplink application supports it, call authenticate_client_credentials – no browser needed, but only your own account data is accessible.
Common myUplink parameter IDs
Parameter | Description |
40004 | Outdoor temperature (BT1) |
40033 | Room temperature (BT50) |
40013 | Hot water top (BT7) |
43005 | Degree minutes |
43009 | Calculated flow temperature |
44270 | Compressor hours (heating) |
49994 | Priority (off / heating / hot water) |
Find more by calling get_device_points without a filter.
Scopes
Scope | Access |
| Read sensor data and settings |
| Change settings (requires Premium subscription) |
| Receive a refresh token for long-lived sessions |
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP server with managed OAuth for 15+ toolkits: Google Workspace, Fitbit, Oura, Kalshi, etc.
OAuth MCP for Google, Meta, X and LinkedIn Ads, Search Console, GA4 and GoHighLevel.
MCP server for Nylas — read email, calendars, events and contacts, and send email or create events.
Remote MCP server for training, nutrition, wellness, and performance data with OAuth 2.0.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceConnects to Garmin Connect and exposes fitness and health data (activities, steps, heart rate, sleep, body composition) to MCP-compatible clients like Claude.MIT
- FlicenseBqualityDmaintenanceConnects Claude or any MCP client to the Strava API v3, enabling access to fitness data such as activities, athletes, clubs, segments, routes, and streams.37-
- FlicenseNot gradedqualityDmaintenanceEnables Claude.ai to connect to a Hermes MCP server via OAuth 2.1 authorization code flow with PKCE, acting as a reverse proxy and single-user authorization gateway.-
- AlicenseNot gradedqualityBmaintenanceActs as a secure OAuth 2.0/2.1 proxy gateway for MCP servers, enabling integration with Claude and ChatGPT platforms.19 npmMIT