Plugged.in MCP Server

resmi

Birden fazla MCP sunucusunu tek bir MCP'de birleştiren kapsamlı bir proxy. Sunucular arasında araçların, istemlerin, kaynakların ve şablonların keşfi ve yönetimini sağlar; ayrıca MCP sunucuları oluştururken hata ayıklama için bir oyun alanı sunar.

Dokümantasyon

plugged.in MCP Hub — Proxy · Bilgi · Bellek · Araçlar

plugged.in Logo

AI Veri Alışverişlerinin Kavşağı

Yapay zekanıza Bilgi, Bellek ve Araçlar sunan birleşik bir MCP hub'ı — yalnızca bir proxy değil. Tüm MCP sunucularını tek bir bağlantıdan yönetin ve test edin; aynı zamanda istemciler arasında belge farkındalıklı ve bellek destekli iş akışlarını güçlendirin.

smithery badge Version GitHub Stars License TypeScript MCP MCP Badge

📋 Genel Bakış

plugged.in MCP Proxy Sunucusu, birden çok Model Context Protocol (MCP) sunucusunu tek bir birleşik arayüzde toplayan güçlü bir ara katmandır. Araç, istem ve kaynak yapılandırmalarını plugged.in Uygulamasından alır ve istekleri akıllıca uygun alt MCP sunucularına yönlendirir.

Bu proxy, plugged.in ekosistemi aracılığıyla gelişmiş yönetim yetenekleri sunarken herhangi bir MCP istemcisiyle (Claude, Cline, Cursor, vb.) sorunsuz entegrasyon sağlar.

Hub Sütunları: Bilgi · Bellek · Araçlar · Proxy

Bilgi (RAG v2 / AI Document Exchange)
Model çıktılarını, atıf farkındalıklı birleşik belge getirme ile arayın ve temellendirin. MCP sunucuları, sürümleme, görünürlük kontrolleri ve model atfı ile kitaplığınızda belgeler oluşturabilir ve yönetebilir. Tüm bağlı kaynaklarda arama yapmak ve ilgili parçacıkları ve üst verileri döndürmek için yerleşik RAG'ı kullanın.

Bellek (Kalıcı AI Belleği)
Oturumlar arasında kalıcı, çalışma alanı/profil kapsamlı bellek. Hub, plugged.in Uygulamasının kalıcı belleğiyle entegre olur, böylece ajan eylemleri ve içgörüler görevler arasında saklanabilir ve geri çağrılabilir. Aynı kimlik doğrulama modeli altında düşük sürtünmeli get/put/search desenlerini sunmak için yerleşik bellek araçları yol haritasındadır.

Araçlar
Yerleşik yetenekleri alt MCP sunucularıyla (STDIO, SSE, Streamable HTTP) birleştirin. Araç keşfi önbelleğe alınır ve isteğe bağlı olarak yenilenebilir; hub düzeyinde keşif, herhangi bir MCP istemcisi için birleşik bir katalog döndürür. Hub; araçları, kaynakları, kaynak şablonlarını ve istemleri destekler.

Proxy
Her istemci için tek bir bağlantı. STDIO (varsayılan) veya isteğe bağlı API kimlik doğrulaması ve durumsuz mod ile Streamable HTTP olarak çalıştırın. Claude Desktop, Cline, Cursor, MCP Inspector ve daha fazlasıyla çalışır; politikaları ve telemetriyi merkezileştirirken mevcut istemci yapılandırmalarınızı koruyun.

Bu projeyi faydalı buluyorsanız, lütfen GitHub'da yıldız vermeyi düşünün! Daha fazla geliştiriciye ulaşmamıza yardımcı olur ve bizi geliştirmeye devam etmeye motive eder.

✨ Temel Özellikler

🚀 Temel Yetenekler

  • Yerleşik AI Oyun Alanı: Herhangi bir istemci kurulumu olmadan Claude, Gemini, OpenAI ve xAI ile MCP'lerinizi anında test edin
  • Evrensel MCP Uyumluluğu: Claude Desktop, Cline ve Cursor dahil herhangi bir MCP istemcisiyle çalışır
  • Çoklu Sunucu Desteği: STDIO, SSE ve Streamable HTTP MCP sunucularına bağlanın
  • Çift Taşıma Modu: Proxy'yi STDIO (varsayılan) veya Streamable HTTP sunucusu olarak çalıştırın
  • Birleşik Belge Arama: Yerleşik RAG yetenekleriyle tüm bağlı sunucularda arama yapın
  • AI Document Exchange (RAG v2): MCP sunucuları, tam atıf ile kitaplığınızda belgeler oluşturabilir ve yönetebilir
  • Herhangi Bir Modelden Bildirimler: İsteğe bağlı e-posta teslimi ile gerçek zamanlı bildirimler alın
  • Çoklu Çalışma Alanı Katmanı: Tek tıklamayla farklı MCP yapılandırma kümeleri arasında geçiş yapın
  • API Güdümlü Proxy: Doğrudan keşif yerine plugged.in Uygulama API'lerinden yetenekleri alır
  • Tam MCP Desteği: Araçları, kaynakları, kaynak şablonlarını ve istemleri işler
  • Özel Talimatlar: MCP istemleri olarak biçimlendirilmiş sunucuya özgü talimatları destekler

🎯 v1.5.0'daki Yenilikler (RAG v2 - AI Document Exchange)

  • AI Belge Oluşturma: MCP sunucuları artık doğrudan kitaplığınızda belge oluşturabilir
    • Tam model atıf takibi (belgeyi hangi AI'nın oluşturduğu/güncellediği)
    • Değişiklik takibi ile sürüm geçmişi
    • SHA-256 karma ile içerik tekilleştirme
    • Birden çok format desteği: MD, TXT, JSON, HTML, PDF ve daha fazlası
  • Gelişmiş Belge Arama: AI filtreleme ile gelişmiş RAG sorguları
    • AI modeli, sağlayıcı, tarih aralığı, etiketler ve kaynak türüne göre filtreleme
    • Alaka puanlaması ile anlamsal arama
    • Anahtar kelime vurgulama ile otomatik parçacık oluşturma
    • Filtreleme desteği: ai_generated, upload veya api kaynaklar
  • MCP ile Belge Yönetimi:
    • Belge görünürlüğünü ayarlayın: özel, çalışma alanı veya genel
    • Belge sürümleri için üst-alt ilişkileri
    • Proje tabanlı kapsamlandırmanın yanı sıra profil tabanlı organizasyon
    • Belge işleme için gerçek zamanlı ilerleme takibi

🎯 v1.4.0'dan Özellikler (Registry v2 Desteği)

  • OAuth Token Yönetimi: Streamable HTTP MCP sunucuları için sorunsuz OAuth kimlik doğrulama yönetimi
    • plugged.in Uygulamasından otomatik token alma
    • Güvenli token depolama ve yenileme mekanizmaları
    • İstemci tarafında kimlik doğrulamaya gerek yok
  • Gelişmiş Bildirim Sistemi: Çift yönlü bildirim desteği
    • plugged.in Uygulamasına bildirim gönderme
    • MCP sunucularından bildirim alma
    • Bildirimleri okundu/okunmadı olarak işaretleme
    • Bildirimleri programatik olarak silme
  • Trend Analitiği: Gerçek zamanlı etkinlik takibi
    • Her araç çağrısı günlüğe kaydedilir ve izlenir
    • Trend sunucu hesaplamalarına katkıda bulunur
    • Kullanım metrikleri ve popülerlik içgörüleri
  • Registry Entegrasyonu: Registry v2 özellikleri için tam destek
    • Registry'den otomatik sunucu keşfi
    • Kurulum takibi ve metrikler
    • Topluluk sunucu desteği

📦 v1.1.0'dan Özellikler

  • Streamable HTTP Desteği: Streamable HTTP taşımasını kullanan alt MCP sunucuları için tam destek
  • HTTP Sunucu Modu: Proxy'yi yapılandırılabilir bağlantı noktalarıyla bir HTTP sunucusu olarak çalıştırın
  • Esnek Kimlik Doğrulama: HTTP uç noktaları için isteğe bağlı Bearer token kimlik doğrulaması
  • Oturum Yönetimi: Durum bilgisi olan (oturum tabanlı) veya durumsuz çalışma modları arasında seçim yapın

🎯 v1.0.0'dan Temel Özellikler

  • Gerçek Zamanlı Bildirimler: Kapsamlı bildirim desteği ile tüm MCP etkinliklerini takip edin
  • RAG Entegrasyonu: plugged.in Uygulaması aracılığıyla belge destekli sorgular için destek
  • Denetçi Betikleri: Hata ayıklama ve geliştirme için otomatik test araçları
  • Sağlık İzleme: Bağlantı izleme için yerleşik ping uç noktası

🔧 Araç Kategorileri

Proxy iki farklı araç kategorisi sunar:

🔧 Statik Yerleşik Araçlar (Her Zaman Kullanılabilir)

Bu araçlar proxy'ye yerleşiktir ve herhangi bir sunucu yapılandırması olmadan çalışır:

  • pluggedin_discover_tools - Anında sonuçlar için önbelleklemeli akıllı keşif
  • pluggedin_ask_knowledge_base - AI filtreleme yetenekleriyle belgelerinizde RAG araması
  • pluggedin_send_notification - İsteğe bağlı e-posta teslimi ile bildirim gönderme
  • pluggedin_create_document - Kitaplığınızda AI tarafından oluşturulan belgeler oluşturma
  • pluggedin_list_documents - Filtreleme seçenekleriyle belgeleri listeleme
  • pluggedin_search_documents - Sorgu ile belirli belgeleri arama
  • pluggedin_get_document - Kimliğe göre belirli bir belgenin tam içeriğini alma
  • pluggedin_update_document - Mevcut bir belgeyi güncelleme veya ekleme

📋 Pano Araçları (Bellek Sistemi)

  • pluggedin_clipboard_set - Ada (anlamsal anahtar) veya dizine göre bir pano girişi ayarlama
  • pluggedin_clipboard_get - Ada, dizine göre pano girişlerini alma veya tümünü listeleme
  • pluggedin_clipboard_delete - Ada, dizine göre pano girişlerini silme veya tümünü temizleme
  • pluggedin_clipboard_list - Üst verilerle tüm pano girişlerini listeleme
  • pluggedin_clipboard_push - Otomatik artan dizinle bir değer ekleme (yığın itme)
  • pluggedin_clipboard_pop - En yüksek dizinli girişi çıkarma (LIFO davranışı)

⚡ Dinamik MCP Araçları (Bağlı Sunuculardan)

Bu araçlar yapılandırılmış MCP sunucularınızdan gelir ve açılıp kapatılabilir:

  • Veritabanı araçları (PostgreSQL, SQLite, vb.)
  • Dosya sistemi araçları
  • API entegrasyon araçları
  • Herhangi bir MCP sunucusundan özel araçlar

Keşif aracı, her iki kategoriyi akıllıca göstererek AI modellerine tüm mevcut yeteneklere anında erişim sağlar.

🚀 Keşif Aracı Kullanımı

# Quick discovery - returns cached data instantly
pluggedin_discover_tools()

# Force refresh - shows current tools + runs background discovery  
pluggedin_discover_tools({"force_refresh": true})

# Discover specific server
pluggedin_discover_tools({"server_uuid": "uuid-here"})

Örnek Yanıt:

## 🔧 Static Built-in Tools (Always Available):
1. **pluggedin_discover_tools** - Smart discovery with caching
2. **pluggedin_rag_query** - RAG v2 search across documents with AI filtering  
3. **pluggedin_send_notification** - Send notifications
4. **pluggedin_create_document** - (Coming Soon) Create AI-generated documents

## ⚡ Dynamic MCP Tools (8) - From Connected Servers:
1. **query** - Run read-only SQL queries
2. **generate_random_integer** - Generate secure random integers
...

📋 Pano Kullanım Örnekleri

Pano sistemi, AI iş akışları için kalıcı bellek sağlar:

# Store a named entry (upserts if exists)
pluggedin_clipboard_set({
  "name": "customer_context",
  "value": "{\"name\": \"John Doe\", \"account_id\": \"12345\"}",
  "contentType": "application/json"
})

# Store an indexed entry for ordered pipelines
pluggedin_clipboard_set({
  "idx": 0,
  "value": "First pipeline step result",
  "createdByTool": "data_processor"
})

# Push to stack (auto-incrementing index)
pluggedin_clipboard_push({
  "value": "Analysis result from step 1",
  "contentType": "text/plain"
})

# Get a specific entry by name
pluggedin_clipboard_get({"name": "customer_context"})

# Pop from stack (LIFO - returns and removes highest index)
pluggedin_clipboard_pop()

# List all entries with metadata
pluggedin_clipboard_list({"limit": 20})

# Delete specific entry
pluggedin_clipboard_delete({"name": "customer_context"})

# Clear all clipboard entries
pluggedin_clipboard_delete({"clearAll": true})

📚 RAG v2 Kullanım Örnekleri

Gelişmiş RAG v2 sistemi, MCP sunucularının tam AI atfı ile belgeler oluşturmasına ve aramasına olanak tanır:

# Search for documents created by specific AI models
pluggedin_rag_query({
  "query": "system architecture",
  "filters": {
    "modelName": "Claude 3 Opus",
    "source": "ai_generated",
    "tags": ["technical"]
  }
})

# Search across all document sources
pluggedin_rag_query({
  "query": "deployment guide",
  "filters": {
    "dateFrom": "2024-01-01",
    "visibility": "workspace"
  }
})

# Future: Create AI-generated documents (Coming Soon)
pluggedin_create_document({
  "title": "Analysis Report",
  "content": "# Market Analysis\n\nDetailed findings...",
  "format": "md",
  "tags": ["analysis", "market"],
  "metadata": {
    "model": {
      "name": "Claude 3 Opus",
      "provider": "Anthropic"
    }
  }
})

🚀 Hızlı Başlangıç

Ön Koşullar

  • Node.js 18+ (önerilen v20+)
  • plugged.in Uygulamasından bir API anahtarı (plugged.in/api-keys adresinden alın)

Kurulum

# Install and run with npx (latest v1.0.0)
npx -y @pluggedin/pluggedin-mcp-proxy@latest --pluggedin-api-key YOUR_API_KEY

🔄 v1.0.0'a Yükseltme

Mevcut kurulumlar için ayrıntılı yükseltme talimatları için Geçiş Kılavuzumuza bakın.

# Quick upgrade
npx -y @pluggedin/[email protected] --pluggedin-api-key YOUR_API_KEY

MCP İstemcileri için Yapılandırma

Claude Desktop

Claude Desktop yapılandırmanıza aşağıdakini ekleyin:

{
  "mcpServers": {
    "pluggedin": {
      "command": "npx",
      "args": ["-y", "@pluggedin/pluggedin-mcp-proxy@latest"],
      "env": {
        "PLUGGEDIN_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Cline

Cline yapılandırmanıza aşağıdakini ekleyin:

{
  "mcpServers": {
    "pluggedin": {
      "command": "npx",
      "args": ["-y", "@pluggedin/pluggedin-mcp-proxy@latest"],
      "env": {
        "PLUGGEDIN_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Cursor

Cursor için ortam değişkenleri yerine komut satırı argümanlarını kullanabilirsiniz:

npx -y @pluggedin/pluggedin-mcp-proxy@latest --pluggedin-api-key YOUR_API_KEY

⚙️ Yapılandırma Seçenekleri

Ortam Değişkenleri

DeğişkenAçıklamaGerekliVarsayılan
PLUGGEDIN_API_KEYplugged.in Uygulamasından API anahtarıEvet-
PLUGGEDIN_API_BASE_URLplugged.in Uygulaması için temel URLHayırhttps://plugged.in

Komut Satırı Argümanları

Komut satırı argümanları ortam değişkenlerine göre önceliklidir:

npx -y @pluggedin/pluggedin-mcp-proxy@latest --pluggedin-api-key YOUR_API_KEY --pluggedin-api-base-url https://your-custom-url.com

Taşıma Seçenekleri

SeçenekAçıklamaVarsayılan
--transport <type>Taşıma türü: stdio veya streamable-httpstdio
--port <number>Streamable HTTP sunucusu için bağlantı noktası12006
--statelessStreamable HTTP için durumsuz modu etkinleştirfalse
--require-api-authStreamable HTTP istekleri için API anahtarı gerektirfalse

Seçeneklerin tam listesi için:

npx -y @pluggedin/pluggedin-mcp-proxy@latest --help

🌐 Streamable HTTP Modu

Proxy, STDIO yerine bir HTTP sunucusu olarak çalışabilir, böylece web tabanlı erişim ve uzak bağlantılar sağlar.

Temel Kullanım

# Run as HTTP server on default port (12006)
npx -y @pluggedin/pluggedin-mcp-proxy@latest --transport streamable-http --pluggedin-api-key YOUR_API_KEY

# Custom port
npx -y @pluggedin/pluggedin-mcp-proxy@latest --transport streamable-http --port 8080 --pluggedin-api-key YOUR_API_KEY

# With authentication required
npx -y @pluggedin/pluggedin-mcp-proxy@latest --transport streamable-http --require-api-auth --pluggedin-api-key YOUR_API_KEY

# Stateless mode (new session per request)
npx -y @pluggedin/pluggedin-mcp-proxy@latest --transport streamable-http --stateless --pluggedin-api-key YOUR_API_KEY

HTTP Uç Noktaları

  • POST /mcp - MCP mesajları gönder
  • GET /mcp - Sunucu tarafından gönderilen olay akışı (isteğe bağlı)
  • DELETE /mcp - Oturumu sonlandır
  • GET /health - Sağlık kontrolü uç noktası

Oturum Yönetimi

Durum bilgisi olan modda (varsayılan), oturumları sürdürmek için mcp-session-id başlığını kullanın:

# First request creates a session
curl -X POST http://localhost:12006/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'

# Subsequent requests use the same session
curl -X POST http://localhost:12006/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "mcp-session-id: YOUR_SESSION_ID" \
  -d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"tool_name"},"id":2}'

Kimlik Doğrulama

--require-api-auth kullanırken, API anahtarınızı Bearer token olarak ekleyin:

curl -X POST http://localhost:12006/mcp \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","method":"ping","id":1}'

🐳 Docker Kullanımı

Proxy sunucusunu Docker kullanarak da oluşturup çalıştırabilirsiniz.

İmajı Oluşturma

Docker'ın kurulu ve çalışır olduğundan emin olun. pluggedin-mcp dizinine gidin ve çalıştırın:

docker build -t pluggedin-mcp-proxy:latest .

Derleme bağlamını optimize etmek için bir .dockerignore dosyası dahildir.

Konteyneri Çalıştırma

STDIO Modu (Varsayılan)

MCP Inspector testi için konteyneri STDIO modunda çalıştırın:

docker run -it --rm \
  -e PLUGGEDIN_API_KEY="YOUR_API_KEY" \
  -e PLUGGEDIN_API_BASE_URL="YOUR_API_BASE_URL" \
  --name pluggedin-mcp-container \
  pluggedin-mcp-proxy:latest

Streamable HTTP Modu

Konteyneri bir HTTP sunucusu olarak çalıştırın:

docker run -d --rm \
  -e PLUGGEDIN_API_KEY="YOUR_API_KEY" \
  -e PLUGGEDIN_API_BASE_URL="YOUR_API_BASE_URL" \
  -p 12006:12006 \
  --name pluggedin-mcp-http \
  pluggedin-mcp-proxy:latest \
  --transport streamable-http --port 12006

YOUR_API_KEY ve YOUR_API_BASE_URL değerlerini (varsayılan https://plugged.in kullanılmıyorsa) değiştirin.

MCP Inspector ile Test Etme

Konteyner çalışırken, MCP Inspector kullanarak ona bağlanabilirsiniz:

npx @modelcontextprotocol/inspector docker://pluggedin-mcp-container

Bu, çalışan konteynerin standart giriş/çıkışına bağlanacaktır.

Konteyneri Durdurma

docker run'in çalıştığı terminalde Ctrl+C tuşuna basın. --rm bayrağı, durdurulduğunda konteynerin otomatik olarak kaldırılmasını sağlar.

☁️ Smithery Cloud Dağıtımı

MCP sunucularınıza barındırılan, her zaman erişilebilir erişim için plugged.in MCP Proxy'yi Smithery Cloud'a dağıtın.

Hızlı Başlangıç

  1. smithery.ai adresini ziyaret edin ve giriş yapın
  2. GitHub hesabınızı bağlayın ve pluggedin-mcp deposunu seçin
  3. Smithery arayüzünde Plugged.in API anahtarınızı yapılandırın
  4. Dağıtın ve HTTPS uç noktanızı alın

Avantajlar

  • 7/24 Kullanılabilirlik: Proxy'niz her zaman çalışır durumda
  • Sıfır Yapılandırma: Smithery, smithery.yaml üzerinden ayarları otomatik algılar
  • Otomatik Ölçeklendirme: Birden çok eşzamanlı bağlantıyı yönetin
  • Web Erişimi: Web uygulamaları ve uzak istemciler için mükemmel

Dokümantasyon

Tam dağıtım talimatları, yapılandırma seçenekleri, sorun giderme ve teknik ayrıntılar için bakınız:

📖 Smithery Dağıtım Kılavuzu

Otonom Ajanlar (Önizleme)

Hub, uçtan uca ajan döngülerini destekleyecek şekilde tasarlanmıştır:

MCP Client  →  plugged.in MCP Hub  →  (Plan → Act → Reflect)
                                ↘  Knowledge  ↘  Memory  ↘  Tools
  • Planla — hedefleri ve kısıtlamaları türet, görev grafikleri oluştur.
  • Eyleme Geç — birleşik katalogdan araçları çağır; STDIO/SSE/HTTP sunucuları arasında güvenli şekilde yönlendir.
  • Yansıt — sonraki adımları iyileştirmek için sonuçları Bellek ve Bilgi'ye (belgeler, notlar, yapıtlar) kalıcı olarak kaydet.

Güvenlik & Operasyon
Akışkan HTTP modunda --require-api-auth'i etkinleştirin; komutlar, argümanlar ve ortam için izin listeleri kullanın. Sunucu düzeyinde doğrulamayı, istemci tarafında prompt enjeksiyonuna karşı güçlendirilmiş istemlerle birleştirin. Araç kullanımını ve belge mutasyonlarını izlemek için mevcut günlükleme/telemetriden yararlanın.

🏗️ Sistem Mimarisi

plugged.in MCP Proxy Sunucusu, MCP istemcileri ile birden çok alt MCP sunucusu arasında bir köprü görevi görür:

sequenceDiagram
    participant MCPClient as MCP Client (e.g. Claude Desktop)
    participant PluggedinMCP as plugged.in MCP Proxy
    participant PluggedinApp as plugged.in App
    participant MCPServers as Underlying MCP Servers

    MCPClient ->> PluggedinMCP: Request list tools/resources/prompts
    PluggedinMCP ->> PluggedinApp: Get capabilities via API
    PluggedinApp ->> PluggedinMCP: Return capabilities (prefixed)

    MCPClient ->> PluggedinMCP: Call tool/read resource/get prompt
    alt Standard capability
        PluggedinMCP ->> PluggedinApp: Resolve capability to server
        PluggedinApp ->> PluggedinMCP: Return server details
        PluggedinMCP ->> MCPServers: Forward request to target server
        MCPServers ->> PluggedinMCP: Return response
    else Custom instruction
        PluggedinMCP ->> PluggedinApp: Get custom instruction
        PluggedinApp ->> PluggedinMCP: Return formatted messages
    end
    PluggedinMCP ->> MCPClient: Return response

    alt Discovery tool (Smart Caching)
        MCPClient ->> PluggedinMCP: Call pluggedin_discover_tools
        alt Cached data available
            PluggedinMCP ->> PluggedinApp: Check cached capabilities
            PluggedinApp ->> PluggedinMCP: Return cached tools/resources/prompts
            PluggedinMCP ->> MCPClient: Return instant results (static + dynamic)
        else Force refresh or no cache
            PluggedinMCP ->> PluggedinApp: Trigger background discovery
            PluggedinMCP ->> MCPClient: Return current tools + "discovery running"
            PluggedinApp ->> MCPServers: Connect and discover capabilities (background)
            MCPServers ->> PluggedinApp: Return fresh capabilities
        end
    end

🔄 İş Akışı

  1. Yapılandırma: Proxy, sunucu yapılandırmalarını plugged.in Uygulamasından alır
  2. Akıllı Keşif (pluggedin_discover_tools):
    • Önbellek Kontrolü: Önce mevcut önbelleklenmiş veriyi kontrol eder (< 1 saniye)
    • Anında Yanıt: Statik araçları + önbelleklenmiş dinamik araçları hemen döndürür
    • Arka Planda Yenileme: force_refresh=true için, mevcut araçları gösterirken arka planda keşif çalıştırır
    • Taze Keşif: Yalnızca önbelleklenmiş veri yoksa tam keşif çalıştırır
  3. Yetenek Listeleme: Proxy, keşfedilen yetenekleri plugged.in Uygulama API'lerinden alır
    • tools/list: /api/tools adresinden alır (statik + dinamik araçları içerir)
    • resources/list: /api/resources adresinden alır
    • resource-templates/list: /api/resource-templates adresinden alır
    • prompts/list: /api/prompts ve /api/custom-instructions adreslerinden alır, sonuçları birleştirir
  4. Yetenek Çözümleme: Proxy, yetenekleri hedef sunuculara çözümler
    • tools/call: Araç adından ön eki ayrıştırır, dahili haritada sunucuyu arar
    • resources/read: Sunucu ayrıntılarını almak için /api/resolve/resource?uri=...'i çağırır
    • prompts/get: Özel talimat ön ekini kontrol eder veya /api/resolve/prompt?name=...'i çağırır
  5. İstek Yönlendirme: İstekler uygun alt MCP sunucusuna yönlendirilir
  6. Yanıt İşleme: Alt sunuculardan gelen yanıtlar istemciye döndürülür

🔒 Güvenlik Özellikleri

plugged.in MCP Proxy, sisteminizi ve verilerinizi korumak için kapsamlı güvenlik önlemleri uygular:

Girdi Doğrulama & Temizleme

  • Komut Enjeksiyonu Önleme: Tüm komutlar ve argümanlar yürütmeden önce izin listelerine göre doğrulanır
  • Ortam Değişkeni Güvenliği: .env dosyalarının tırnak işaretleri ve çok satırlı değerlerin düzgün işlenmesiyle güvenli ayrıştırılması
  • Token Doğrulama: API anahtarları ve kimlik doğrulama token'ları için güçlü regex desenleri (32-64 hex karakter)

Ağ Güvenliği

  • SSRF Koruması: URL doğrulaması şunlara erişimi engeller:
    • Localhost ve geri döngü adresleri (127.0.0.1, ::1)
    • Özel IP aralıkları (10.x, 172.16-31.x, 192.168.x)
    • Bağlantı-yerel adresleri (169.254.x)
    • Çok noktaya yayın ve ayrılmış aralıklar
    • Yaygın dahili servis portları (SSH, veritabanları, vb.)
  • Başlık Doğrulama: Başlık enjeksiyonuna karşı koruma:
    • Tehlikeli başlık engelleme
    • RFC 7230 uyumlu başlık adı doğrulaması
    • Kontrol karakteri tespiti
    • Başlık boyutu sınırları (maks. 8KB)
  • Hız Sınırlama:
    • Araç çağrıları: dakikada 60 istek
    • API çağrıları: dakikada 100 istek
  • Hata Temizleme: Hata mesajlarını temizleyerek bilgi ifşasını önler

Süreç Güvenliği

  • Güvenli Komut Yürütme: Kabuk enjeksiyonunu önlemek için exec() yerine execFile() kullanır
  • Komut İzin Listesi: Yalnızca şunların yürütülmesine izin verir:
    • node, npx - Node.js komutları
    • python, python3 - Python komutları
    • uv, uvx, uvenv - UV Python araçları
  • Argüman Temizleme: Tüm argümanlardan kabuk meta karakterlerini ve kontrol karakterlerini kaldırır
  • Ortam Değişkeni Doğrulama: Yalnızca alt çizgi içeren alfanümerik anahtarlara izin verir

Akışkan HTTP Güvenliği

  • Tembel Kimlik Doğrulama: Araç keşfi kimlik doğrulama gerektirmez, uyumluluğu artırır
  • Oturum Güvenliği: Kriptografik olarak güvenli oturum kimliği oluşturma
  • CORS Koruması: Web erişimi için yapılandırılabilir CORS başlıkları
  • İstek Boyutu Sınırları: Büyük yüklerle DoS saldırılarını önler

Güvenlik Yardımcı Programları

Özel bir security-utils.ts modülü şunları sağlar:

  • Taşıyıcı token doğrulaması
  • SSRF korumalı URL doğrulaması
  • Komut argümanı temizleme
  • Ortam değişkeni doğrulaması
  • Hız sınırlama uygulaması
  • Hata mesajı temizleme

Ayrıntılı güvenlik uygulaması için SECURITY.md dosyasına bakın.

🧩 plugged.in Uygulaması ile Entegrasyon

plugged.in MCP Proxy Sunucusu, aşağıdakileri sağlayan plugged.in Uygulaması ile sorunsuz çalışacak şekilde tasarlanmıştır:

  • MCP sunucu yapılandırmalarını yönetmek için web tabanlı bir arayüz
  • Merkezi yetenek keşfi (Araçlar, Kaynaklar, Şablonlar, İstemler)
  • RAG v2 Belge Kütüphanesi: Belgeler yükleyin ve tam atıf ile AI tarafından oluşturulan içeriği etkinleştirin
  • Özel talimat yönetimi
  • Farklı yapılandırma setleri için çoklu çalışma alanı desteği
  • Herhangi bir AI modeliyle MCP araçlarını test etmek için etkileşimli bir oyun alanı
  • Kullanıcı kimlik doğrulaması ve API anahtarı yönetimi
  • AI Belge Değişimi: Model atıf takibi ile belgeler oluşturun, arayın ve yönetin

📚 İlgili Kaynaklar

🤝 Katkıda Bulunma

Katkılar memnuniyetle karşılanır! Lütfen bir Pull Request göndermekten çekinmeyin.

📝 Son Güncellemeler

Sürüm 1.9.0 (Eylül 2025) - Güvenlik İyileştirmeleri

🔒 Gelişmiş HTML Temizleme

  • Endüstri Standardı Temizleme: Özel regex tabanlı HTML temizleme, sanitize-html kütüphanesi ile değiştirildi
  • XSS Önleme: Siteler arası betik çalıştırma saldırılarına karşı kapsamlı koruma
  • HTML Öznitelik Güvenliği: HTML öznitelik bağlamları için gelişmiş temizleme (tırnak işaretleri, ve işaretleri)
  • Format Dizesi Enjeksiyonu: Günlüklemede format dizesi enjeksiyonu güvenlik açıkları düzeltildi
  • Güvenlik Testi: Tüm temizleme fonksiyonları için kapsamlı test kapsamı

🛡️ Güvenlik İyileştirmeleri

  • CodeQL Uyumluluğu: GitHub CodeQL analizi tarafından belirlenen tüm güvenlik açıkları giderildi
  • Girdi Doğrulama: Tüm fonksiyonlarda girdi doğrulama ve temizleme güçlendirildi
  • Bağımlılık Güncellemeleri: Sağlam HTML içerik filtreleme için sanitize-html eklendi
  • Test Kapsamı: XSS saldırı önleme doğrulaması ile güvenlik test paketi geliştirildi

Sürüm 1.5.0 (Ocak 2025) - RAG v2

🤖 AI Belge Değişimi

  • AI Tarafından Oluşturulan Belgeler: MCP sunucuları artık tam AI atfı ile kütüphanenizde belge oluşturabilir
  • Model Atıf Takibi: Her belgeyi hangi AI modellerinin oluşturduğuna veya güncellediğine dair tam geçmiş
  • Gelişmiş Belge Arama: AI modeli, sağlayıcı, tarih, etiketler ve kaynak türüne göre filtreleme
  • Belge Sürümleme: AI tarafından oluşturulan içerik için değişiklikleri izleyin ve sürüm geçmişini koruyun
  • Çoklu Kaynak Desteği: Yüklemelerden, AI oluşturmadan veya API entegrasyonlarından belgeler

🔍 Gelişmiş RAG Yetenekleri

  • Anlamsal Arama: PostgreSQL tam metin araması ile gelişmiş alaka puanlaması
  • Akıllı Filtreleme: Sonuçları görünürlük, model atfı ve belge kaynağına göre filtreleyin
  • Parçacık Oluşturma: Anahtar kelime vurgulama ile otomatik parçacık çıkarma
  • Performans Optimizasyonu: Optimize edilmiş indeksleme ile daha hızlı sorgular

Sürüm 1.2.0 (Ocak 2025)

🔒 Güvenlik İyileştirmeleri

  • URL Doğrulama: Özel IP'leri, localhost'u ve tehlikeli portları engelleyen kapsamlı SSRF koruması
  • Komut İzin Listesi: Yalnızca onaylanmış komutlar (node, npx, python, vb.) yürütülebilir
  • Başlık Temizleme: Başlık enjeksiyonu saldırılarına karşı koruma
  • Tembel Kimlik Doğrulama: Kimlik doğrulamasız araç keşfi ile gelişmiş Smithery uyumluluğu

🚀 Performans İyileştirmeleri

  • Optimize Edilmiş Docker Derlemeleri: Minimum konteyner ayak izi için çok aşamalı derlemeler
  • Yalnızca Üretim Bağımlılıkları: Test dosyaları ve geliştirme bağımlılıkları Docker imajlarından hariç tutuldu
  • Kaynak Verimliliği: Kaynak kısıtlı ortamlarda dağıtım için tasarlandı

🔧 Teknik İyileştirmeler

  • Akışkan HTTP aktarımında gelişmiş hata yönetimi
  • Daha iyi oturum temizleme ve bellek yönetimi
  • İyileştirilmiş TypeScript türleri ve kod organizasyonu

Sürüm 1.1.0 (Aralık 2024)

🚀 Yeni Özellikler

  • Akışkan HTTP Desteği: Modern Akışkan HTTP aktarımını kullanarak alt MCP sunucularına bağlanın
  • HTTP Sunucu Modu: Web tabanlı erişim için proxy'yi bir HTTP sunucusu olarak çalıştırın
  • Esnek Oturum Yönetimi: Durumsuz veya durumlu modlar arasında seçim yapın
  • Kimlik Doğrulama Seçenekleri: HTTP uç noktaları için isteğe bağlı Taşıyıcı token kimlik doğrulaması
  • Sağlık İzleme: Servis izleme için /health uç noktası

🔧 Teknik İyileştirmeler

  • En son protokol desteği için MCP SDK v1.13.1'e güncellendi
  • HTTP sunucu işlevselliği için Express.js entegrasyonu eklendi
  • Daha iyi geliştirici deneyimi için gelişmiş TypeScript türleri

Sürüm 1.0.0 (Haziran 2025)

🎯 Başlıca Özellikler

  • Gerçek Zamanlı Bildirim Sistemi: Kapsamlı bildirim desteği ile tüm MCP aktivitelerini izleyin
  • RAG Entegrasyonu: plugged.in Uygulaması aracılığıyla belge ile zenginleştirilmiş sorgular için destek
  • Denetçi Betikleri: Hata ayıklama ve geliştirme için yeni otomatik test araçları
  • Sağlık İzleme: Bağlantı izleme için yerleşik ping uç noktası

🔒 Güvenlik İyileştirmeleri

  • Girdi Doğrulama: Tüm girdiler için endüstri standardı doğrulama ve temizleme
  • URL Güvenliği: SSRF korumalı gelişmiş URL doğrulaması
  • Ortam Güvenliği: dotenv ile ortam değişkenlerinin güvenli ayrıştırılması
  • Hata Temizleme: Hata yanıtlarında bilgi ifşasını önler

🐛 Hata Düzeltmeleri

  • JSON-RPC protokol girişimi düzeltildi (stdout vs stderr ayrımı)
  • Geliştirme ortamları için localhost URL doğrulaması çözüldü
  • Denetçi betiklerinde API anahtarı yönetimi düzeltildi
  • Bağlantı kararlılığı ve bellek yönetimi iyileştirildi

🔧 Geliştirici Araçları

  • Otomatik test için yeni denetçi betikleri
  • İyileştirilmiş hata mesajları ve hata ayıklama yetenekleri
  • Düzgün stderr kullanımı ile yapılandırılmış günlükleme
  • Gelişmiş TypeScript tür güvenliği

Tam ayrıntılar için Sürüm Notları sayfasına bakın.

🧪 Test ve Geliştirme

Yerel Geliştirme

Testler geliştirme amaçları için dahil edilmiştir ancak konteyner ayak izini en aza indirmek için Docker derlemelerinden hariç tutulmuştur.

# Run tests locally
npm test
# or
./scripts/test-local.sh

# Run tests in watch mode
npm run test:watch

# Run tests with UI
npm run test:ui

Hafif Docker Derlemeleri

Docker imajı minimum ayak izi için optimize edilmiştir:

  • Çok aşamalı derleme süreci
  • Nihai imajda yalnızca üretim bağımlılıkları
  • Test dosyaları ve geliştirme bağımlılıkları hariç tutuldu
  • Kaynak kısıtlı ortamlar için optimize edildi
# Build optimized Docker image
docker build -t pluggedin-mcp .

# Check image size
docker images pluggedin-mcp

📄 Lisans

Bu proje MIT Lisansı altında lisanslanmıştır - ayrıntılar için LICENSE dosyasına bakın.

🙏 Teşekkürler