Skip to main content
Glama

Nordic Thingy:52 MCP Server

by karthiksuku

๐ŸŽฎ Nordic Thingy:52 MCP Server

License: MIT Python 3.10+ MCP

Control your Nordic Thingy:52 IoT device directly from Claude Desktop using the Model Context Protocol (MCP)

Transform your Claude Desktop into an IoT control center! This MCP server enables Claude to discover, connect to, and control Nordic Thingy:52 devices via Bluetooth LE - all through natural language conversation.

Nordic Thingy


โœจ Features

  • ๐Ÿ” Auto-Discovery: Scan for nearby Thingy devices

  • ๐Ÿ”Œ Easy Connection: Connect via Bluetooth LE with a single command

  • ๐Ÿ’ก LED Control: Set RGB colors, create lighting effects

  • ๐Ÿ”Š Sound Control: Play built-in sounds and tones

  • ๐Ÿ“Š Sensor Reading: Monitor temperature, humidity, pressure, CO2, and TVOC

  • ๐Ÿค– AI Integration: Control everything through natural Claude conversations

  • ๐Ÿ”„ Real-time Updates: Instant feedback and status monitoring


๐Ÿ“‹ Prerequisites

Hardware

  • Nordic Thingy:52 device (Purchase here)

  • Computer with Bluetooth LE support

  • Battery or USB power for Thingy

Software

  • Python 3.10 or higher

  • Claude Desktop app (Download here)

  • macOS (tested) or Linux with BlueZ (Windows support via bleak)


๐Ÿš€ Quick Start

1. Installation

# Clone the repository git clone https://github.com/yourusername/mcp-server-nordic-thingy.git cd mcp-server-nordic-thingy # Create virtual environment python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate # Install dependencies pip install -r requirements.txt

2. Configure Claude Desktop

Add the server to your Claude Desktop configuration:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{ "mcpServers": { "nordic-thingy": { "command": "python3", "args": ["/absolute/path/to/mcp_server_nordic_thingy.py"] } } }

3. Restart Claude Desktop

Close and reopen Claude Desktop to load the server.

4. Start Using!

Try these prompts in Claude:

"Find my Nordic Thingy and connect to it" "Turn the Thingy LED red" "Check the temperature and air quality" "Play a beep sound"

๐Ÿ“– Documentation

Available Tools

Tool

Description

Example Prompt

thingy_scan

Discover nearby devices

"Scan for Thingy devices"

thingy_connect

Connect to a device

"Connect to XX:XX:XX:XX:XX:XX"

thingy_disconnect

Disconnect device

"Disconnect from Thingy"

thingy_set_led

Set RGB LED color

"Set LED to red"

thingy_led_off

Turn off LED

"Turn off the LED"

thingy_play_sound

Play sound (1-8)

"Play sound 3"

thingy_beep

Quick beep

"Make it beep"

thingy_get_sensors

Read all sensors

"Check all sensors"

thingy_get_status

Connection status

"Is Thingy connected?"

Sensor Data

The Thingy:52 provides:

  • ๐ŸŒก๏ธ Temperature (ยฐC)

  • ๐Ÿ’ง Humidity (%)

  • ๐Ÿ”ฝ Pressure (hPa)

  • ๐ŸŒซ๏ธ CO2 (ppm) - Air quality

  • ๐ŸŒฌ๏ธ TVOC (ppb) - Volatile organic compounds

  • ๐ŸŽจ Color sensor (RGB + Clear)


๐ŸŽฏ Example Use Cases

1. Home Office Monitor

"Monitor my office air quality. Check CO2 every 5 minutes and alert me if it's unhealthy (>1000 ppm)"

2. Smart Notifications

"When you detect motion (temperature change), flash the LED blue and beep twice"

3. Temperature Alerts

"If the temperature goes above 25ยฐC, set the LED to red and play sound 5"

4. Mood Lighting

"Create a relaxing atmosphere: set the LED to a calm blue color"

5. Meeting Room Status

"Create a meeting room indicator: - Green LED: Good air quality, room available - Yellow LED: Moderate air quality - Red LED: Poor air quality, needs ventilation"

More examples in


๐Ÿ› ๏ธ Development

Project Structure

mcp-server-nordic-thingy/ โ”œโ”€โ”€ mcp_server_nordic_thingy.py # Main MCP server โ”œโ”€โ”€ requirements.txt # Python dependencies โ”œโ”€โ”€ README.md # This file โ”œโ”€โ”€ PROMPT_GUIDE.md # Comprehensive prompt examples โ”œโ”€โ”€ CONTRIBUTING.md # Contribution guidelines โ”œโ”€โ”€ LICENSE # MIT License โ”œโ”€โ”€ examples/ # Example scripts โ”‚ โ”œโ”€โ”€ basic_control.py โ”‚ โ”œโ”€โ”€ sensor_monitor.py โ”‚ โ””โ”€โ”€ automation.py โ””โ”€โ”€ docs/ # Additional documentation โ”œโ”€โ”€ API.md # API reference โ”œโ”€โ”€ TROUBLESHOOTING.md # Common issues โ””โ”€โ”€ HARDWARE.md # Hardware details

Running Tests

# Install dev dependencies pip install -r requirements-dev.txt # Run tests pytest tests/ # Run with coverage pytest --cov=. tests/

Local Testing

Test the MCP server without Claude:

# Run server in test mode python3 mcp_server_nordic_thingy.py --test # Or use the test client python3 examples/test_client.py

๐Ÿค Contributing

We welcome contributions! Here's how you can help:

Ways to Contribute

  • ๐Ÿ› Report bugs

  • ๐Ÿ’ก Suggest features

  • ๐Ÿ“ Improve documentation

  • ๐ŸŽฏ Share useful prompts

  • ๐Ÿ”ง Submit pull requests

  • โญ Star the repo!

Getting Started

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/AmazingFeature)

  3. Commit your changes (git commit -m 'Add AmazingFeature')

  4. Push to the branch (git push origin feature/AmazingFeature)

  5. Open a Pull Request

See CONTRIBUTING.md for detailed guidelines.

Share Your Prompts!

Found a great way to use the Thingy? Share your prompts in PROMPT_GUIDE.md!


๐Ÿ› Troubleshooting

Thingy Not Found

  1. Check Power: Ensure Thingy is powered on (blue LED should pulse)

  2. Bluetooth: Enable Bluetooth on your computer

  3. Distance: Keep Thingy within 10 meters

  4. Interference: Move away from other Bluetooth devices

  5. Reset: Hold Thingy button for 5 seconds to reset

Connection Failed

# Check Bluetooth status hcitool dev # Linux system_profiler SPBluetoothDataType # macOS # Scan manually hcitool lescan # Linux # Reset Bluetooth (macOS) sudo pkill bluetoothd

Claude Can't Find Server

  1. Check claude_desktop_config.json path is correct

  2. Verify Python path: which python3

  3. Check server logs in Claude Desktop Developer Tools

  4. Restart Claude Desktop

More troubleshooting in


๐Ÿ“š Resources

Nordic Thingy:52

MCP (Model Context Protocol)

Claude Desktop


๐ŸŽ“ Learning Path

Beginners

  1. Read Quick Start

  2. Try basic prompts

  3. Explore sensor reading

Intermediate

  1. Create conditional automations

  2. Build sequences

  3. Monitor air quality

Advanced

  1. Multi-device control

  2. Database integration

  3. Web dashboard

  4. Custom tool development


๐ŸŒŸ Showcase

Community Projects

Smart Plant Monitor by @username

Automated plant care using humidity and temperature sensors

Home Lab Monitor by @username

Server room monitoring with multiple Thingys

Meeting Room Assistant by @username

Intelligent meeting room status indicator

Add your project! Submit a PR to appear here.


๐Ÿ“Š Stats

  • ๐ŸŒก๏ธ 6 environmental sensors

  • ๐Ÿ’ก 16.7 million LED colors

  • ๐Ÿ”Š 8 built-in sounds

  • โšก 30-day battery life

  • ๐Ÿ“ก 10m Bluetooth range

  • ๐Ÿ”‹ 240 mAh Li-Po battery


๐Ÿ“„ License

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

MIT License Copyright (c) 2025 Nordic Thingy MCP Contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software")...

๐Ÿ™ Acknowledgments

  • Anthropic for Claude and MCP

  • Nordic Semiconductor for the amazing Thingy:52 hardware

  • Bleak library maintainers for excellent Bluetooth LE support

  • All contributors who make this project better


๐Ÿ“ž Support


๐Ÿ—บ๏ธ Roadmap

v1.0 (Current)

  • โœ… Basic Bluetooth LE connection

  • โœ… LED control

  • โœ… Sound playback

  • โœ… Sensor reading

  • โœ… MCP integration

v1.1 (Planned)

  • ๐Ÿ”„ Continuous sensor monitoring

  • ๐Ÿ“Š Data logging

  • ๐ŸŒ Web dashboard

  • ๐Ÿ”” Smart alerts

  • ๐ŸŽจ Advanced LED effects

v2.0 (Future)

  • ๐Ÿค– ML-based anomaly detection

  • ๐Ÿ  Home Assistant integration

  • ๐Ÿ“ฑ Mobile app

  • ๐ŸŒ Multi-Thingy coordination

  • โ˜๏ธ Cloud sync

Vote on features in


๐ŸŽ‰ Getting Started in 60 Seconds

# 1. Clone git clone https://github.com/yourusername/mcp-server-nordic-thingy.git cd mcp-server-nordic-thingy # 2. Install pip install -r requirements.txt # 3. Configure Claude (edit with your path) echo '{ "mcpServers": { "nordic-thingy": { "command": "python3", "args": ["'$(pwd)'/mcp_server_nordic_thingy.py"] } } }' > ~/Library/Application\ Support/Claude/claude_desktop_config.json # 4. Restart Claude Desktop # 5. Try it! # In Claude: "Find my Thingy and turn it red"

Built with โค๏ธ by the Nordic Thingy MCP community

If you find this useful, please โญ star the repository!

โฌ† Back to top

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/karthiksuku/nordic-thingy-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server