mcp-netsis-rest-api

MycroftHolmes-Ai/mcp-netsis-rest-api

3.1

If you are the rightful owner of mcp-netsis-rest-api and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

This project is a Model Context Protocol (MCP) server developed to integrate Netsis NetOpenX REST API with Claude Desktop.

Netsis NetOpenX REST API MCP Server

Bu proje, Netsis NetOpenX REST API'yi Claude Desktop ile entegre etmek için geliştirilmiş bir Model Context Protocol (MCP) sunucusudur.

🚀 Özellikler

  • OAuth2 Token Yönetimi: 8 saatlik token ömrü ile otomatik yenileme
  • SQL Query Desteği: Doğrudan Netsis veritabanına SQL sorguları
  • REST API Erişimi: Tüm Netsis API endpoint'lerine erişim
  • Önbellekleme: Token ve yanıtlar için akıllı önbellekleme
  • Hata Yönetimi: Detaylı hata raporlama ve loglama
  • Rate Limiting: Dakikada 60 istek limiti yönetimi

📋 Gereksinimler

  • Windows 10/11
  • Python 3.11 veya üzeri
  • Node.js 18.0 veya üzeri
  • Claude Desktop (en son sürüm)
  • Netsis NetOpenX REST API erişimi

🛠️ Kurulum

Otomatik Kurulum (Önerilen)

  1. Proje dosyalarını C:\ClaudeCode\mcp-nesis-rest-api dizinine çıkarın

  2. Komut istemcisini (CMD) yönetici olarak açın ve proje dizinine gidin:

cd C:\ClaudeCode\mcp-nesis-rest-api
  1. Otomatik kurulum script'ini çalıştırın:
setup.bat

Bu script otomatik olarak:

  • Python bağımlılıklarını yükler
  • Node.js bağımlılıklarını yükler
  • API bağlantısını test eder
  • Claude Desktop yapılandırmasını günceller

Manuel Kurulum

  1. Python bağımlılıklarını yükleyin:
pip install -r requirements.txt
  1. Node.js bağımlılıklarını yükleyin:
npm install
  1. API bağlantısını test edin:
python test_netsis_connection.py --quick
  1. Claude Desktop yapılandırması:

Claude Desktop ayarlarına (claude_desktop_config.json) aşağıdaki yapılandırmayı ekleyin:

{
  "mcpServers": {
    "netsis-rest-api": {
      "command": "C:\\ClaudeCode\\mcp-nesis-rest-api\\netsis_mcp.bat",
      "args": [],
      "env": {
        "NETSIS_BASE_URL": "http://78.186.218.65:9090/api/v2",
        "NETSIS_USERNAME": "api_user",
        "NETSIS_PASSWORD": "api_password"
      }
    }
  }
}

🔧 Yapılandırma

Ortam Değişkenleri

Aşağıdaki ortam değişkenlerini sistem veya .env dosyasında tanımlayabilirsiniz:

.env Dosyası Örneği

NETSIS_BASE_URL=http://78.186.218.65:9090/api/v2
NETSIS_USERNAME=api_user
NETSIS_PASSWORD=api_password

📖 Kullanım

Claude Desktop'ta Kullanım

MCP kurulduktan sonra, Claude Desktop'ta doğrudan Netsis API'ye erişebilirsiniz:

Claude: "Netsis'ten son 10 ürünü getir"
Claude: "STOKLAR tablosundan stok_kodu = 'ABC123' olan ürünü sorgula"
Claude: "Bugünkü stok hareketlerini listele"

Komut Satırı Araçları

Token Yönetimi:

# Yeni token al
python token_helper.py --get-token

# Token önbelleğini temizle
python token_helper.py --clear-cache

# Bağlantı testi
python token_helper.py --test

Tam Test Suite:

# Tüm testleri çalıştır
python test_netsis_connection.py

# Hızlı bağlantı testi
python test_netsis_connection.py --quick

📁 Proje Yapısı

mcp-nesis-rest-api/
├── token_helper.py          # OAuth2 token yönetimi
├── netsis_mcp.bat          # MCP başlatıcı wrapper
├── test_netsis_connection.py # Bağlantı test script'i
├── setup.bat               # Otomatik kurulum script'i
├── requirements.txt        # Python bağımlılıkları
├── package.json           # Node.js yapılandırması
├── README.md             # Bu dosya
├── logs/                 # Log dosyaları
├── docs/                 # Ek dokümantasyon
├── tests/                # Test dosyaları
└── examples/             # Örnek kullanımlar

🔍 API Endpoint'leri

Temel Endpoint'ler

  • POST /Token: OAuth2 token alımı
  • POST /Query: SQL sorguları
  • GET /Items: Ürün listesi
  • GET /StockMovements: Stok hareketleri
  • GET /Customers: Müşteri listesi
  • GET /Orders: Sipariş listesi

SQL Query Örnekleri

-- Stok sorgulama
SELECT STOK_KODU, STOK_ADI, BAKIYE FROM STOKLAR WHERE BAKIYE > 0

-- Fiyat listesi
SELECT * FROM FIYAT_LISTELERI WHERE AKTIF = 1

-- Müşteri bakiyeleri
SELECT CARI_KOD, CARI_ISIM, BAKIYE FROM CARILER WHERE TIP = 'M'

🐛 Sorun Giderme

Token Hatası

# Token önbelleğini temizle ve yeniden dene
python token_helper.py --clear-cache

Bağlantı Hatası

# Detaylı test çalıştır
python test_netsis_connection.py

MCP Başlatma Hatası

  1. Claude Desktop'ı yeniden başlatın
  2. Log dosyalarını kontrol edin: logs/netsis_mcp_YYYYMMDD.log
  3. Yapılandırma dosyasını doğrulayın

📊 Performans

  • Token önbellekleme ile API çağrıları %50 daha hızlı
  • Rate limiting: 60 istek/dakika
  • Ortalama yanıt süresi: <500ms
  • Maksimum eşzamanlı bağlantı: 10

🔒 Güvenlik

  • Token'lar güvenli şekilde önbelleklenir (chmod 600)
  • SQL injection koruması
  • SSL sertifikası doğrulaması (iç sunucular için devre dışı)
  • Hassas bilgiler loglanmaz

🤝 Katkıda Bulunma

  1. Fork yapın
  2. Feature branch oluşturun (git checkout -b feature/amazing-feature)
  3. Değişikliklerinizi commit edin (git commit -m 'Add amazing feature')
  4. Branch'inizi push edin (git push origin feature/amazing-feature)
  5. Pull Request açın

📝 Lisans

Bu proje MIT lisansı altında lisanslanmıştır.

👥 Destek

Sorunlar için:

🎯 Gelecek Özellikler

  • Webhook desteği
  • Batch işlem desteği
  • GraphQL gateway
  • Prometheus metrikleri
  • Docker container desteği

Not: Bu MCP, KuzenAI AdsManager projesinin bir parçasıdır ve Netsis ERP sistemini Claude Desktop ile entegre etmek için tasarlanmıştır.