Proxus, AI asistanlarının ve otonom ajanların IIoT platformunuzla doğal dil aracılığıyla etkileşime girmesini sağlayan bir Model Bağlam Protokolü (MCP) sunucusu içerir. Telemetri verilerini sorgulayın, cihazları yönetin ve iş akışlarını otomatikleştirin—hepsi konuşmaya dayalı yapay zeka aracılığıyla.
Hızlı Başlangıç
AI ajanınızı yapılandırın
Proxus MCP sunucusunu ajan yapılandırmanıza ekleyin (aşağıdaki Ajan Konfigürasyonu bölümüne bakın).
Uç Nokta:
http://your-proxus-server:8080/mcpKimlik Doğrulama
auth_loginaracını kullanın:auth_login(userName: "Admin", password: "your-password")Token 25 dakika boyunca önbelleğe alınır.
Sorgulamaya Başlayın
schema_overview() # Platformu anlayın telemetry_devices(hours=24) # Aktif cihazları listeleyin telemetry_latest(count=10) # Son sensör verilerini alın
Mevcut Araçlar
Proxus MCP, dört kategoride düzenlenmiş 12 araç sağlar:
Kimlik Doğrulama Araçları
| Araç | Açıklama |
|---|---|
auth_login | Kullanıcı adı/şifre ile giriş yapın, JWT token'ı önbelleğe alın (25 dk) |
auth_logout | Bir kullanıcı için önbelleğe alınmış token'ı temizleyin |
auth_whoami | Aktif oturumları ve token durumunu gösterin |
Telemetri Araçları (ClickHouse)
ClickHouse'ta (DeviceRawData) saklanan zaman serisi sensör verilerine doğrudan erişim.
| Araç | Açıklama | Parametreler |
|---|---|---|
telemetry_query | Özel SQL SELECT sorgusu çalıştırın | query, maxRows=1000 |
telemetry_latest | En son kayıtları alın | count=10, deviceName?, key? |
telemetry_stats | Toplu istatistikler (sayı, min, maks, ort) | hours=24, deviceName?, key? |
telemetry_devices | Son telemetriye sahip cihazları listeleyin | hours=24 |
telemetry_keys | Mevcut metrikleri/etiketleri listeleyin | deviceName?, hours=24 |
Telemetri Şeması (DeviceRawData):
| Sütun | Tip | Açıklama |
|---|---|---|
| Time | DateTime64(3) | Milisaniye hassasiyetli zaman damgası |
| DeviceId | UInt32 | Cihaz tanımlayıcısı |
| DeviceName | String | Cihaz adı |
| Key | String | Etiket/metrik adı (örn. Sıcaklık, Basınç) |
| DataType | Enum | Bool, Short, Int, Float, Double, String, DateTime |
| NumericValue | Float64 | Sayısal değer |
| StringValue | String | Dize değeri |
Şema Araçları
Mevcut verileri keşfedin ve platform yapısını anlayın.
| Araç | Açıklama |
|---|---|
schema_overview | Veri kaynakları ve iş akışı rehberi ile platforma genel bakış |
schema_entities | OData varlıklarını listeleyin (Device, Tag, Rule, Function, Alarm, vb.) |
schema_telemetry | Örnek sorgularla ClickHouse DeviceRawData tablosu şeması |
OData Aracı
| Araç | Açıklama |
|---|---|
odata_request | Varlık CRUD işlemleri için OData API isteklerini yürütün |
Parametreler: method, path veya endpoint, body?, baseUrl?, userName?/username?, password?
Örnek:
{
"method": "GET",
"path": "Device?$top=10&$filter=Connected eq true"
}Ajan Konfigürasyonu
OpenAI Codex CLI
~/.codex/config.toml dosyasına ekleyin:
[mcp_servers.proxus]
url = "http://localhost:8080/mcp"Codex'te Kullanım:
› connect to proxus mcp server
› Admin password empty
• Called proxus.auth_login({"userName":"Admin","password":""})
• Connected. Token valid for 25 minutes.
› analyze telemetry data for the last 24 hours
• Called proxus.telemetry_devices({"hours":24})
• Called proxus.telemetry_stats({"hours":24})Gemini CLI
~/.gemini/settings.json dosyasına ekleyin:
{
"mcpServers": {
"proxus": {
"httpUrl": "http://localhost:8080/mcp"
}
}
}Gemini'de Kullanım:
gemini "analyze recent telemetry data"Gemini CLI, konfigürasyon için ~/.gemini/settings.json dosyasını kullanır. Sunucuyu ekledikten sonra, tüm Gemini destekli araçlar için kullanılabilir olacaktır.
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) veya %APPDATA%\Claude\claude_desktop_config.json (Windows) dosyasına ekleyin:
{
"mcpServers": {
"proxus": {
"command": "npx",
"args": ["-y", "mcp-remote", "http://your-proxus-server:8080/mcp", "--transport", "sse-only"]
}
}
}Cursor IDE
Projenizdeki .cursor/mcp.json dosyasına ekleyin:
{
"mcpServers": {
"proxus": {
"url": "http://localhost:8080/mcp"
}
}
}Windsurf / Codeium
MCP konfigürasyonuna ekleyin:
{
"servers": {
"proxus": {
"type": "http",
"url": "http://localhost:8080/mcp"
}
}
}Özel Python Ajanı
from mcp import ClientSession
from mcp.client.http import HttpClient
async def query_proxus():
async with HttpClient("http://localhost:8080/mcp") as client:
session = ClientSession(client)
await session.initialize()
# Login
result = await session.call_tool("auth_login", {
"userName": "Admin",
"password": ""
})
# Get device telemetry
devices = await session.call_tool("telemetry_devices", {
"hours": 24
})
print(devices)Yaygın İş Akışları
Cihaz Durum Raporu
1. auth_login(userName, password)
2. odata_request(GET, api/odata/Device?$filter=Enabled eq true)
3. telemetry_devices(hours=1) # Hangi cihazlarda son veriler var?Telemetri Analizi
1. telemetry_keys(hours=168) # Hangi metrikler mevcut?
2. telemetry_stats(hours=168, key="Temperature")
3. telemetry_query("SELECT toStartOfHour(Time) as Hour, avg(NumericValue)
FROM DeviceRawData
WHERE Key='Temperature'
GROUP BY Hour
ORDER BY Hour")Cihaz Sorun Giderme
1. schema_entities() # Veri modelini anlayın
2. odata_request(GET, api/odata/Device?$filter=DeviceName eq 'PLC_01')
3. telemetry_latest(deviceName="PLC_01", count=50)
4. telemetry_stats(hours=24, deviceName="PLC_01")Güvenlik Konfigürasyonu
Proxus-config.toml içindeki MCP ayarları. Detaylar için Konfigürasyon Referansına bakın.
[MCP]
Enabled = true # MCP sunucusunu etkinleştir/devre dışı bırak
AllowedMethods = "GET,POST,PATCH,PUT" # İzin verilen HTTP metotları
BlockDelete = true # DELETE işlemlerini engelle
AdminOnly = false # Sadece yönetici kullanıcılara kısıtla
RateLimitEnabled = true # Hız sınırlamayı etkinleştir
RateLimitRequestsPerMinute = 60 # Kullanıcı başına dakika başına istek
AuditLogging = true # Tüm MCP işlemlerini logla
IPWhitelist = [] # IP kısıtlaması (boş = herkese izin ver)
MaxConcurrentSessionsPerUser = 0 # 0 = sınırsız
AlertOnSuspiciousActivity = false # Şüpheli girişimleri loglaÜretim Önerileri
Salt Okunur Mod (Maksimum Güvenlik):
[MCP]
Enabled = true
AllowedMethods = "GET"
AdminOnly = true
RateLimitRequestsPerMinute = 30
IPWhitelist = ["10.0.0.0/8", "192.168.0.0/16"]Standart Mod (Kontrollü Yazma):
[MCP]
Enabled = true
AllowedMethods = "GET,POST,PATCH"
BlockDelete = true
RateLimitRequestsPerMinute = 60
AuditLogging = trueSorun Giderme
Bağlantı Başarısız
- Sunucunun çalıştığını kontrol edin:
curl http://localhost:8080/healthz Proxus-config.tomldosyasında MCP'nin etkinleştirildiğini doğrulayın- Güvenlik duvarının 8080 portuna izin verdiğini kontrol edin
401 Yetkisiz
- Geçerli kimlik bilgileriyle önce
auth_loginçağırın - Token süresi 25 dakika sonra dolar—gerekirse yeniden kimlik doğrulayın
- Yönetici olmayan hesap kullanıyorsanız
AdminOnlyayarını kontrol edin
Hız Sınırı Aşıldı
Konfigürasyonda sınırı artırın:
[MCP]
RateLimitRequestsPerMinute = 120Araç Bulunamadı
Doğru araç adlarını kullandığınızdan emin olun:
- Telemetri:
telemetry_query,telemetry_latest,telemetry_stats,telemetry_devices,telemetry_keys - Şema:
schema_overview,schema_entities,schema_telemetry - OData:
odata_request - Kimlik Doğrulama:
auth_login,auth_logout,auth_whoami
API Referansı
Uç Nokta
POST http://your-server:8080/mcp
Content-Type: application/json
Accept: text/event-stream, application/jsonBaşlatma İsteği
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2024-11-05",
"clientInfo": {"name": "my-agent", "version": "1.0"},
"capabilities": {}
}
}Araç Çağrı İsteği
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "telemetry_latest",
"arguments": {"count": 10}
}
}İlgili Kaynaklar
- REST API Referansı — Tam OData API dokümantasyonu
- Güvenlik Konfigürasyonu — Platform güvenlik ayarları
- Denetim Logları — Denetim izlerini görüntüleme ve yönetme