Other Tools and Integrations Go ★ 122

mrjoshuak/godoc-mcp

Go paketlerinin dokümantasyonuna ve type tanımlarına AI asistanları için akıllı erişim sağlayan, token-tasarruflu bir dokümantasyon sunucusu.

Claude Desktop config.json'a ekle

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

godoc-mcp

Go Report Card Go Reference License

Genel Bakış

godoc-mcp, Go belgelerine verimli bir şekilde erişim sağlayan bir Model Context Protocol (MCP) sunucusudur. LLM'lerin tüm kaynak dosyalarını okumaya gerek kalmadan paket belgelerine doğrudan erişim sağlayarak Go projelerini anlamalarına yardımcı olur. godoc-mcp, Go paketlerini anlamak ve kullanmak için gereken token sayısını önemli ölçüde azaltarak LLM'leri kullanarak Go'da geliştirme performansını büyük ölçüde iyileştirebilir.

Başlarken

go install github.com/mrjoshuak/godoc-mcp@latest

Neden godoc-mcp Kullanmalısınız?

Bir cümleyle: godoc-mcp, LLM'lerin Go projelerini anlaması için daha token verimli bir yol sağlar.

Geleneksel dosya okuma yaklaşımları, LLM'lerin tek bir paketi anlamak için genellikle birçok dosyayı işlemesini gerektirir. godoc-mcp birkaç avantaj sağlar:

  1. Token Verimliliği: Yalnızca temel belgeleri döndürerek token kullanımını önemli ölçüde azaltır
  2. Yapılandırılmış Bilgi: Resmi paket belgelerini tutarlı ve iyi yapılandırılmış bir formatta sağlar
  3. Proje Navigasyonu: Proje yapılarının akıllı işlenmesi LLM'lerin çok paketli projeleri anlamasına yardımcı olur
  4. Entegrasyona Hazır: Diğer MCP sunucularıyla çalışarak hem üst düzey hem de detaylı kod analizi sağlar
  5. Performans: Caching ve optimize edilmiş token kullanımı godoc-mcp'yi Go geliştirme için hızlı ve verimli bir araç haline getirir
  6. Yerel: Belgelere erişmek için internet bağlantısı gerektirmez

godoc-mcp ile bir LLM, tüm kaynak dosyalarını okumak zorunda kalmadan tam olarak ihtiyaç duyduğu bilgiyi alabilir. LLM'nin alabileceği farklı ayrıntı seviyeleri aşağıda verilmiştir.

  • Bir dışa aktarılan sembol için belge
  • Bir sembol için tam kaynak kodu
  • Tüm dışa aktarılan sembollerin listesi (özlü belge)
  • Dışa aktarılmayan semboller dahil tüm sembollerin listesi
  • Bir paket için tam belge
  • Bir paket için tüm kaynak kodu

Bu, godoc-mcp'yi Go geliştirici LLM'leri kullanan kişiler için gerekli bir araç haline getirir; çünkü LLM'lerin önceden herhangi bir programlama dilinde mümkün olandan önemli ölçüde daha fazla ve daha detaylı olarak bağlamı anlamalarını sağlar.

Özellikler

Sunucu aşağıdakileri yapacaktır:

  1. Go dosyaları içeren dizinler için: Paket belgelerini döndür
  2. Go dosyaları olmayan dizinler için: Alt dizinlerdeki kullanılabilir Go paketlerini listele
  3. Import yolları için: Standart kütüphane veya üçüncü taraf paket belgelerini döndür
  • Verimli Belge Erişimi: Minimal token kullanımıyla resmi Go belgelerini alır
  • Akıllı Paket Keşfi: Go dosyaları olmayan bir dizine işaret edildiğinde, alt dizinlerdeki kullanılabilir Go paketlerini listeler
  • Esnek Yol Desteği:
    • Yerel dosya yolları (örneğin, "/full/path/to/mypackage")
    • Import yolları (örneğin, "io", "github.com/user/repo")
  • Otomatik Module Bağlamı:
    • Gerektiğinde geçici Go projeleri oluşturur
    • Harici paketler için modül bağlamını otomatik olarak kurar
    • Herhangi bir paket belgesi için manuel modül kurulumu gerekmez
    • Geçici projelerin temizlenmesini işler
  • Module Farkında: Çalışma dizini bağlamı aracılığıyla üçüncü taraf paketlerin belgelerine destek verir (yani çalışma dizininden go doc komutunu çalıştıracaktır)
  • Performans Optimize Edilmiş:
    • Yerleşik response caching
    • Odaklanmış belge alma aracılığıyla verimli token kullanımı
    • Response boyutları hakkında metadata
    • Standart kütüphane vs harici paketlerin akıllı işlenmesi

Örnekler

Kodlama görevleri sırasında belge sağlamanın yanı sıra, godoc-mcp Go projelerini ve paketlerini keşfetmek için de kullanılabilir. İşte genel prompt vermek için bazı örnekler:

Proje Anlayışı

"Bir Go projesine /path/to/some/project adresinden bakıyorum. Hangi paketleri içeriyor ve ne işe yaradıklarını söyler misin?"

Paket Arayüzü Anlayışı

"io paketi hangi arayüzleri sağlıyor? Özellikle okumaya ilişkin herhangi bir şey arıyorum."

Uygulama Rehberliği

"io.Reader arayüzünü uygulamam gerekiyor. Belgelerini ve bilmem gereken ilgili türleri göster."

API Kullanımı

"Lütfen /path/to/some/project içindeki Resource türünün belgelerini göster. Bunu nasıl oluşturacağını ve kullanacağını anlamam gerekiyor."

Kütüphane Keşfi

"Ben /path/to/some/project içindeyim ve github.com/gorilla/mux kullanıyor. Router türünün belgelerini göster."

Metot Keşfi

"http.Request türü üzerinde hangi metotlar mevcut? Standart kütüphane HTTP işleyicileriyle çalışıyorum."

Odaklanmış Öğrenme

"/path/to/project/server paketindeki Server türünü nasıl yapılandıracağınızı açıklayın."

Paket Taraması

"Yeni bir Go proje dizinindeyim ve birden fazla paket görüyorum. Her birinin ne yaptığını gösterebilir misin?"

Kullanım

Transport Seçenekleri

godoc-mcp üç transport modunu destekler:

  • stdio (varsayılan): Standart giriş/çıkış, Claude Desktop gibi yerel MCP istemcileri için
  • sse: HTTP üzerinden Server-Sent Events, web tabanlı MCP istemcileri için
  • http: Streamable HTTP, MCP spesifikasyonunun önerilen HTTP transport'u
# Varsayılan stdio modu
godoc-mcp

# Port 8080'de SSE modu
godoc-mcp --transport sse --addr :8080

# Streamable HTTP modu
godoc-mcp --transport http --addr :9090

Docker

docker pull ghcr.io/mrjoshuak/godoc-mcp:latest

Docker MCP Gateway ile kullanım için MCP yapılandırmanıza ekleyin:

{
  "mcpServers": {
    "godoc": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "ghcr.io/mrjoshuak/godoc-mcp:latest"]
    }
  }
}

Yerel proje belgelerine erişmek için proje dizininizi mount edin ve working_dir parametresi olarak /workspace kullanın:

{
  "mcpServers": {
    "godoc": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-v", "/path/to/project:/workspace", "ghcr.io/mrjoshuak/godoc-mcp:latest"]
    }
  }
}

Docker üzerinden SSE transport ile çalıştırmak için:

docker run --rm -p 8080:8080 ghcr.io/mrjoshuak/godoc-mcp:latest --transport sse --addr :8080

Claude Code

claude mcp add godoc-mcp -- godoc-mcp

Claude Desktop

Claude masaüstü uygulamasına eklemek için MCP yapılandırmanızı düzenleyin:

{
  "mcpServers": {
    "godoc": {
      "command": "godoc-mcp"
    }
  }
}

go doc Go kurulumunuzu bulamazsa, ortam değişkenleri ekleyin:

{
  "mcpServers": {
    "godoc": {
      "command": "godoc-mcp",
      "env": {
        "GOPATH": "/path/to/go",
        "GOMODCACHE": "/path/to/go/pkg/mod"
      }
    }
  }
}

Araçlar

godoc-mcp iki araç sağlar:

get_doc

Go paketi, türü, fonksiyonu veya metodu için belge alır.

  • path (gerekli): Paket import yolu (örneğin, io, github.com/user/repo) veya yerel dosya yolu
  • target (isteğe bağlı): Belgelendirilecek spesifik sembol (fonksiyon, tür, vb.)
  • cmd_flags (isteğe bağlı): Ek go doc bayrakları (izin verilen: -all, -src, -u, -short, -c)
  • working_dir (isteğe bağlı): Module bağlamı için çalışma dizini (göreceli yollar için gerekli)
  • page (isteğe bağlı): Sayfalı sonuçlar için sayfa numarası (varsayılan: 1)
  • page_size (isteğe bağlı): Sayfa başına satırlar, 100-5000 (varsayılan: 1000)

list_packages

Go paket yolu altındaki tüm alt paketleri listele. Doğru import yollarını tahmin etmek yerine keşfetmek için bunu kullanın.

  • path (gerekli): Kök paket import yolu (örneğin, net, github.com/user/repo)
  • working_dir (isteğe bağlı): Module bağlamı için çalışma dizini (göreceli yollar için gerekli)

Sorun Giderme

  • Yerel yollar için, Go kaynak dosyaları içerdiğinden veya Go paketlerini içeren dizinleri gösterdiğinden emin olun
  • Module ile ilgili hatalar görürseniz, MCP sunucusu yapılandırmanızda GOPATH ve GOMODCACHE ortam değişkenlerinin doğru şekilde ayarlandığından emin olun
  • Sunucu, harici paketler için module bağlamını otomatik olarak işler, ancak özel durumlar için gerekirse yine de belirli bir working_dir sağlayabilirsiniz

Lisans

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

Benzer MCP sunucuları

Daha fazla: Other Tools and Integrations →