Aggregators Go ★ 1,108

mcpjungle/MCPJungle

Kurumsal AI Ajanları için self-hosted MCP Server kayıt defteri

Claude Desktop config.json'a ekle

{
  "mcpServers": {
    "mcpjungle-mcpjungle": {
      "command": "node",
      "args": [
        "~/.mcp/MCPJungle/index.js"
      ]
    }
  }
}

MCPJungle

Tüm MCP sunucularınızı tek bir endpoint'in arkasında çalıştırın

MCPJungle, dağınık istemci konfigürasyonları, tekrarlanan kurulum veya tutarsız erişim kontrolü yaşamadan birden fazla MCP sunucusunu yönetmek isteyen geliştirici ve takımlar için kendi kendine barındırılan bir MCP ağ geçididir.

Kişisel MCP kurulumunuzu temiz tutmak için yerel olarak veya merkezileştirilmiş bulma, erişim kontrolü ve gözlemlenebilirlikle bir takım için paylaşılan altyapı olarak çalıştırın.

diagram

Her MCP sunucusunu her AI istemcisine bağlamak yerine, sunucularınızı MCPJungle'da bir kez kaydedin ve Claude, Cursor, Codex veya kendi Ajanlarınız tek bir MCP endpoint'ine bağlansın.

MCPJungle Neden?

MCP güçlüdür, ancak birçok MCP sunucusunu yönetmek hızlı bir şekilde karmaşık hale gelir.

Bir ağ geçidi olmadan:

  • 🔌 Her istemcinin kendi MCP sunucu konfigürasyonuna ihtiyacı vardır
  • 🧩 Araçlar, istemler ve kaynaklar farklı sunucular arasında dağılmıştır
  • 🔐 Erişim kontrolü tekrarlanır veya eksiktir
  • 👥 Takımlar, mevcut MCP araçlarının paylaşılan bir görünümüne sahip değildir
  • 🛠️ Yerel kurulumlar yeniden üretilmesi zor hale gelir

MCPJungle size tek bir kontrol noktası sunar:

  • 🌐 Claude, Cursor, Copilot ve özel ajanlar için tek bir MCP endpoint'i
  • 🗂️ MCP sunucularını kaydetmek ve yönetmek için tek bir yer
  • 🔎 Araçlar, istemler ve kaynaklar için birleştirilmiş bulma
  • 🎛️ Bir istemcinin yalnızca görmesi gereken araçları sunmak için isteğe bağlı araç grupları
  • 📊 Paylaşılan dağıtımlar için basit erişim kontrolü ve gözlemlenebilirlik kancaları

Yerel bir kurulumla başlayın. İhtiyacınız olduğunda paylaşılan bir takım ağ geçidine ölçeklendirin.

MCPJungle dashboard UI

Dokümantasyon

MCPJungle dokümantasyonunun yeni bir evi var: https://docs.mcpjungle.com.

Lütfen bu README yerine en son rehberler, referans ve operasyonel ayrıntılar için doküman sitesini tercih edin.

AI İstemcileriniz de MCP sunucusu https://docs.mcpjungle.com/mcp kullanarak dokümanlara erişebilir!

Hızlı Başlangıç

Bu hızlı başlangıç rehberi size şunları gösterecektir:

  1. docker compose kullanarak mcpjungle sunucusunu yerel olarak başlatın
  2. MCPJungle'da bir MCP sunucusu ekleyin
  3. Claude Desktop'ınızı mcpjungle'a bağlayarak MCP araçlarınıza erişin

Sunucuyu başlatın

docker-compose.yaml dosyasını getirin ve mcpjungle sunucusunu başlatın:

curl -O https://raw.githubusercontent.com/mcpjungle/MCPJungle/refs/heads/main/docker-compose.yaml
docker compose up -d

Bu, mcpjungle'ın akışlanabilir http mcp sunucusunu varsayılan olarak http://localhost:8080/mcp adresinde ortaya çıkarır.

Bir MCP sunucusu ekleyin

  1. mcpjungle CLI'sını yerel makinenize brew kullanarak veya doğrudan Releases Sayfasından indirin.
brew install mcpjungle/mcpjungle/mcpjungle
  1. CLI kullanarak context7 MCP sunucusunu mcpjungle'a ekleyin:
mcpjungle register --name context7 --url https://mcp.context7.com/mcp

Buna benzer bir çıktı görmelisiniz:

register-context7

mcpjungle'a bağlanın

Claude Desktop'ınızda, mcpjungle MCP sunucusu için konfigürasyonu ekleyin:

{
  "mcpServers": {
    "mcpjungle": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://localhost:8080/mcp",
        "--allow-http"
      ]
    }
  }
}

Konfigürasyonu ekledikten sonra, claude'a basit bir şey sormanız deneyebilirsiniz:

Use context7 to get the documentation for `/lodash/lodash`

Claude daha sonra MCPJungle aracılığıyla context7__get-library-docs aracını çağırmaya çalışacak ve bu, Lodash kütüphanesinin dokümantasyonunu döndürecektir.

Artık tek bir birleştirilmiş endpoint'le çalışan bir MCP kurulumunuz var!

Sonra, docs.mcpjungle.com adresindeki tam dokümantasyonu ve genel yol haritasını inceleyin.


Eski README referansı

📋 İçindekiler

Kurulum

MCPJungle bağımsız bir ikili dosya olarak sevk edilir.

Bunu Releases Sayfasından indirebilir veya Homebrew kullanarak yükleyebilirsiniz:

brew install mcpjungle/mcpjungle/mcpjungle

Kurulumunuzu aşağıdaki komutu çalıştırarak doğrulayın

mcpjungle version

[!IMPORTANT] MacOS'ta, derlenmiş ikili dosya henüz Notarize edilmediği için homebrew kullanmanız gerekecektir.

MCPJungle, kayıt defteri sunucusunu çalıştırmak için kullanışlı olan bir Docker görüntüsü sağlar (bunun hakkında daha sonra).

docker pull ghcr.io/mcpjungle/mcpjungle

Kullanım

MCPJungle bir İstemci-Sunucu mimarisine sahiptir ve ikili dosya hem Sunucu hem de İstemciyi çalıştırmanıza izin verir.

Sunucu

MCPJungle sunucusu, kendisine kayıtlı tüm MCP sunucularını yönetmekten ve AI Ajanlarının bu kayıtlı sunucular tarafından sağlanan araçları keşfetmesi ve çağırması için birleştirilmiş bir MCP ağ geçidi sağlamaktan sorumludur.

Ağ geçidinin kendisi akışlanabilir http taşıması üzerinde çalışır ve /mcp endpoint'inde erişilebilir.

Docker içinde çalıştırma

MCPJungle sunucusunu yerel olarak çalıştırmak için docker compose önerilen yoldur:

# docker-compose.yaml bireyler için yerel makinelerinde kişisel kullanım için mcpjungle çalıştırmak üzere optimize edilmiştir.
# mcpjungle varsayılan olarak `development` modunda çalışır.
curl -O https://raw.githubusercontent.com/mcpjungle/MCPJungle/refs/heads/main/docker-compose.yaml

docker compose up -d

# docker-compose.prod.yaml kuruluşlar için bir uzak sunucuda birden fazla kullanıcı için mcpjungle dağıtmak üzere optimize edilmiştir.
# mcpjungle varsayılan olarak `enterprise` modunda çalışır, bu da kurumsal özellikleri etkinleştirir.
curl -O https://raw.githubusercontent.com/mcpjungle/MCPJungle/refs/heads/main/docker-compose.prod.yaml

docker compose -f docker-compose.prod.yaml up -d

[!NOTE] Eski adıyla production modu olarak bilinen enterprise modu, açıklık için yeniden adlandırılmıştır. Moda daha sonra bu açık adla atıfta bulunacağız. Her şey aynı kalır.

Bu, MCPJungle sunucusunu kalıcı bir Postgres veritabanı konteyner'i ile birlikte başlatacaktır.

Sunucunun çalıştığını hızlıca doğrulayabilirsiniz:

curl http://localhost:8080/health

npx veya uvx'e bağlı stdio tabanlı MCP sunucularını kaydetmeyi planlıyorsanız, bunun yerine mcpjungle'ın stdio etiketli docker görüntüsünü kullanın.

MCPJUNGLE_IMAGE_TAG=latest-stdio docker compose up -d

[!NOTE] docker-compose.yaml kullanıyorsanız, bu zaten varsayılan görüntü etiketidir. docker-compose.prod.yaml kullanıyorsanız, stdio görüntü etiketini belirtmeniz gerekir.

Bu görüntü önemli ölçüde daha büyüktür. Ancak stdio tabanlı MCP sunucularına bağlı olduğunuzda yerel olarak çalıştırmak çok uygun ve önerilidir.

Örneğin, context7 ve deepwiki gibi yalnızca uzak mcp sunucuları kaydetmek istiyorsanız, standart (minimal) görüntüyü kullanabilirsiniz.

Ancak filesystem, time, github vb. gibi stdio tabanlı sunucuları da kullanmak istiyorsanız, bunun yerine stdio etiketli görüntüyü kullanmalısınız.

[!NOTE] Stdio sunucularınız npx veya uvx dışında araçlara bağlıysa, mcpjungle ikili dosyasının yanı sıra bu bağımlılıkları içeren özel bir docker görüntüsü oluşturmanız gerekir.

Üretim Dağıtımı

Varsayılan MCPJungle Docker görüntüsü çok hafiftir - yalnızca minimal bir temel görüntü ve mcpjungle ikili dosyasını içerir.

Bu nedenle üretim dağıtımları için uygun ve önerilidir.

Veritabanı için, ayrı bir Postgres DB kümesi dağıtmanız ve endpoint'ini mcpjungle'a sağlamanız önerilir (Veritabanı bölümüne bakın).

Standart Docker görüntüsünün ve stdio Docker görüntüsünün tanımlarını görebilirsiniz.

Ana makinede doğrudan çalıştırma

Ayrıca sunucuyu doğrudan ana makinenizde ikili dosyayı kullanarak çalıştırabilirsiniz:

mcpjungle start

Bu, ana kayıt defteri sunucusunu ve MCP ağ geçidini başlatır, varsayılan olarak 8080 bağlantı noktasında erişilebilir.

Kapatma

MCPJungle sunucusunun düzgün bir şekilde kapatılması uygun temizlik sağlamak için önemlidir.

Sunucu işlemini durdurmak için önerilen yol, ona bir SIGTERM sinyali göndermektir.

Veritabanı

MCPJungle sunucusu bir veritabanına bağlıdır ve varsayılan olarak, geçerli çalışma dizininde mcpjungle.db adlı bir SQLite DB dosyası oluşturur.

Bu, yerel olarak şeyleri test ederken sorun değildir.

PostgreSQL konfigürasyonu veya özel bir SQLite yolu sağlamazsanız, mcpjungle ./mcpjungle.db kullanır.

SQLite DB dosyası için isteğe bağlı olarak özel bir dosya yolu ayarlayabilirsiniz:

mcpjungle start --sqlite-db-path ./.mcpjungle.db

# veya
export SQLITE_DB_PATH=/path/to/.mcpjungle.db
mcpjungle start

NOT: Bu SQLite dosyasını silmek, kayıtlı tüm sunucu verilerini ve MCPJungle'da depolanan diğer durumu kaldırır.

Daha ciddi dağıtımlar için mcpjungle da Postgresql'i destekler. Bağlanmak için DSN'yi sağlayabilirsiniz:

# Veritabanı DSN'sini bir env var olarak sağlayabilirsiniz
export DATABASE_URL=postgres://admin:root@localhost:5432/mcpjungle_db

#konteyner olarak çalıştır
docker run ghcr.io/mcpjungle/mcpjungle:latest

# veya doğrudan çalıştır
mcpjungle start

DSN kullanmayı tercih etmiyorsanız, postgres'e özgü env var'ları veya dosyalarını da sağlayabilirsiniz:

# postgres'e özgü env var'larını kullanıyorsanız host zorunludur
export POSTGRES_HOST=localhost
export POSTGRES_PORT=5432

export POSTGRES_USER=admin
export POSTGRES_USER_FILE=/path/to/user-file

export POSTGRES_PASSWORD=secret
export POSTGRES_PASSWORD_FILE=/path/to/password-file

export POSTGRES_DB=mcpjungle_db
export POSTGRES_DB_FILE=/path/to/db-file

mcpjungle start

İstemci

Sunucu çalışmaya başladıktan sonra, mcpjungle CLI'sini onunla etkileşime geçmek için kullanabilirsiniz.

MCPJungle şu anda stdio ve Akışlanabilir HTTP Taşımaları kullanan MCP sunucularını desteklemektedir.

[!NOTE] SSE (server-sent events) desteği de mevcuttur ancak şu anda olgun değildir.

MCPJungle'da bunları nasıl kaydedeceğimize bakalım.

Akışlanabilir HTTP tabanlı sunucuları kaydetme

Varsayıp ki, http://127.0.0.1:8000/mcp adresinde add, subtract vb. gibi temel matematik araçları sağlayan bir akışlanabilir http MCP sunucusu zaten çalıştırıyorsunuz.

Bu MCP sunucusunu MCPJungle'a kaydedebilirsiniz:

mcpjungle register --name calculator --description "Provides some basic math tools" --url http://127.0.0.1:8000/mcp

Docker compose kullanarak sunucuyu çalıştırdıysanız ve Linux üzerinde değilseniz, yerel loopback adresiniz yerine host.docker.internal kullanmanız gerekecektir.

mcpjungle register --name calculator --description "Provides some basic math tools" --url http://host.docker.internal:8000/mcp

Kayıt defteri artık bu MCP sunucusunu izlemeye başlayacak ve araçlarını yükleyecektir.

MCPJungle'da bir MCP sunucusu kaydedin

Ayrıca MCP sunucusunu kaydetmek için bir konfigürasyon dosyası sağlayabilirsiniz:

cat ./calculator.json
{
  "name": "calculator",
  "transport": "streamable_http",
  "description": "Provides some basic math tools",
  "url": "http://127.0.0.1:8000/mcp"
}

mcpjungle register -c ./calculator.json

Bu sunucu tarafından sağlanan tüm araçlar artık MCPJungle aracılığıyla erişilebilir:

mcpjungle list tools

# Araç kullanımını denetleyin
mcpjungle usage calculator__multiply

# Bir araç çağır
mcpjungle invoke calculator__multiply --input '{"a": 100, "b": 50}'

MCPJungle Proxy MCP sunucusu aracılığıyla bir araç çağırın

[!NOTE] MCPJungle'daki bir araç, <mcp-server-name>__<tool-name> desenini takip eden kanonik adı ile atıfta bulunulmalıdır. Sunucu adı ve araç adı çift alt çizgi __ ile ayrılır.

örneğin- github adlı bir MCP sunucusu kaydederseniz ve git_commit adlı bir araç sağlarsa, bunu MCPJungle'da github__git_commit adını kullanarak çağırabilirsiniz.

MCP istemciniz de MCPJungle aracılığıyla aracı çağırmak için bu kanonik adı kullanmalıdır.

Akışlanabilir HTTP tabanlı MCP sunucusunu kaydetmek için konfigürasyon dosyası formatı:

{
  "name": "<mcp sunucunuzun adı>",
  "transport": "streamable_http",
  "description": "<açıklama>",
  "url": "<mcp sunucusunun url'si>",
  "bearer_token": "<kimlik doğrulama için isteğe bağlı bearer token>",
  "headers": {
    "<özel http başlığı>": "<değer>"
  }
}

STDIO tabanlı sunucuları kaydetme

STDIO taşımasını kullanan bir MCP sunucusu için örnek konfigürasyon dosyası (buna filesystem.json diyelim):

{
  "name": "filesystem",
  "transport": "stdio",
  "description": "filesystem mcp server",
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-filesystem", "."]
}

Konfigürasyon dosyasını sağlayarak bu MCP sunucusunu MCPJungle'a kaydedebilirsiniz:

# JSON konfigürasyonunu bir dosyaya kaydedin (örneğin, filesystem.json)
mcpjungle register -c ./filesystem.json

STDIO tabanlı MCP sunucusunu kaydetmek için konfigürasyon dosyası formatı:

{
  "name": "<mcp sunucunuzun adı>",
  "transport": "stdio",
  "description": "<açıklama>",
  "command": "<mcp sunucusunu çalıştırmak için komut, örneğin- 'npx', 'uvx'>",
  "args": ["komut", "iletecek", "argümanlar"],
  "env": {
    "KEY": "value"
  }
}

Ayrıca STDIO tabanlı MCP sunucusunu kaydetme hakkında kısa bir video izleyebilirsiniz.

[!TIP] Eğer STDIO sunucunuz bir nedenle başarısız olur veya hata verirse, mcpjungle sunucusunun günlüklerini kontrol edin ve stderr çıktısını görüntüleyin.

JSON konfigürasyon dosyalarında ortam değişkenleri

MCP sunucusu kaydetmek veya araç grupları oluşturmak gibi diğer varlıkları oluşturmak için bir JSON konfigürasyon dosyası kullandığınızda, CLI, isteği sunucuya göndermeden önce dize değerlerinde ortam değişkeni yer tutucularını çözebilir.

  • Yalnızca ${VAR_NAME} olarak yazılan yer tutucular çözülür.
  • Yer tutucular bir dize değerinin herhangi bir yerine görünebilir, örneğin prefix-${VAR_NAME}-suffix.
  • Çözümleme CLI işleminde gerçekleşir, bu nedenle ortam değişkeni, komutu çalıştırdığınız yerde kullanılabilir olmalıdır.
  • Başvurulan ortam değişkeni ayarlanmamışsa, komut bir hata ile başarısız olur.
  • Bu, iç içe nesneler ve dize dizileri de dahil olmak üzere JSON konfigürasyonu genelinde dize alanlarına uygulanır.

Örnek MCP sunucu konfigürasyonu:

{
  "name": "affine-main",
  "transport": "streamable_http",
  "description": "AFFiNE workspace MCP server",
  "url": "https://app.affine.pro/api/workspaces/${AFFINE_WORKSPACE_ID}/mcp",
  "bearer_token": "${AFFINE_API_TOKEN}",
  "headers": {
    "X-Workspace": "${AFFINE_WORKSPACE_ID}"
  }
}

Örnek STDIO konfigürasyonu:

{
  "name": "my-stdio-server",
  "transport": "stdio",
  "command": "uvx",
  "args": ["my-server", "--workspace", "${WORKSPACE_ID}"],
  "env": {
    "API_TOKEN": "${API_TOKEN}"
  }
}

Uyarı ⚠️

MCPJungle Docker içinde çalıştırırken, filesystem mcp sunucusunu çalıştırmak için bazı ek konfigürasyonlar gerekir.

Varsayılan olarak, konteyner içinde mcpjungle ana makinenizin dosya sistemine erişemez.

Bu nedenle, şunları yapmanız gerekir:

  • erişmek istediğiniz ana makine dizinini konteynerda bir hacim olarak monte edin
  • dosya sistemi mcp sunucusu komut argümanlarında montaj yolunu belirtin

docker-compose.yaml tarafından sağlanan mcpjungle, geçerli çalışma dizinini konteynerda /host olarak monte eder.

Bu nedenle, dosya sistemi mcp sunucusu için aşağıdaki konfigürasyonu kullanabilirsiniz:

{
  "name": "filesystem",
  "transport": "stdio",
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-filesystem", "/host"]
}

Daha sonra, mcp /host erişimine sahiptir, yani ana makinenizde geçerli çalışma dizini.

Daha fazla ayrıntı için DEVELOPMENT.md bölümüne bakın.

Docker veya Kubernetes dağıtımından CLI komutlarını çalıştırma

MCPJungle sunucunuz uzak bir Docker konteynerinde veya Kubernetes kümesinde çalışıyorsa, mcpjungle ikili dosyasını doğrudan konteyner içinde de çalıştırabilirsiniz:

docker exec -it <container_name> /mcpjungle
kubectl -n <namespace> exec -it po/<pod_name> -- /mcpjungle

[!NOTE] Standart görüntü bir shell içermez. /mcpjungle öğesini doğrudan docker exec veya kubectl exec aracılığıyla çalıştırın.

Bu, sunucunun çalıştığı aynı ortamdan CLI komutlarını çalıştırmak için yararlıdır.

MCP sunucularını kaydından çıkarma

MCPJungle'dan bir MCP sunucusunu kaldırabilirsiniz.

mcpjungle deregister calculator
mcpjungle deregister filesystem

Kaldırıldık

Benzer MCP sunucuları

Daha fazla: Aggregators →