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, operasyonel yapıyı keşfedin ve yönetilen OData erişimini konuşmaya dayalı yapay zeka ile kullanın.

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")25 dakikalık bir oturum oluşturulur.
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İstemci destekliyorsa resource ve prompt kullanın
resources/read("proxus://schema/overview") prompts/get("proxus_read_entity")
Kimlik doğrulaması gerektiren araçlar, istemci araç listesinde görünmeye devam edebilir. Erişim kontrolü araç çağrısı anında uygulanır. İstemci kimlik doğrulamamışsa Proxus ham backend hataları yerine yapılandırılmış auth_required veya auth_expired yanıtı döndürür.
MCP Capability'leri
Proxus şu anda dört MCP capability grubunu yayınlar:
| Capability | Sağladığı şey |
|---|---|
tools | Kimlik doğrulama, telemetri sorguları, şema keşfi ve yönetilen OData erişimi gibi eylem odaklı işlemler |
resources | URI ile listelenebilen ve okunabilen yeniden kullanılabilir şema dokümanları |
prompts | Okuma, yazma ve telemetri analizi için tekrar kullanılabilir operasyon akışları |
completions | Desteklenen araç ve prompt parametreleri için allowed-values completion desteği |
Mevcut Araçlar
Proxus MCP, dört kategoride düzenlenmiş 15 araç sağlar:
Kimlik Doğrulama Araçları
| Araç | Açıklama |
|---|---|
auth_login | Kullanıcı adı/şifre ile giriş yapın ve MCP oturumu oluşturun (25 dk) |
auth_logout | Aktif MCP oturumunu sonlandırın |
auth_whoami | Aktif oturumları ve mevcut oturum 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 | Canonical OData entity set'lerini ve Alarm -> Alert, Tag -> DeviceProfileRegister, Dashboard -> DashboardData gibi yaygın alias'ları listeleyin |
schema_telemetry | Örnek sorgularla ClickHouse DeviceRawData tablosu şeması |
schema_templates | Seçilen varlıklar için oluşturma şablonları döndürür |
schema_protocols | Protokol metadata'sı, bağlantı parametreleri ve tag formatlarını döndürür |
schema_odata_metadata | Canonical OData entity set, property, key, alias ve navigation path özetini döndürür |
OData Aracı
| Araç | Açıklama |
|---|---|
odata_request | Çağrı anında auth enforcement ile yönetilen OData API okuma/yazma akışlarını yürütün |
Parametreler: method, path veya endpoint, body?, baseUrl?, sessionId?, userName?/username?, password?
Örnek:
{
"method": "GET",
"path": "Device?$top=10&$filter=IsOnline eq true"
} Auth davranışı:
odata_request, bazı MCP istemcilerinde ilk discovery sırasında araç snapshot alındığı için login öncesi de görünür olabilir.- Anonim çağrılar, istenen veri kimlik doğrulama gerektiriyorsa yapılandırılmış
auth_requireddöndürür. auth_loginsonrasında aynı istemci oturumu çoğu durumda erişimi otomatik yeniden kullanabilir.sessionId, uyumluluk amaçlı fallback olarak kalır.- Yetkilendirme platform rolleri tarafından yönetilir. Politikaya bağlı olarak yanıtlar tam veri, filtrelenmiş veri veya alan bazlı redaction içerebilir.
Entity ve alan yönlendirmesi:
- Mümkün olduğunda canonical entity set adlarını kullanın:
Alert,DeviceProfileRegisterveDashboardData. - Geriye dönük uyumluluk için
Alarm,TagveDashboardgibi alias'lar da kabul edilir. - Canlı cihaz bağlantısı için
IsOnlineveyaCurrentStatusalanlarını tercih edin. Connectedalanını birincil canlı durum sinyali değil, legacy persisted alan olarak değerlendirin.
Mevcut Resource'lar
resources/list, resources/templates/list ve resources/read çağrılarını yapan istemciler aşağıdaki şema resource'larını doğrudan kullanabilir.
Doğrudan Resource'lar
| URI | Açıklama |
|---|---|
proxus://schema/overview | Platform özeti, iş akışı ve üst düzey capability özeti |
proxus://schema/entities | Device, Alert, DeviceProfileRegister, Rule, Function, Integration, DashboardData ve Log gibi canonical set'ler ile yaygın alias'lar için OData varlık kataloğu |
proxus://schema/telemetry | ClickHouse telemetri şeması ve örnek sorgu rehberi |
Resource Template'leri
| URI Template | Açıklama |
|---|---|
proxus://schema/templates/{entityName} | Device, Tag veya DeviceProfile gibi seçili bir varlık için oluşturma şablonu |
proxus://schema/protocols/{protocol} | Modbus_Tcp, OpcUa veya SiemensS7_1200 gibi protokoller için tanım dokümanı |
Mevcut Prompt'lar
prompts/list ve prompts/get destekleyen istemciler, kendi MCP çalışma planlarını sıfırdan üretmek zorunda kalmadan bu akışları kullanabilir.
| Prompt | Amaç |
|---|---|
proxus_read_entity | Seçilen bir varlığı schema-first yaklaşımıyla güvenli biçimde inceleme akışı |
proxus_write_change | Mevcut durumu okuyan, minimal değişikliği uygulayan ve sonucu doğrulayan kontrollü değişiklik akışı |
proxus_analyze_telemetry | Özel SQL'den önce şema ve güvenli özet araçlarıyla başlayan telemetri analizi akışı |
Bazı MCP istemcileri discovery sırasında resources/* ve prompts/* metodlarını otomatik yoklar. Proxus artık bu çağrılara doğrudan yanıt verir; "method not available" warning'leri üretmez.
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. Session valid for 25 minutes.
› analyze telemetry data for the last 24 hours
• Called proxus.telemetry_devices({"hours":24})
• Called proxus.telemetry_stats({"hours":24}) Qwen CLI
Proxus'u Qwen MCP konfigürasyonuna ekleyin:
qwen mcp add proxus http://localhost:8080/mcp Qwen'de Kullanım:
qwen --allowed-mcp-server-names proxus "Use mcp__proxus__schema_overview and summarize the platform in 3 bullets." Qwen build'iniz one-shot prompt argümanlarını güvenilir biçimde çalıştırmıyorsa, promptu stdin üzerinden pipe ederek kullanın:
printf '%s\n' "Use mcp__proxus__schema_overview and return only the platform name." | qwen --allowed-mcp-server-names proxus Qwen sürümünüz MCP resource ve prompt desteği içeriyorsa şu tarz çağrılar da kullanabilirsiniz:
qwen --allowed-mcp-server-names proxus "Read proxus://schema/overview and summarize the platform." MCP Inspector
Resmi MCP Inspector, Proxus'a Streamable HTTP ile doğrudan bağlanabilir:
- URL:
http://localhost:8080/mcp - Transport:
Streamable HTTP
Inspector, rollout veya sorun giderme sırasında tools/list, auth_login ve tool çağrı yanıtlarını doğrulamak için uygundur. Ayrıca resources/list, resources/read, prompts/list ve prompts/get doğrulaması için de kullanılabilir.
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
Doğrudan şu adrese işaret eden bir Streamable HTTP MCP girdisi kullanın:
http://your-proxus-server:8080/mcp Claude Desktop MCP konfigürasyon formatı sürüme göre değişebilir. Claude sürümünüzün desteklediği güncel Streamable HTTP formatını kullanın ve Proxus /mcp endpoint'ini hedefleyin.
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? Resource-First Şema Keşfi
1. resources/list()
2. resources/read(proxus://schema/overview)
3. resources/read(proxus://schema/entities)
4. auth_login(userName, password) # authenticated akış gerekiyorsa Prompt Yönlendirmeli Güvenli Değişiklik
1. prompts/list()
2. prompts/get(proxus_write_change, entityName="Device", changeIntent="target cihazı devre dışı bırak")
3. auth_login(userName, password)
4. Dönen akışı odata_request ile uygula İstemci Dostu Auth Akışı
1. schema_overview() veya schema_entities()
2. auth_login(userName, password)
3. odata_request(GET, api/odata/Device?$top=10)
4. auth_whoami() # Gerekirse oturum durumunu kontrol edin 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
Tüm MCP ayarları Proxus-config.toml dosyasında [MCP] bölümü altında tanımlanmıştır. Anahtarların ve çevre değişkeni geçersiz kılmalarının tam listesi için Konfigürasyon Referansı — Model Context Protocol bölümüne 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
BlockBulkOperations = false # OData batch/bulk işlemlerini engelle
SessionTtlMinutes = 25 # MCP oturum ömrü
SessionHeaderName = "X-Proxus-Mcp-Session" # Uyumluluk için session header
SessionCookieName = "proxus_mcp_session" # HTTP istemcilerinde kullanılan session cookie
SessionKeyPrefix = "proxus:mcp" # Session storage key prefix
RedisConnection = "" # İsteğe bağlı paylaşımlı session store
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
ODataRateLimitRequestsPerMinute = 30 # OData tool çağrıları için dakika başına sınır
TelemetryRateLimitRequestsPerMinute = 120 # Telemetry tool çağrıları için dakika başına sınır
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
DebugLogging = false # Ek MCP debug logları Ü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 = true Sorun 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 - Oturum 25 dakika sonra dolar: gerekirse yeniden kimlik doğrulayın
- Yönetici olmayan hesap kullanıyorsanız
AdminOnlyayarını kontrol edin
Araç Görünüyor Ama Erişim Reddediliyor
Bu, bazı MCP istemcilerinde beklenen davranıştır. Proxus, bir aracı discovery içinde gösterebilir ve erişimi yine de çağrı anında zorlayabilir.
Beklenen yanıtlar:
auth_required: araç çağrısından önce giriş yapılmalıdırauth_expired: önceki oturum süresi dolmuştur veya artık geçerli değildir- filtrelenmiş veya redakte alanlarla başarılı çağrı: rolünüz entity'ye erişebilir, ancak tüm alanlara erişemez
Hız Sınırı Aşıldı
Konfigürasyonda sınırı artırın:
[MCP]
RateLimitRequestsPerMinute = 120 Araç 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/json Baş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