Developer Tools TypeScript ★ 156

docker/hub-mcp

Docker Hub ile etkileşim kurmak için resmi MCP sunucusu; repository'lere, hub arama ve Docker Hardened Images'a erişim sağlar.

Claude Desktop config.json'a ekle

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

Docker Hub MCP Server

Trust Score

Docker Hub MCP Server, Model Context Protocol (MCP) sunucusu olup Docker Hub API'leriyle arayüz oluşturarak LLM'lerin erişebilmesini sağlar ve akıllı içerik keşfi ile depo yönetimini mümkün kılar.

Konteyner ile geliştirme yapan, özellikle AI ve LLM güdümlü iş akışlarında çalışan geliştiriciler, Docker Hub görüntülerinin geniş ortamında yeterli bağlama sahip değildir. Sonuç olarak, LLM'ler doğru görüntüler öneremekte zorlanır ve geliştiriciler inşa etmek yerine manuel arama yaparak zaman kaybederler.

Kullanım Alanları

  • AI güdümlü görüntü önerileri - LLM'ler doğru konteyner görüntü önerileri için gerçek zamanlı Docker Hub verilerine erişebilir.
  • Geliştirilmiş içerik keşfi - AI araçları geliştirici'lerin doğru görüntüleri daha hızlı bulmalarına yardımcı olur.
  • Basitleştirilmiş Hub iş akışları - Docker depoları ve görüntülerini doğal dil kullanarak yönetin.

Ön Koşullar

Kurulum

  1. Derleme

    npm install
    npm run build
    
  2. Çalıştırma

     npm start -- [--transport=http|stdio] [--port=3000]
    
  • Varsayılan argümanlar:
    • transport: http veya stdio arasında seçim yapın (varsayılan: stdio)
    • port=3000 Bu, sunucuyu varsayılan ayarlarla başlatır ve yalnızca Docker Hub'ın genel içeriğine erişebilir.

Inspector'da Çalıştırın [İsteğe Bağlı]

MCP Inspector, sunucunuzu test etmek için bir web arayüzü sağlar:

npx @modelcontextprotocol/inspector node dist/index.js [--transport=http|stdio] [--port=3000]

Docker ile Kimlik Doğrulama

Varsayılan olarak bu MCP sunucusu yalnızca Docker Hub'daki genel içeriği sorgulamak için kullanılabilir. Depo'larınızı yönetmek için kimlik doğrulama sağlamanız gerekir.

Kimlik Doğrulama ile Çalıştırın

HUB_PAT_TOKEN=<a_pat_token> npm start -- [--username=<the_hub_username_for_the_pat>]

Inspector'da Çalıştırın [İsteğe Bağlı]

HUB_PAT_TOKEN=<a_pat_token> npx @modelcontextprotocol/inspector node dist/index.js[--username=<the_hub_username_for_the_pat>]

Docker Ask Gordon'da Kullanım

Gordon'u Docker Hub MCP sunucusuyla etkileşim kurabilen bir ana bilgisayar olacak şekilde yapılandırabilirsiniz.

Gordon Kurulumu

Ask Gordon, Docker Desktop'a ve Docker CLI'ye gömülü kişisel AI asistanınız. Docker ekosisteminin en iyi şekilde yararlanmanıza yardımcı olmak ve iş akışınızı kolaylaştırmak için tasarlanmıştır.

Gordon'u Docker Hub MCP sunucusuyla etkileşim kurabilen bir istemci olacak şekilde yapılandırabilirsiniz.

  1. Çalışma dizininizde gordon-mcp.yml dosyasını oluşturun.
  2. gordon-mcp.yml dosyasındaki ortam değişkenlerini Docker Hub kullanıcı adınız ve PAT token'ınız ile değiştirin.
services:
  hub:
    image: hub
    environment:
      - HUB_PAT_TOKEN=<your_pat_token>
    command:
      - --username=<your_hub_username>
  1. docker build -t hub . komutunu çalıştırın
  2. docker ai komutunu çalıştırın

Diğer MCP İstemcilerinde Kullanım

Claude Desktop ile Kullanım

NOT: Adım 1'de bahsedildiği gibi uygulamayı zaten derlediğinizden emin olun.

  1. Docker Hub MCP Server yapılandırmasını claude_desktop_config.json dosyasına ekleyin:

NOT: Node sürümlerini yönetmek için nvm kullanıyorsanız, Node binary yolunu command özelliğine koymalısınız. Bu, MCP sunucusunun doğru Node sürümü ile çalışmasını sağlar. Binary yolunuzu shell'inizde which node komutunu çalıştırarak bulabilirsiniz

Yalnızca genel depolar için:

  • /FULL/PATH/TO/YOUR/docker-hub-mcp-server - Bu depoyu klonladığınız tam yol
{
    "mcpServers": {
        "docker-hub": {
            "command": "node",
            "args": ["/FULL/PATH/TO/YOUR/docker-hub-mcp-server/dist/index.js", "--transport=stdio"]
        }
    }
}

Kimlik doğrulamalı erişim için (önerilir):

Aşağıdaki değerleri değiştirin:

  • YOUR_DOCKER_HUB_USERNAME - Docker Hub kullanıcı adınız
  • YOUR_DOCKER_HUB_PERSONAL_ACCESS_TOKEN - Docker Hub Kişisel Erişim Token'ınız
  • /FULL/PATH/TO/YOUR/docker-hub-mcp-server - Bu depoyu klonladığınız tam yol
{
    "mcpServers": {
        "docker-hub": {
            "command": "node",
            "args": [
                "/FULL/PATH/TO/YOUR/docker-hub-mcp-server/dist/index.js",
                "--transport=stdio",
                "--username=YOUR_DOCKER_HUB_USERNAME"
            ],
            "env": {
                "HUB_PAT_TOKEN": "YOUR_DOCKER_HUB_PERSONAL_ACCESS_TOKEN"
            }
        }
    }
}
  1. Yapılandırma dosyasını kaydedin ve değişikliklerin etkili olması için Claude Desktop'ı tamamen yeniden başlatın.

VS Code ile Kullanım

  1. Docker Hub MCP Server yapılandırmasını VS Code'daki Kullanıcı Ayarları (JSON) dosyasına ekleyin. Bunu Command Palette açarak ve Preferences: Open User Settings (JSON) yazarak yapabilirsiniz.

Yalnızca genel depolar için:

  • /FULL/PATH/TO/YOUR/docker-hub-mcp-server - Bu depoyu klonladığınız tam yol
{
    "mcpServers": {
        "docker-hub": {
            "command": "node",
            "args": ["/FULL/PATH/TO/YOUR/docker-hub-mcp-server/dist/index.js", "--transport=stdio"]
        }
    }
}

Kimlik doğrulamalı erişim için (önerilir):

Aşağıdaki değerleri değiştirin:

  • YOUR_DOCKER_HUB_USERNAME - Docker Hub kullanıcı adınız
  • YOUR_DOCKER_HUB_PERSONAL_ACCESS_TOKEN - Docker Hub Kişisel Erişim Token'ınız
  • /FULL/PATH/TO/YOUR/docker-hub-mcp-server - Bu depoyu klonladığınız tam yol
{
    "mcpServers": {
        "docker-hub": {
            "command": "node",
            "args": [
                "/FULL/PATH/TO/YOUR/docker-hub-mcp-server/dist/index.js",
                "--transport=stdio",
                "--username=YOUR_DOCKER_HUB_USERNAME"
            ],
            "env": {
                "HUB_PAT_TOKEN": "YOUR_DOCKER_HUB_PERSONAL_ACCESS_TOKEN"
            }
        }
    }
}
  1. Command Palette açın ve MCP: List Servers yazın.
  2. docker-hub seçin ve Start Server seçeneğini seçin.

Görev Örnekleri

Görüntüleri Bulma

# Resmi görüntüleri arayın
$ docker ai "Search for official nginx images on Docker Hub"

# Dağıtım boyutunu azaltmak ve performansı geliştirmek için hafif görüntüleri arayın
$ docker ai "Search for minimal Node.js images with small footprint"

# Bir base görüntünün en son tag'ını alın
$ docker ai "Show me the latest tag details for go"

# Kurumsal özellikler ve güvenilirlik içeren üretime hazır bir veritabanı bulun
$ docker ai "Search for production ready database images"

# Ubuntu sürümlerini karşılaştırın ve projeniz için doğru olanı seçin
$ docker ai "Help me find the right Ubuntu version for my project"

Depo Yönetimi

# Bir depo oluşturun
$ docker ai "Create a repository in my namespace"

# Ad alanınızdaki tüm depoları listeleyin
$ docker ai "List all repositories in my namespace"

# Ad alanınızda en büyük depoyu bulun
$ docker ai "Which of my repositories takes up the most space?"

# Son zamanlarda güncellenmemiş depoları bulun
$ docker ai "Which of my repositories haven't had any pushes in the last 60 days?"

# Şu anda aktif olan ve kullanılan depoları bulun
$ docker ai "Show me my most recently updated repositories"

# Bir depo hakkında ayrıntılı bilgi alın
$ docker ai "Show me information about my '<repository-name>' repository"

Görüntüleri Çekme/Gönderme

# En son PostgreSQL sürümünü çekin
$ docker ai "Pull the latest postgres image"

# Görüntüyü Docker Hub depo'unuza gönderin
$ docker ai "Push my <image-name> to my <repository-name> repository"

Tag Yönetimi

# Bir depo için tüm tag'ları listeleyin
$ $ docker ai "Show me all tags for my '<repository-name>' repository"

# En son gönderilen tag'ı bulun
$ docker ai "What's the most recent tag pushed to my '<repository-name>' repository?"

# Mimari filtrelemesi ile tag'ları listeleyin
$ docker ai "List tags for in the '<repository-name>' repository that support amd64 architecture"

# Belirli bir tag hakkında ayrıntılı bilgi alın
$ docker ai "Show me details about the '<tag-name>' tag in the '<repository-name>' repository"

# Belirli bir tag'ın var olup olmadığını kontrol edin
$ docker ai "Check if version 'v1.2.0' exists for my 'my-web-app' repository"

Docker Hardened Görüntüleri

# Kullanılabilir hardened görüntüleri listeleyin
$ docker ai "What is the most secure image I can use to run a node.js application?"

# Dockerfile'ı hardened görüntü kullanacak şekilde dönüştürün
$ docker ai "Can you help me update my Dockerfile to use a docker hardened image instead of the current one"

Araçlar

Search

  • search - Search V4 API'sini kullanarak depo ve içeriği arayın
    • query: Arama sorgu parametresi (string, gerekli)
    • architectures: Mimarilere göre filtrele (string, isteğe bağlı)
    • badges: Görüntü içerik türü rozet'lerine göre filtrele (string, isteğe bağlı)
    • categories: Kategorilere göre filtrele (string, isteğe bağlı)
    • extension_reviewed: İncelenen extension'lara göre filtrele (boolean, isteğe bağlı)
    • from: Sayfalandırma için atlanacak belge sayısı (number, isteğe bağlı)
    • images: Görüntü adlarına göre filtrele (string, isteğe bağlı)
    • operating_systems: İşletim sistemlerine göre filtrele (string, isteğe bağlı)
    • order: Sonuçların sıralanmasını değiştir (string, isteğe bağlı)
    • size: Döndürülecek en fazla sonuç sayısı (number, isteğe bağlı)
    • sort: Sonuçları arama alanına göre sırala (string, isteğe bağlı)
    • type: Depo içerik türüne göre filtrele (string, isteğe bağlı)

Ad Alanı Yönetimi

  • get_namespaces - Kullanıcının üyesi olduğu ad alanlarının listesini alın
    • page: Sayfalandırma için sayfa numarası (string, isteğe bağlı)
    • page_size: Sayfa başına öğe sayısı (string, isteğe bağlı)

Depo Yönetimi

  • list_repositories_by_namespace - Sağlanan ad alanı altındaki tüm depoları listeleyin

    • namespace: Depo ad alanı (string, gerekli)
    • content_types: Virgülle ayrılmış içerik türü listesi (string, isteğe bağlı)
    • media_types: Virgülle ayrılmış medya türü listesi (string, isteğe bağlı)
    • name: Depo adına göre ara (string, isteğe bağlı)
    • ordering: Sıralama düzeni (string, isteğe bağlı)
    • page: Sayfa numarası (number, isteğe bağlı)
    • page_size: Sayfa başına öğe sayısı (number, isteğe bağlı)
  • get_repository_info - Bir depo hakkında bilgi alın

    • namespace: Depo ad alanı (string, gerekli)
    • repository: Depo adı (string, gerekli)
  • check_repository - Bir deponun var olup olmadığını kontrol edin

    • namespace: Depo ad alanı (string, gerekli)
    • repository: Depo adı (string, gerekli)
  • check_repository_tag - Bir depo'da belirli bir tag'ın var olup olmadığını kontrol edin

    • namespace: Depo ad alanı (string, gerekli)
    • repository: Depo adı (string, gerekli)
    • tag: Tag adı (string, gerekli)
  • create_repository - Sağlanan ad alanında yeni bir depo oluşturun

    • namespace: Depo ad alanı (string, gerekli)
    • body: İstek gövde verisi (object, isteğe bağlı)
  • update_repository_info - Depo bilgisini güncelle

    • namespace: Depo ad alanı (string, gerekli)
    • repository: Depo adı (string, gerekli)
    • body: İstek gövde verisi (object, isteğe bağlı)

Tag Yönetimi

  • list_repository_tags - Bir depo için tüm tag'ları listeleyin

    • namespace: Depo ad alanı (string, gerekli)
    • repository: Depo adı (string, gerekli)
    • architecture: Mimariye göre filtrele (string, isteğe bağlı)
    • os: İşletim sistemine göre filtrele (string, isteğe bağlı)
    • page: Sayfa numarası (number, isteğe bağlı)
    • page_size: Sayfa başına öğe sayısı (number, isteğe bağlı)
  • read_repository_tag - Belirli bir depo tag'ının ayrıntılarını alın

    • namespace: Depo ad alanı (string, gerekli)
    • repository: Depo adı (string, gerekli)
    • tag: Tag adı (string, gerekli)

Hardened Görüntüleri

  • docker_hardened_images - Ad alanında yansıtılan Docker Hardened Images (DHI) sorgula
    • namespace: Yansıtılan hardened depoları sorgulamak için ad alanı (string, isteğe bağlı)

Lisanslama

docker/hub-mcp Apache License, Version 2.0 altında lisanslanmıştır. Tam lisans metni için LICENSE dosyasına bakın.

Benzer MCP sunucuları

eyaltoledano/claude-task-master Developer Tools

AI destekli geliştirme için yapay zeka tabanlı görev yönetim sistemi. PRD ayrıştırma, görev genişletme, çoklu provider desteği (Claude, OpenAI, Gemini, Perplexity, xAI) ve optimize edilmiş context kullanımı için seçmeli tool yükleme özelliklerine sahiptir.

eyaltoledano/claude-task-master ★ 27,664
GLips/Figma-Context-MCP Developer Tools

Kodlama ajanlarına Figma verilerine doğrudan erişim sağlayarak tasarım implementasyonunu tek adımda tamamlamalarını sağlar.

GLips/Figma-Context-MCP ★ 15,186
DeusData/codebase-memory-mcp Developer Tools

Yüksek performanslı kod zekası MCP sunucusu. Codebase'leri kalıcı bir knowledge graph'e indeksler — ortalama repo milisaniyeler içinde. 66 dil desteği, sub-ms sorgular, %99 daha az token. Tek statik binary, hiç bağımlılık yok.

DeusData/codebase-memory-mcp ★ 10,848
idosal/git-mcp Developer Tools

gitmcp.io, herhangi bir GitHub repository veya projeye bağlanıp belgelendirme yapabilen genel amaçlı bir remote MCP server'ıdır.

idosal/git-mcp ★ 8,197
mobile-next/mobile-mcp Developer Tools

Android/iOS uygulamaları ve cihazların otomasyon, geliştirme ile app scraping işlemleri için MCP Server. iPhone, Google Pixel, Samsung gibi simülatör, emülatör ve fiziksel cihazları destekler.

mobile-next/mobile-mcp ★ 5,247
21st-dev/magic-mcp Developer Tools

21st.dev'in en iyi tasarım mühendislerinden ilham alarak özel olarak hazırlanmış UI bileşenleri oluşturun.

21st-dev/magic-mcp ★ 5,202
Daha fazla: Developer Tools →