12.1 MCP kipi (stdio, -MCP)

<< İçindekileri Görüntülemek İçin Tıklayın >>

Yer:  Teknik Kılavuzlar > Netsim System Agent İstemci Protokolü Referansı > 12. MCP >

12.1 MCP kipi (stdio, -MCP)

NetsimSystemAgent.exe -MCP ajanı standart giriş/çıkış üzerinden konuşan bir MCP sunucusuna çevirir. Araçlar koddan değil veritabanından gelir, ve her aktif veritabanı kendi araç kümesini getirir:

SELECT * FROM WEBSENDP
 WHERE KAYIT_DURUMU IN ('A','O') AND HTTP_METHOD IN ('MCP','Local MCP')

Bir satırın WEB_ENDPOINT_KODU aracın adı, ACIKLAMA_TEXT açıklaması, PARAMETRELER girdi şeması (JSON), SCRIPT_TEXT çalıştırılacak metindir. Yalnızca SCRIPT_DILI değeri SQL OPEN ve SQL EXECUTE olan satırlar çalıştırılır.

Yeni araç eklemek WEBSENDP tablosuna satır eklemek yeterlidir; C++ tarafında değişiklik gerekmez.
Hangi veritabanları -DATABASE <ad> verilmişse yalnızca o kayıt; verilmemişse MASTER'da kayıtlı, istemci bağlantısı kurulabilen bütün veritabanları. Her kayıt kendi bağlantısını tembel açar ve araçlarını kendi WEBSENDP'sinden yükler. Ulaşılamayan bir veritabanının araçları o listede yer almaz, diğerleri sunulur. Hiç kayıt yoksa liste yalnızca reload_tools'u taşır (veritabanı kaydedildikten sonra çağırılacak araç odur); kayıt var ama hiçbirine bağlanılamıyorsa yerleşik ivd__* araçları da sunulur ve durum günlüğe yazılır. tools/list her koşulda bir araç listesi döndürür.
Araç adı Tek veritabanı sunulurken PATH'in kendisi. Birden fazla veritabanı varken <önek>__<PATH>; önek kayıt adının küçük harfli biçimidir, [a-z0-9_-] dışındaki her karakter _ olur (NETSIM → netsim__). Toplam ad 64 karakteri aşarsa o araç sunulmaz. Çağrı, önekten bulunan veritabanının bağlantısında koşar.
Ne zaman görünür Araç listesi süreç başına bir kez yüklenir. Yeni satır MCP süreci yeniden başlatılınca ya da yerleşik reload_tools aracı çağrılınca görünür: sunucu listeleri düşürür, notifications/tools/list_changed gönderir, istemci tools/list'i yeniler. Araç her listede vardır ve veritabanı ön eki taşımaz.
Bozuk satır PARAMETRELER geçerli JSON değilse o araç günlüğe yazılıp atlanır; diğerleri yüklenir.
Parametre sırası Konumsaldır ve WEBSENDP bölümündeki Parametre sırası kuralı aynen geçerlidir — MCP'ye özgü bir davranış değildir.
Yardım ve belge havuzları Yerleşik araçlar aynı yapıdaki iki havuzu sunar. Müşteri belgeleri (veritabanı başına belge havuzu; database argümanı, yoksa -DATABASE) için doc_collections, doc_search (tam metin; Türkçe harfler aksansız yazımla da eşleşir; koleksiyon süzgeci), doc_get (konu adıyla ya da bağlı olduğu varlıkla), doc_entity (form sınıfı, işlem kodu, modül: öznitelikler, ilişkiler, eski adlar, bağlı konular, çevrimiçi yardım adresi), doc_entities, doc_links, doc_stats; NETSİM yardımı (yardım havuzu, paketteki help.db) için help_search, help_get_topic, help_form_info, help_stats. Yardım havuzu conf'taki docs/help dosyasıdır (öndeğer ajanın dizinindeki help.db); belge havuzunu ALTER DATABASE … SET DOCUMENTS veritabanına bağlar. İkisi de salt okunur açılır; belge koleksiyonları AdminREST EXECCOMMAND IMPORTDOC ile alınır. Havuz yoksa araçlar help pool not found ya da document pool not imported döner. Ayrı dizinden çalışan bir MCP kopyasının conf'unda docs/help ajanın dosyasını gösterir. MCP bütün koleksiyonları görür; araçlar her listede yer alır. doc_search anlamca yakın konuları da bulur (mode: fts tam metin, vector anlam, hybrid ikisinin birleşimi). Bunun için sorgu gömme modeli help.db'nin dizininde models\e5-int8\ altında (model_int8.onnx, tokenizer.json) ve ONNX Runtime kitaplığı ajanın yanında (onnxruntime.dll; Linux'ta libonnxruntime.so) durur. Biri yoksa vector ve hybrid açık bir hata iletisi döner, fts çalışmaya devam eder.
Yetki MCP yolunda ROLE_KODU okunmaz. Süreç yereldir, onu başlatan kullanıcının yetkisiyle ve MASTER kaydındaki veritabanı kimliğiyle koşar; güven modeli “kullanıcıya eşit”dir.