Magg: Birden fazla MCP sunucusunu keşfetme, kurma ve yönetme yetkisi veren meta-MCP sunucusu. LLM'lerin ihtiyaç duyduğunda kendi yeteneklerini genişletmesine imkan tanıyarak yapay zeka asistanlarının özerk şekilde hareket etmesini sağlar.
Claude Desktop config.json'a ekle
{
"mcpServers": {
"sitbon-magg": {
"command": "python",
"args": [
"-m",
"magg"
]
}
}
} Kaynak kodu al ve yerel olarak çalıştır
git clone https://github.com/sitbon/magg.git ~/.mcp/magg
cd ~/.mcp/magg LLM'lerin kendi yeteneklerini dinamik olarak genişletmelerine olanak tanıyan, diğer MCP serverlarını yöneten, toplayan ve proxy'leyen bir Model Context Protocol sunucusu.
Magg, birden fazla MCP sunucusunu yönetmek için merkezi bir hub görevi gören meta-MCP sunucusudur. LLM'lerin aşağıdakileri yapmalarını sağlayan araçlar sağlar:
Magg'i "LLM araçları için paket yöneticisi" olarak düşünün - AI asistanlarının çalışma zamanında kendi yeteneklerini yükleyip yönetmelerine izin verir.
.magg/config.json içinde tutar.magg_status ve magg_check araçları.uv (önerilir) - astral.sh/uv adresinden yükleyinMagg'i kurmak için en kolay yol, uv kullanarak bir araç olarak yüklemektir:
# Magg'i araç olarak yükle
uv tool install magg
# stdio taşıyıcısıyla çalıştır (Claude Desktop, Cline, vb. için)
magg serve
# HTTP taşıyıcısıyla çalıştır (sistem genelinde erişim için)
magg serve --http
Yüklemeden GitHub'dan doğrudan Magg'i çalıştırabilirsiniz:
# stdio taşıyıcısıyla çalıştır
uvx --from git+https://github.com/sitbon/magg.git magg
# HTTP taşıyıcısıyla çalıştır
uvx --from git+https://github.com/sitbon/magg.git magg serve --http
Geliştirme için depoyu klonlayın ve düzenlenebilir modda yükleyin:
# Depoyu klonla
git clone https://github.com/sitbon/magg.git
cd magg
# Geliştirme bağımlılıklarıyla geliştirme modunda yükle
uv sync --dev
# Veya poetry ile
poetry install --with dev
# CLI'yi çalıştır
magg --help
Magg, GitHub Container Registry'den önceden oluşturulmuş Docker görüntüleri olarak mevcuttur:
# Üretim görüntüsünü çalıştır (WARNING log seviyesi)
docker run -p 8000:8000 ghcr.io/sitbon/magg:latest
# Kimlik doğrulamayla çalıştır (özel anahtarı monte edin veya ayarlayın)
docker run -p 8000:8000 \
-v ~/.ssh/magg:/home/magg/.ssh/magg:ro \
ghcr.io/sitbon/magg:latest
# Veya ortam değişkeniyle
docker run -p 8000:8000 \
-e MAGG_PRIVATE_KEY="$(cat ~/.ssh/magg/magg.key)" \
ghcr.io/sitbon/magg:latest
# Beta görüntüsünü çalıştır (INFO log seviyesi)
docker run -p 8000:8000 ghcr.io/sitbon/magg:beta
# Özel config diziniyle çalıştır
docker run -p 8000:8000 \
-v /path/to/config:/home/magg/.magg \
ghcr.io/sitbon/magg:latest
Magg, üç hedef aşamalı multi-stage Docker derlemesi kullanır:
pro (Üretim): WARNING log seviyesiyle minimal görüntü, üretim dağıtımları için uygundurpre (Üretim Öncesi): Üretimle aynı fakat hazırlık/test için INFO log seviyesiyle (yayınlanmaz ancak mevcuttur)dev (Geliştirme): Sorun giderme için geliştirme bağımlılıkları ve DEBUG günlüğünü içerirGörüntüler GitHub Container Registry'ye aşağıdaki etiketlerle otomatik olarak yayınlanır:
1.2.3, 1.2, dev, 1.2-dev, 1.2-dev-py3.12, vb.beta, beta-devbeta-dev-py3.12, beta-dev-py3.13, vb.Daha kolay yönetim için Docker Compose kullanın:
# Depoyu klonla
git clone https://github.com/sitbon/magg.git
cd magg
# Üretim sürümünü çalıştır
docker compose up magg
# Hazırlık sürümünü çalıştır (port 8001'de)
docker compose up magg-beta
# Geliştirme sürümünü çalıştır (port 8008'de)
# Bu ./.magg/config.json kullanır
docker compose up magg-dev
# Özel kayıt defteri ile derle ve yayınla
REGISTRY=my.registry.com docker compose build
REGISTRY=my.registry.com docker compose push
Yapılandırma seçenekleri için compose.yaml ve .env.example dosyalarına bakın.
Magg üç modda çalışabilir:
Stdio Modu (varsayılan) - Claude Desktop, Cline, Cursor, vb. ile entegrasyon için:
magg serve
HTTP Modu - Sistem genelinde erişim veya web entegrasyonları için:
magg serve --http --port 8000
Hibrit Mod - stdio ve HTTP aynı anda:
magg serve --hybrid
magg serve --hybrid --port 8080 # Özel port
Bu, Magg'i bir MCP istemcisi aracılığıyla kullanmak ve aynı zamanda HTTP erişimine izin vermek istediğinizde özellikle faydalıdır. Örneğin:
Claude Code ile:
# Claude Code'u Magg'i hibrit modda kullanacak şekilde yapılandır
claude mcp add magg -- magg serve --hybrid --port 42000
mbro ile:
# mbro Magg'i barındırır ve stdio üzerinden bağlanır
mbro connect magg "magg serve --hybrid --port 8080"
# Diğer mbro örnekleri HTTP üzerinden bağlanabilir
mbro connect magg http://localhost:8080
Magg çalıştırılırken, LLM'lere aşağıdaki araçları sunur:
magg_list_servers - Yapılandırılmış tüm MCP sunucularını listelemagg_add_server - Yeni MCP sunucusu eklemagg_remove_server - Sunucu silmagg_enable_server / magg_disable_server - Sunucu kullanılabilirliğini aç/kapatmagg_search_servers - Çevrimiçi MCP sunucularını aramagg_list_tools - Tüm sunuculardan tüm kullanılabilir araçları listelemagg_smart_configure - Bir URL'den sunucuyu akıllıca yapılandırmagg_analyze_servers - Yapılandırılmış sunucuları analiz et ve iyileştirmeler önermagg_status - Sunucu ve araç istatistiklerini almagg_check - Sunucu sağlığı kontrol et ve onarım eylemleri (rapor/yeniden monte/kaldır/devre dışı bırak)magg_reload_config - Yapılandırmayı diskten yeniden yükle ve değişiklikleri uygulamagg_load_kit - Kit ve sunucularını yapılandırmaya yüklemagg_unload_kit - Kit'i yapılandırmadan kaldır ve isteğe bağlı olarak sunucularını kaldırmagg_list_kits - Durumlarıyla birlikte tüm mevcut kit'leri listelemagg_kit_info - Belirli bir kit hakkında detaylı bilgi alMagg, etkileşimli keşif için mbro (MCP Browser) CLI aracını içerir. Benzersiz bir özellik, stdio modunda Magg örneğine bağlanabilme yeteneğidir:
# mbro'yu Magg örneğine stdio üzerinden bağla (HTTP sunucusu gerekmez)
mbro connect local-magg magg serve
# Artık MCP istemcisi perspektifinden Magg kurulumunuzu inceleyin
mbro:local-magg> call magg_status
mbro:local-magg> call magg_list_servers
MBro ayrıca şunları destekler:
.mbro dosyalarıyla komutlar oluşturkey=value söz dizimini kullanDetaylar için MBro Belgelendirmesi bölümüne bakın.
Magg, erişimi güvenli hale getirmek için opsiyonel bearer token kimlik doğrulamasını destekler:
Kimlik doğrulamayı başlat (RSA anahtar çifti oluşturur):
magg auth init
İstemciler için JWT token oluştur:
# Token oluştur (ekranda görüntüle)
magg auth token
# Ortam değişkeni olarak dışa aktar
export MAGG_JWT=$(magg auth token -q)
Kimlik doğrulamayla bağlan:
MaggClient kullanarak (MAGG_JWT'den otomatik yükler):from magg.client import MaggClient
async def main():
async with MaggClient("http://localhost:8000/mcp") as client:
tools = await client.list_tools()
from fastmcp import Client
from fastmcp.client import BearerAuth
jwt_token = "your-jwt-token-here"
async with Client("http://localhost:8000/mcp", auth=BearerAuth(jwt_token)) as client:
tools = await client.list_tools()
~/.ssh/magg/ adresinde saklanırMAGG_PRIVATE_KEY ortam değişkeniyle ayarlanabilir.magg/auth.json adresinde varolmayan key_path ayarlayınmagg auth init - Kimlik doğrulamayı başlat (RSA anahtar çifti oluşturur)magg auth status - Kimlik doğrulama yapılandırmasını kontrol etmagg auth token - JWT token oluşturmagg auth public-key - Genel anahtarı görüntüle (doğrulama için)magg auth private-key - Özel anahtarı görüntüle (yedekleme için)Daha fazla kullanım örneği için examples/authentication.py dosyasına bakın.
Magg, konfigürasyonunu geçerli çalışma dizininde .magg/config.json dosyasında saklar. Bu, projeye özgü araç konfigürasyonlarına izin verir.
Magg, yeniden başlatma gerektirmeden otomatik konfigürasyon yeniden yüklemeyi destekler:
config.json değişikliklerini algılar ve otomatik olarak yeniden yükler (mevcut olduğunda watchdog kullanır)kill -HUP <pid> gönder (Unix benzeri sistemler)magg_reload_config aracını kullanKonfigürasyon yeniden yükleme varsayılan olarak etkindir. Bunu kontrol edebilirsiniz:
MAGG_AUTO_RELOAD=false - Otomatik yeniden yüklemeyi devre dışı bırakMAGG_RELOAD_POLL_INTERVAL=5.0 - Saniye cinsinden polling aralığını ayarla (watchdog mevcut olmadığında)Detaylı bilgi için Konfigürasyon Yeniden Yükleme Belgelendirmesi bölümüne bakın.
Magg, yapılandırma için çeşitli ortam değişkenlerini destekler:
MAGG_CONFIG_PATH - Config dosya yolu (varsayılan: .magg/config.json)MAGG_LOG_LEVEL - Günlük seviyesi: DEBUG, INFO, WARNING, ERROR, CRITICAL (varsayılan: INFO)MAGG_STDERR_SHOW=1 - Subprocess MCP sunucularından stderr çıktısını göster (varsayılan: gizlenir)MAGG_AUTO_RELOAD - Config auto-reload'u etkinleştir/devre dışı bırak (varsayılan: true)MAGG_RELOAD_POLL_INTERVAL - Config polling aralığı saniye cinsinden (varsayılan: 1.0)MAGG_READ_ONLY=true - Salt okunur modda çalıştırMAGG_SELF_PREFIX - Magg araçları için ön ek (varsayılan: "magg"). Araçlar {prefix}{sep}{tool} olarak adlandırılır (örn. magg_list_servers)MAGG_PREFIX_SEP - Ön ek ve araç adı arasındaki ayırıcı (varsayılan: "_")Örnek yapılandırma:
{
"servers": {
"calculator": {
"name": "calculator",
"source": "https://github.com/executeautomation/calculator-mcp",
"command": "npx @executeautomation/calculator-mcp",
"prefix": "calc",
"enabled": true
}
}
}
Sunucular çeşitli yollarla eklenebilir:
LLM'yi kullanarak (önerilir):
"Playwright MCP sunucusunu ekle"
"Bir hesap makinesi aracı ara ve ekle"
magg_add_server üzerinden manuel yapılandırma:
name: playwright
url: https://github.com/microsoft/playwright-mcp
command: npx @playwright/mcp@latest
prefix: pw
Doğrudan config düzenleme: .magg/config.json dosyasını doğrudan düzenle
MaggClient artık backend MCP sunucularından gerçek zamanlı bildirimleri destekler:
from magg import MaggClient, MaggMessageHandler
# Callback'ler kullanarak
handler = MaggMessageHandler(
on_tool_list_changed=lambda n: print("Tools changed!"),
on_progress=lambda n: print(f"Progress: {n.params.progress}")
)
async with MaggClient("http://localhost:8000/mcp", message_handler=handler) as client:
# İstemci bağlıyken bildirimleri alacaktır
tools = await client.list_tools()
Özel mesaj işleyicileri de dahil olmak üzere gelişmiş kullanım için Mesajlaşma Belgelendirmesi bölümüne bakın.
Magg, ilişkili MCP sunucularını grup olarak yüklenip boşaltılabilecek "kit'ler" halinde düzenlenmeyi destekler:
# Mevcut kit'leri listele
magg kit list
# Bir kit yükle (tüm sunucularını ekle)
magg kit load web-tools
# Bir kit'i boşalt (yalnızca o kit'teki sunucuları kaldır)
magg kit unload web-tools
# Bir kit hakkında bilgi al
magg kit info web-tools
Magg'e bir MCP istemcisi aracılığıyla bağlıyken kit'leri programlı olarak da yönetebilirsiniz:
magg_list_kits - Tüm mevcut kit'leri listelemagg_load_kit - Bir kit ve sunucularını yüklemagg_unload_kit - Bir kit'i boşaltmagg_kit_info - Detaylı kit bilgisi alKit'ler, ~/.magg/kit.d/ veya .magg/kit.d/ adresinde depolanan ve ilişkili sunucu koleksiyonunu tanımlayan JSON dosyalarıdır. Kit'leri oluşturma ve yönetme hakkında detaylı bilgi için Kit Belgelendirmesi bölümüne bakın.
MBro script'leriyle yaygın iş akışlarını otomatikleştirin:
# Kurulum script'i oluştur
cat > setup.mbro <<EOF
# Magg'e bağlan ve durumu kontrol et
connect magg magg serve
call magg_status
call magg_list_servers
# Gerekirse yeni sunucu ekle
call magg_add_server name=calculator source="npx -y @modelcontextprotocol/server-calculator"
EOF
# Script'i çalıştır
mbro -x setup.mbro
Daha fazla belgelendirme için docs/ bölümüne bakın.
Magg birden fazla yerde görünür. Lütfen aşağıdaki bölüme alfabetik sırayla daha fazla görünüm eklemek için PR göndermekten çekinmeyin.
MindsDB MCP server ile farklı platformlar ve veritabanları arasındaki verileri bağlayın ve birleştirin.
2.500+ API ile 8.000'den fazla hazır araçla bağlantı kurun ve sunucuları kendi uygulamanız içinde yönetin.
MetaMCP, MCP bağlantılarınızı GUI ile yöneten tek bir merkezi MCP server ara yazılımıdır.
40'tan fazla uygulamayı tek bir binary ile SQL kullanarak sorgulayın. PostgreSQL, MySQL veya SQLite uyumlu veritabanlarınıza da bağlanabilir. Yerel-öncelikli ve gizlilik odaklı tasarımı ile sunulur.
Kurumsal AI Ajanları için self-hosted MCP Server kayıt defteri
MCP sunucuları için bir reverse proxy ve yönetim katmanı, Kubernetes ortamlarında ölçeklenebilir, oturum farkında yönlendirme ve lifecycle yönetimi sağlar.