A powerful Model Context Protocol (MCP) server that provides comprehensive Matter device control capabilities. This server enables AI assistants and applications to discover, commission, and control Matter-compatible smart home devices through a standardized interface. - ๐ Device Management: Commission and decommission Matter devices with automatic connection - ๐ก Device Control: Control lights,
Add this skill
npx mdskills install 0x1abin/matter-controller-mcpComprehensive Matter smart home control with excellent tool descriptions and setup documentation
A powerful Model Context Protocol (MCP) server that provides comprehensive Matter device control capabilities. This server enables AI assistants and applications to discover, commission, and control Matter-compatible smart home devices through a standardized interface.
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ MCP Client โโโโโบโ MCP Server โโโโโบโ Matter Network โ
โ (AI Assistant) โ โ (This Project) โ โ (Devices) โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
The server acts as a bridge between MCP clients and Matter devices, providing a standardized interface for device control and monitoring.
npm install -g matter-controller-mcp
git clone https://github.com/0x1abin/matter-controller-mcp.git
cd matter-controller-mcp
npm install
npm run build
npx matter-controller-mcp
# or
matter-controller-mcp
npx matter-controller-mcp sse
# or
matter-controller-mcp sse
npx matter-controller-mcp streamableHttp
# or
matter-controller-mcp streamableHttp
{
"mcpServers": {
"matter-controller": {
"command": "npx",
"args": ["-y", "matter-controller-mcp", "stdio"]
}
}
}
The server supports various environment variables for configuration:
# Matter controller configuration
export MATTER_UNIQUE_ID="your-unique-controller-id" # Controller unique identifier
export MATTER_ADMIN_FABRIC_LABEL="Your Matter Controller" # Admin fabric label
export MATTER_LOG_LEVEL="info" # Log level: debug, info, warn, error
# BLE support (optional)
export ble="true" # Enable BLE support
export ble.hci.id="0" # BLE HCI interface ID
# Server configuration
export PORT="3001" # Port for HTTP/SSE transports
get_controller_status: Get current controller statuscommission_device: Commission a new Matter deviceget_commissioned_devices: List all commissioned devicesdecommission_device: Remove a device from the networkget_device_info: Get detailed device informationcontrol_onoff_device: Turn devices on/off or togglecontrol_level_device: Control brightness/dimming (0-254)control_color_device: Control color temperature and hue/saturationread_attributes: Read device attributes from clusters (specific attributes or all)write_attributes: Write attributes to device clusters (supports batch writing)// Using manual pairing code
{
"name": "commission_device",
"arguments": {
"pairingCode": "34970112332"
}
}
// Using IP address and setup PIN
{
"name": "commission_device",
"arguments": {
"ip": "192.168.1.100",
"port": 5540,
"setupPin": 20202021
}
}
// Using BLE commissioning with WiFi credentials
{
"name": "commission_device",
"arguments": {
"ble": true,
"setupPin": 20202021,
"longDiscriminator": 3840,
"wifiSsid": "YourWiFiNetwork",
"wifiCredentials": "YourWiFiPassword"
}
}
// Turn on a light
{
"name": "control_onoff_device",
"arguments": {
"nodeId": "1234567890abcdef",
"action": "on"
}
}
// Set brightness
{
"name": "control_level_device",
"arguments": {
"nodeId": "1234567890abcdef",
"level": 128
}
}
// Set color temperature (warm/cool white)
{
"name": "control_color_device",
"arguments": {
"nodeId": "1234567890abcdef",
"colorTemperature": 250
}
}
// Set color (hue and saturation for colored lights)
{
"name": "control_color_device",
"arguments": {
"nodeId": "1234567890abcdef",
"hue": 120,
"saturation": 200
}
}
// Get device details
{
"name": "get_device_info",
"arguments": {
"nodeId": "1234567890abcdef"
}
}
// Read specific attributes
{
"name": "read_attributes",
"arguments": {
"nodeId": "1234567890abcdef",
"clusterId": 6, // OnOff cluster
"endpointId": 1,
"attributeIds": [0] // OnOff attribute
}
}
// Read all attributes in a cluster
{
"name": "read_attributes",
"arguments": {
"nodeId": "1234567890abcdef",
"clusterId": 6, // OnOff cluster
"endpointId": 1
}
}
// Write attributes (batch writing supported)
{
"name": "write_attributes",
"arguments": {
"nodeId": "1234567890abcdef",
"clusterId": 6, // OnOff cluster
"endpointId": 1,
"attributes": {
"0": true // Set OnOff attribute to true
}
}
}
npm run build # Build the project (compiles TypeScript)
npm run start # Start with stdio transport (default)
npm run start:sse # Start with SSE transport
npm run start:streamableHttp # Start with streamable HTTP transport
.js extension in import pathsWe welcome contributions! Please follow these steps:
git checkout -b feature/amazing-feature)git commit -m 'Add some amazing feature')git push origin feature/amazing-feature)Enable debug logging for troubleshooting:
export MATTER_LOG_LEVEL="debug"
This project is licensed under the MIT License - see the LICENSE file for details.
Made with โค๏ธ for the Matter and MCP communities
Install via CLI
npx mdskills install 0x1abin/matter-controller-mcpMatter Controller MCP Server is a free, open-source AI agent skill. A powerful Model Context Protocol (MCP) server that provides comprehensive Matter device control capabilities. This server enables AI assistants and applications to discover, commission, and control Matter-compatible smart home devices through a standardized interface. - ๐ Device Management: Commission and decommission Matter devices with automatic connection - ๐ก Device Control: Control lights,
Install Matter Controller MCP Server with a single command:
npx mdskills install 0x1abin/matter-controller-mcpThis downloads the skill files into your project and your AI agent picks them up automatically.
Matter Controller MCP Server works with Claude Code, Claude Desktop, Cursor, Vscode Copilot, Windsurf, Continue Dev, Gemini Cli, Amp, Roo Code, Goose. Skills use the open SKILL.md format which is compatible with any AI coding agent that reads markdown instructions.