Other Tools and Integrations Java ★ 98

thingsboard/thingsboard-mcp

ThingsBoard MCP Server, LLM'ler ve AI ajanlarının ThingsBoard IoT platformunuzla etkileşim kurması için doğal dil arayüzü sunmaktadır.

Claude Desktop config.json'a ekle

{
  "mcpServers": {
    "thingsboard-thingsboard-mcp": {
      "command": "node",
      "args": [
        "~/.mcp/thingsboard-mcp/index.js"
      ]
    }
  }
}

ThingsBoard MCP Server

License Docker Java

AI ajanlarını ThingsBoard IoT platformunuza Model Context Protocol (MCP) aracılığıyla bağlayın. Cihazları sorgulayın, varlıkları yönetin, telemetri analiz edin ve operasyonları otomatikleştirin — hepsi doğal dil ile.

Claude Desktop, Cursor, VS Code Copilot, Claude Code ve tüm MCP uyumlu istemciler ile çalışır.

Hızlı Başlangıç

ThingsBoard örneğine (Cloud, EU Cloud, self-hosted CE/PE, veya Edge) ve API anahtarına (ThingsBoard 4.3+) veya kullanıcı adı/parola bilgisine ihtiyacınız vardır.

Claude Desktop

claude_desktop_config.json dosyanıza ekleyin:

{
  "mcpServers": {
    "thingsboard": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "THINGSBOARD_URL", "-e", "THINGSBOARD_API_KEY", "thingsboard/mcp"],
      "env": {
        "THINGSBOARD_URL": "https://thingsboard.cloud",
        "THINGSBOARD_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}
Cursor

~/.cursor/mcp.json (genel) veya .cursor/mcp.json (proje) dosyasına ekleyin:

{
  "mcpServers": {
    "thingsboard": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "THINGSBOARD_URL", "-e", "THINGSBOARD_API_KEY", "thingsboard/mcp"],
      "env": {
        "THINGSBOARD_URL": "https://thingsboard.cloud",
        "THINGSBOARD_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}
VS Code Copilot

VS Code settings.json veya .vscode/mcp.json dosyasına ekleyin:

{
  "mcp": {
    "servers": {
      "thingsboard": {
        "command": "docker",
        "args": ["run", "-i", "--rm", "-e", "THINGSBOARD_URL", "-e", "THINGSBOARD_API_KEY", "thingsboard/mcp"],
        "env": {
          "THINGSBOARD_URL": "https://thingsboard.cloud",
          "THINGSBOARD_API_KEY": "YOUR_API_KEY"
        }
      }
    }
  }
}
Claude Code
claude mcp add thingsboard \
  -e THINGSBOARD_URL=https://thingsboard.cloud \
  -e THINGSBOARD_API_KEY=YOUR_API_KEY \
  -- docker run -i --rm -e THINGSBOARD_URL -e THINGSBOARD_API_KEY thingsboard/mcp
SSE Modu (HTTP tabanlı herhangi bir MCP istemci)

Sunucuyu başlatın:

docker run --rm -p 8000:8000 \
  -e THINGSBOARD_URL=https://thingsboard.cloud \
  -e THINGSBOARD_API_KEY=YOUR_API_KEY \
  -e SPRING_AI_MCP_SERVER_STDIO=false \
  -e SPRING_WEB_APPLICATION_TYPE=servlet \
  thingsboard/mcp

Ardından MCP istemcinizi http://localhost:8000/sse adresine yönlendirin.

Eski kimlik doğrulama: ThingsBoard sürümünüz 4.3'ten eski ise, THINGSBOARD_API_KEY yerine THINGSBOARD_USERNAME ve THINGSBOARD_PASSWORD kullanın.

Neler Yapabilirsiniz

Doğal dil ile soru sorun ve ThingsBoard örneğinizden yapılandırılmış sonuçlar alın:

Cihazları ve varlıkları sorgulayın Zaman serileri verilerini analiz edin
Get My Devices Analyze Data
Telemetri oluşturun ve kaydedin Anomali analizi yapın
Generate Data Analysis Result

120+ araç, 10 araç grubunda:

  • Cihazlar — oluşturma, güncelleme, silme, listeleme, ad/tür/grup ile arama
  • Varlıklar — CRUD, kiracı/müşteri tarafından listeleme, arama
  • Müşteriler — CRUD, listeleme, başlık ile arama
  • Kullanıcılar — CRUD, listeleme, yönetici/müşteri kullanıcı yönetimi
  • Alarmlar — oluşturma, onaylama, temizleme, silme, önem düzeyine göre sorgulama
  • Telemetri — öznitelikleri ve zaman serilerini okuma/yazma, toplama, TTL
  • İlişkiler — oluşturma, silme, varlık ilişkilerinde gezinme
  • OTA Paketleri — yükleme, indirme, cihazlara firmware/yazılım atama
  • Varlık Grupları (PE) — grupları yönetme, varlık atama/kaldırma
  • Varlık Verisi Sorgusu — öznitelik/telemetri filtreleri ile tüm varlık türlerinde karmaşık filtrelenmiş sorgular

Kurulum

Docker (Önerilen)

docker pull thingsboard/mcp

Docker görüntüsü iki transport modunu destekler:

  • STDIO (varsayılan) — sunucuyu alt işlem olarak başlatan istemciler için (Claude Desktop, Cursor, vb.)
  • SSE — HTTP üzerinden bağlanan istemciler için

Kullanım örnekleri için Hızlı Başlangıç bölümüne bakın.

İkili Dosyayı İndir

wget https://github.com/thingsboard/mcp-server/releases/download/v2.1.0/thingsboard-mcp-server-2.1.0.jar

Şu şekilde çalıştırın:

# STDIO modu
java -jar thingsboard-mcp-server-2.1.0.jar

# SSE modu
java -Dspring.ai.mcp.server.stdio=false -Dspring.main.web-application-type=servlet -jar thingsboard-mcp-server-2.1.0.jar
İkili istemci yapılandırması

Docker yerine JAR dosyasını kullanıyorsanız, claude_desktop_config.json dosyasında şunu kullanın:

{
  "mcpServers": {
    "thingsboard": {
      "command": "java",
      "args": ["-jar", "/absolute/path/to/thingsboard-mcp-server-2.1.0.jar"],
      "env": {
        "THINGSBOARD_URL": "https://thingsboard.cloud",
        "THINGSBOARD_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Kaynaktan Derle

Java 17+ ve Maven 3.6+ gereklidir.

git clone https://github.com/thingsboard/mcp-server.git
cd mcp-server
mvn clean install -DskipTests
java -jar target/thingsboard-mcp-server-2.1.0.jar

Yapılandırma

Ortam Değişkenleri

Değişken Açıklama Varsayılan
THINGSBOARD_URL ThingsBoard örneğinizin temel URL'si gerekli
THINGSBOARD_API_KEY Kimlik doğrulama için API anahtarı (4.3+ için önerilir)
THINGSBOARD_USERNAME Kimlik doğrulama için kullanıcı adı (eski)
THINGSBOARD_PASSWORD Kimlik doğrulama için parola (eski)
THINGSBOARD_LOGIN_INTERVAL_SECONDS Oturum yenileme aralığı 1800
HTTP_BIND_ADDRESS HTTP bağlama adresi (SSE modu) 127.0.0.1
HTTP_BIND_PORT HTTP portu (SSE modu) 8000
SPRING_AI_MCP_SERVER_STDIO STDIO transport'ını etkinleştir true
SPRING_WEB_APPLICATION_TYPE STDIO için none, SSE için servlet none
SPRING_AI_MCP_SERVER_SSE_ENDPOINT SSE endpoint yolu /sse
SPRING_AI_MCP_SERVER_SSE_MESSAGE_ENDPOINT SSE mesaj endpoint yolu /mcp/message
İleri: bağlantı ve günlükleme
Değişken Açıklama Varsayılan
THINGSBOARD_CONNECTION_MAX_RETRIES Maksimum bağlantı yeniden deneme girişimleri 3
THINGSBOARD_CONNECTION_RETRY_DELAY_SECONDS Denemeler arasındaki gecikme 5
THINGSBOARD_CONNECTION_CONNECT_TIMEOUT_SECONDS HTTP bağlantı zaman aşımı 10
THINGSBOARD_CONNECTION_READ_TIMEOUT_SECONDS HTTP okuma zaman aşımı 60
LOG_LEVEL_APP Uygulama günlük seviyesi info
LOG_LEVEL_TOOLS Araç yürütme günlük seviyesi info
LOG_LEVEL_TOOL_RESPONSE Araç yanıtı günlük seviyesi info
LOGGING_PATTERN_CONSOLE Logback konsol deseni %d{yyyy-MM-dd HH:mm:ss} | %-5level | %logger{1} | %msg%n
LOGGING_CONSOLE_TARGET Günlük çıktısı hedefi System.err

Araç Grupları

Sunucu 120+ araç ortaya koymaktadır ve bu, bazı istemcilerin context limitlerini aşabilir. İhtiyacınız olmayan grupları devre dışı bırakın:

Değişken Grup Araçlar Varsayılan
THINGSBOARD_TOOLS_EDQ Varlık Verisi Sorgusu + Kılavuzlar 40 true
THINGSBOARD_TOOLS_TELEMETRY Telemetri & Öznitelikler 11 true
THINGSBOARD_TOOLS_DEVICE Cihazlar 11 true
THINGSBOARD_TOOLS_ASSET Varlıklar 8 true
THINGSBOARD_TOOLS_ALARM Alarmlar 9 true
THINGSBOARD_TOOLS_OTA OTA Paketleri 11 true
THINGSBOARD_TOOLS_RELATION İlişkiler 8 true
THINGSBOARD_TOOLS_CUSTOMER Müşteriler 7 true
THINGSBOARD_TOOLS_USER Kullanıcılar 9 true
THINGSBOARD_TOOLS_GROUP Varlık Grupları (Sadece PE) 10 true

Örnek — sınırlı context'i olan istemciler için ~50 araça indirgeyin:

{
  "env": {
    "THINGSBOARD_TOOLS_EDQ": "false",
    "THINGSBOARD_TOOLS_OTA": "false",
    "THINGSBOARD_TOOLS_GROUP": "false",
    "THINGSBOARD_TOOLS_USER": "false"
  }
}

Mevcut Araçlar

Cihaz Araçları (11)
Araç Açıklama
createOrUpsertDevice Bir cihazı ad ile oluşturun veya güncelleyin. Çoğu cihaz görevi için birincil araç.
saveDevice Cihaz nesnesini ham JSON'dan oluşturun veya güncelleyin. İleri seviye araç.
deleteDevice Cihazı id ile silin.
getDeviceById Sağlanan Cihaz Id'sine göre Cihaz nesnesini getirin.
getDeviceCredentialsByDeviceId Cihaz kimlik bilgilerini cihaz id'sine göre alın.
getTenantDevices Kiracıya ait cihazların sayfasını döndürür.
getTenantDevice Kiracı cihazını ada göre alın.
getCustomerDevices Müşteriye atanmış cihazların sayfasını döndürür.
getUserDevices (PE) Geçerli kullanıcı için mevcut cihazların sayfasını döndürür.
getDevicesByIds Cihazları id'lerine göre alın.
getDevicesByEntityGroupId (PE) Belirtilen varlık grubundaki cihazların sayfasını döndürür.
Varlık Araçları (8)
Araç Açıklama
saveAsset Varlık nesnesini oluşturun veya güncelleyin.
deleteAsset Varlığı id ile silin.
getAssetById Varlık nesnesini id ile alın.
getTenantAssets Kiracıya ait varlıkların sayfasını döndürür.
getTenantAsset Kiracı varlığını ada göre alın.
getCustomerAssets Müşteriye atanmış varlıkların sayfasını döndürür.
getUserAssets (PE) Geçerli kullanıcı için mevcut varlıkların sayfasını döndürür.
getAssetsByEntityGroupId (PE) Belirtilen varlık grubundaki varlıkların sayfasını döndürür.
Müşteri Araçları (7)
Araç Açıklama
saveCustomer Müşteri nesnesini oluşturun veya güncelleyin.
deleteCustomer Müşteriyi id ile silin.
getCustomerById Müşteri nesnesini id ile alın.
getCustomers Kiracıya ait müşterilerin sayfasını döndürür.
getTenantCustomer Müşteriyi başlığa göre alın.
getUserCustomers (PE) Kullanıcı için mevcut müşterilerin sayfasını döndürür.
getCustomersByEntityGroupId (PE) Belirtilen varlık grubundaki müşterilerin sayfasını döndürür.
Kullanıcı Araçları (9)
Araç Açıklama
saveUser Kullanıcı nesnesini oluşturun veya güncelleyin.
deleteUser Kullanıcıyı id ile silin.
getUserById Kullanıcı nesnesini id'ye göre getirin.
getUsers Kiracıya veya müşteriye ait kullanıcıların sayfasını döndürür.
getTenantAdmins Kiracı yönetici kullanıcılarının sayfasını döndürür.
getCustomerUsers Müşteriye atanmış kullanıcıların sayfasını döndürür.
getAllCustomerUsers (PE) Geçerli kiracı için tüm müşteri kullanıcılarının sayfasını döndürür.
getUsersForAssign Alarmaya atanabilecek kullanıcıları döndürür.
getUsersByEntityGroupId (PE) Belirtilen varlık grubundaki kullanıcıların sayfasını döndürür.
Alarm Araçları (9)
Araç Açıklama
saveAlarm Alarm nesnesini oluşturun veya güncelleyin.
deleteAlarm Alarmı id ile silin.
ackAlarm Alarmı onaylayın.
clearAlarm Alarmı temizleyin.
getAlarmInfoById Alarm bilgisini id ile alın (originator adını içerir).
getAlarms Seçilen varlık için alarmların sayfasını alın.
getAllAlarms Geçerli kullanıcı sahibi için alarmların sayfasını alın.
getHighestAlarmSeverity Originator tarafından en yüksek alarm önem düzeyini alın.
getAlarmTypes Benzersiz alarm türlerini alın.
OTA Araçları (11)
Araç Açıklama
saveOtaPackageInfo OTA paketi bilgisini oluşturun veya güncelleyin.
saveOtaPackageData OTA paketi ikilisini bir dosya yolundan yükleyin.
downloadOtaPackage OTA paketi ikilisini yerel bir dosya yoluna indirin.
getOtaPackageInfoById OTA paketi bilgisini id ile alın.
getOtaPackageById OTA paketini id ile alın.
getOtaPackages OTA paketlerini alın (sayfalanmış).
getOtaPackagesByDeviceProfile OTA paketlerini cihaz profili ve türe göre alın.
assignOtaPackageToDevice OTA paketini bir cihaza atayın veya temizleyin.
assignOtaPackageToDeviceProfile OTA paketini bir cihaz profiline atayın veya temizleyin.
countByDeviceProfileAndEmptyOtaPackage Atanmış OTA paketi olmayan cihazları sayın.
deleteOtaPackage OTA paketini id ile silin.
İlişki Araçları (8)
Araç Açıklama
saveRelation İlişki oluşturun veya güncelleyin.
deleteRelation İki varlık arasındaki ilişkiyi silin.
deleteRelations Bir varlık için tüm ilişkileri silin.
getRelation İki varlık arasındaki ilişkiyi alın.
findInfoByFrom Bir varlıktan gelen ilişkileri bulun (varlık adlarını içerir).
findByFromWithRelationType Bir varlıktan gelen ilişkileri tür ile filtreleyerek bulun.
findInfoByTo Bir varlığa gelen ilişkileri bulun (varlık adlarını içerir).
findByToWithRelationType Bir varlığa gelen ilişkileri tür ile filtreleyerek bulun.
Telemetri Araçları (11)
Araç Açıklama
getAttributeKeys Bir varlık için tüm öznitelik anahtarlarını alın.
getAttributeKeysByScope Öznitelik anahtarlarını kapsama göre alın.
getAttributes Bir varlık için öznitelikleri alın.
getAttributesByScope Öznitelikleri kapsama göre alın.
getTimeseriesKeys Bir varlık için tüm zaman serisi anahtarlarını alın.
getLatestTimeseries Son zaman serisi değerlerini alın.
getTimeseries Bir zaman aralığı için zaman serisi verilerini alın.
saveDeviceAttributes Cihaz özniteliklerini kaydedin.
saveEntityAttributesV2 Varlık özniteliklerini kaydedin.
saveEntityTelemetry Varlık telemetri verilerini kaydedin.
saveEntityTelemetryWithTTL TTL ile varlık telemetri verilerini kaydedin.
Varlık Grubu Araçları — Sadece PE (10)
Araç Açıklama
saveEntityGroup Varlık grubu oluşturun veya güncelleyin.
deleteEntityGroup Varlık grubunu id ile silin.
getEntityGroupById Varlık grubunu id ile alın.
getEntityGroupsByType Varlık gruplarını varlık türüne göre alın.
getEntityGroupByOwnerAndNameAndType Varlık grubunu sahibi, tür ve ada göre alın.
getEntityGroupsByOwnerAndType Varlık gruplarını sahibi ve türe göre alın.
getEntityGroupsForEntity Belirtilen varlığı içeren grupları alın.
getEntityGroupsByIds Varlık gruplarını id'lerine göre alın.
addEntitiesToEntityGroup Varlıkları bir gruba ekleyin.
removeEntitiesFromEntityGroup Varlıkları bir gruptan çıkarın.
Varlık Verisi Sorgu Araçları (19)

Tüm varlık türlerinde karmaşık filtrelenmiş sorgular. Varlık alanları, öznitelikler ve anahtar filtreleri ile en son telemetri destekler.

Araç Açıklama
findEntityDataBySingleEntityFilter Bir varlık için id ile veri bulun.
findEntityDataByEntityGroupFilter (PE) Varlık grubu ile veri bulun.
findEntityDataByEntityListFilter Varlık id'lerinin bir listesi için veri bulun.
findEntityDataByEntityNameFilter Ad ön eki ile veri bulun.
findEntityDataByEntityTypeFilter Varlık türü ile veri bulun.
findEntityDataByEntityGroupListFilter (PE) Birden fazla grup için veri bulun.
findEntityDataByEntityGroupNameFilter (PE) Grupları ad ön eki ile veri bulun.
findEntityDataByEntitiesGroupNameFilter (PE) Adlandırılmış bir grupta varlıklar için veri bulun.
findEntityDataByStateEntityOwnerFilter Varlık sahibi için veri bulun.
findEntityDataByAssetTypeFilter Varlıkları tür ile bulun.
findEntityDataByDeviceTypeFilter Cihazları tür ile bulun.
findEntityDataByEdgeTypeFilter Edge'leri tür ile bulun.
findEntityDataByEntityViewTypeFilter Varlık görünümlerini tür ile bulun.
findEntityDataByRelationsQueryFilter İlişkili varlıkları bulun.
findEntityDataByAssetSearchQueryFilter İlişkili varlıkları bulun.
findEntityDataByDeviceSearchQueryFilter İlişkili cihazları bulun.
findEntityDataByEntityViewSearchQueryFilter İlişkili varlık görünümlerini bulun.
findEntityDataByApiUsageStateFilter API kullanım verilerini bulun.
findEntityDataByEdgeQueryFilter İlişkili edge'leri bulun.
Varlık Sayma Sorgu Araçları (18)

Filtrelere uygun varlıkları sayın. Varlık Verisi Sorgusu ile aynı filtre türleri.

Araç Açıklama
countBySingleEntityFilter Tek varlık id'ye göre sayın.
countByEntityGroupFilter (PE) Varlık grubuna göre sayın.
countByEntityListFilter Varlık id'leri listesine göre sayın.
countByEntityNameFilter Ad ön ekine göre sayın.
countByEntityTypeFilter Varlık türüne göre sayın.
countByEntityGroupListFilter (PE) Birden fazla gruba göre sayın.
countByEntityGroupNameFilter (PE) Grup adı ön ekine göre sayın.
countByEntitiesGroupNameFilter (PE) Adlandırılmış bir gruptaki varlıkları sayın.
countByAssetTypeFilter Varlıkları türe göre sayın.
countByDeviceTypeFilter Cihazları türe göre sayın.
countByEdgeTypeFilter Edge'leri türe göre sayın.
countByEntityViewTypeFilter Varlık görünümlerini türe göre sayın.
countByApiUsageStateFilter API kullanım satırlarını sayın.
countByRelationsQueryFilter İlişkili varlıkları sayın.
countByAssetSearchQueryFilter İlişkili varlıkları sayın.
countByDeviceSearchQueryFilter İlişkili cihazları sayın.
countByEntityViewSearchQueryFilter İlişkili varlık gör

Benzer MCP sunucuları

Daha fazla: Other Tools and Integrations →