AI ajanlarının Semgrep kullanarak kodda güvenlik açıklarını taramasına izin verir.
Claude Desktop config.json'a ekle
{
"mcpServers": {
"semgrep-mcp": {
"command": "python",
"args": [
"-m",
"mcp"
]
}
}
} Kaynak kodu al ve yerel olarak çalıştır
git clone https://github.com/semgrep/mcp.git ~/.mcp/mcp
cd ~/.mcp/mcp semgrep deposuna taşınmıştır! ⚠️Bu depo kullanım dışı bırakılmıştır ve Semgrep MCP sunucusuna yönelik daha sonraki güncellemeler resmi semgrep binary'si aracılığıyla yapılacaktır.
Kodu güvenlik açıkları için taramak üzere Semgrep kullanmak için bir Model Context Protocol (MCP) sunucusu. Vibe coding güvenliğini sağlayın! 😅
Model Context Protocol (MCP), LLM'ler, Agentlar ve Cursor, VS Code, Windsurf gibi IDE'ler veya MCP'yi destekleyen başka herhangi bir araç için, uzmanlaşmış yardım almak, bağlam elde etmek ve araçların gücünden yararlanmak amacıyla standartlaştırılmış bir API'dir. Semgrep, birçok dili semantik olarak anlayan hızlı, deterministik bir statik analiz aracıdır ve 5.000'den fazla kuralı içerir. 🛠️
[!NOTE] Bu beta projesi aktif geliştirme altındadır. Geri bildiriminiz, hata raporlarınız, özellik istekleriniz ve kodunuz çok hoş gelecektir.
#mcpcommunity Slack kanalına katılın!
Python paketini uv kullanarak CLI komutu olarak çalıştırın:
uvx semgrep-mcp # daha fazla seçenek için --help bölümüne bakın
Veya Docker konteyner olarak çalıştırın:
docker run -i --rm ghcr.io/semgrep/mcp -t stdio
Örnek mcp.json
{
"mcpServers": {
"semgrep": {
"command": "uvx",
"args": ["semgrep-mcp"],
"env": {
"SEMGREP_APP_TOKEN": "<token>"
}
}
}
}
Otomatik olarak kullanılması için .cursor/rules öğesine bir talimat ekleyin:
Her zaman Semgrep kullanarak oluşturulan kodu güvenlik açıkları için tarayın
Semgrep olarak adlandırınhttps://mcp.semgrep.ai/sse olarak ayarlayınNo authentication olarak ayarlayınResmi doçlarda daha fazla ayrıntı görebilirsiniz.
[!WARNING] mcp.semgrep.ai beklenmedik şekilde kırılabilecek deneysel bir sunucudur. Hızla yeni işlevsellik kazanacaktır.🚀
{
"mcpServers": {
"semgrep": {
"type": "streamable-http",
"url": "https://mcp.semgrep.ai/mcp"
}
}
}
LLM'lerin eylemleri gerçekleştirmesini, deterministik hesaplamalar yapmasını ve harici hizmetlerle etkileşime girmesini sağlayın.
security_check: Kodu güvenlik açıkları için tarayınsemgrep_scan: Kod dosyalarını belirli bir config string'i ile güvenlik açıkları için tarayınsemgrep_scan_with_custom_rule: Kod dosyalarını özel bir Semgrep kuralı kullanarak tarayınget_abstract_syntax_tree: Kodun Abstract Syntax Tree (AST)'sini çıkarasemgrep_findings: Semgrep AppSec Platform API'sinden Semgrep bulgularını getirinsupported_languages: Semgrep'in desteklediği dillerin listesini döndürünsemgrep_rule_schema: En son semgrep kuralı JSON Schema'sını getirinYaygın LLM etkileşimlerini standartlaştırmak için yeniden kullanılabilir istemler.
write_custom_semgrep_rule: Semgrep kuralı yazmaya yardımcı olması için bir istem döndürünVerileri ve içeriği LLM'lere gösterin
semgrep://rule/schema: JSON schema kullanarak Semgrep kuralı YAML sözdiziminin tanımısemgrep://rule/{rule_id}/yaml: Semgrep registry'sinden tam Semgrep kuralı YAML formatındaBu Python paketi PyPI'ye semgrep-mcp olarak yayımlanır ve pip, pipx, uv, poetry veya başka bir Python paket yöneticisi ile kurulup çalıştırılabilir.
$ pipx install semgrep-mcp
$ semgrep-mcp --help
Usage: semgrep-mcp [OPTIONS]
MCP sunucusunun giriş noktası
Hem stdio hem de sse taşımalarını destekler. Stdio için stdin'den okur
ve stdout'a yazacaktır. SSE için, port 8000'de bir HTTP sunucusu başlatacaktır.
Options:
-v, --version Sürümü göster ve çık.
-t, --transport [stdio|sse] Kullanılacak taşıma protokolü (stdio veya sse)
-h, --help Bu yardım mesajını göster.
Stdio taşıması, standart girdi ve çıktı akışları aracılığıyla iletişimi sağlar. Bu, yerel entegrasyonlar ve komut satırı araçları için özellikle kullanışlıdır. Daha fazla ayrıntı için belirtilime bakın.
semgrep-mcp
Varsayılan olarak, Python paketi stdio modunda çalışacaktır. Standart girdi ve çıktı akışlarını kullandığı için, hiçbir çıktı olmadan aracın asılı kaldığı görülecektir, ancak bu beklenen bir davranıştır.
Bu sunucu Github's Container Registry'ye yayımlanır (ghcr.io/semgrep/mcp)
docker run -i --rm ghcr.io/semgrep/mcp -t stdio
Varsayılan olarak, Docker konteyner SSE modundadır, bu nedenle görüntü adından sonra -t stdio eklemek ve stdio modunda çalıştırmak için -i ile çalıştırmak zorunda kalacaksınız.
Akışlandırılabilir HTTP, HTTP POST istekleri aracılığıyla JSON RPC üzerinden akış yanıtlarını etkinleştirir. Daha fazla ayrıntı için belirtilime bakın.
Varsayılan olarak, sunucu istemci bağlantıları için 127.0.0.1:8000/mcp adresinde dinleme yapar. Bunlardan herhangi birini değiştirmek için FASTMCP_* ortam değişkenlerini ayarlayın. Sunucu, istemcilerin bağlanabilmesi için çalışıyor olmalıdır.
semgrep-mcp -t streamable-http
Varsayılan olarak, Python paketi stdio modunda çalışacaktır, bu nedenle -t streamable-http eklemek zorunda kalacaksınız.
docker run -p 8000:0000 ghcr.io/semgrep/mcp
[!WARNING] MCP topluluğu bunu eski bir taşıma protokolü olarak değerlendirir ve gerçekten geriye dönük uyumluluk için tasarlanmıştır. Akışlandırılabilir HTTP önerilen değiştirmedir.
SSE taşıması, Server-Send Events ile sunucudan istemciye akışı sunucu-istemci ve istemci-sunucu iletişimi için etkinleştirir. Daha fazla ayrıntı için belirtilime bakın.
Varsayılan olarak, sunucu istemci bağlantıları için 127.0.0.1:8000/sse adresinde dinleme yapar. Bunlardan herhangi birini değiştirmek için FASTMCP_* ortam değişkenlerini ayarlayın. Sunucu, istemcilerin bağlanabilmesi için çalışıyor olmalıdır.
semgrep-mcp -t sse
Varsayılan olarak, Python paketi stdio modunda çalışacaktır, bu nedenle -t sse eklemek zorunda kalacaksınız.
docker run -p 8000:0000 ghcr.io/semgrep/mcp -t sse
İsteğe bağlı olarak, Semgrep AppSec Platformu'na bağlanmak için:
CLI (export SEMGREP_APP_TOKEN=<token>)
Docker (docker run -e SEMGREP_APP_TOKEN=<token>)
MCP config JSON
"env": {
"SEMGREP_APP_TOKEN": "<token>"
}
[!TIP] Gerekirse lütfen destek için iletişime geçin. ☎️
Aşağıdaki JSON bloğunu global ~/.cursor/mcp.json veya proje özgü .cursor/mcp.json yapılandırma dosyasına ekleyin:
{
"mcpServers": {
"semgrep": {
"command": "uvx",
"args": ["semgrep-mcp"]
}
}
}

Daha fazla bilgi için cursor doçlarına bakın.
Bu README'nin en üstündeki kurulum düğmelerine tıklayın en hızlı kurulum için.
VS Code'da Kullanıcı Ayarları (JSON) dosyanıza aşağıdaki JSON bloğunu ekleyin. Bunu Ctrl + Shift + P tuşlarına basarak ve Preferences: Open User Settings (JSON) yazarak yapabilirsiniz.
{
"mcp": {
"servers": {
"semgrep": {
"command": "uvx",
"args": ["semgrep-mcp"]
}
}
}
}
İsteğe bağlı olarak, çalışma alanınızda .vscode/mcp.json adlı bir dosyaya ekleyebilirsiniz:
{
"servers": {
"semgrep": {
"command": "uvx",
"args": ["semgrep-mcp"]
}
}
}
{
"mcp": {
"servers": {
"semgrep": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/semgrep/mcp",
"-t",
"stdio"
]
}
}
}
}
Daha fazla bilgi için VS Code doçlarına bakın.
Aşağıdaki JSON bloğunu ~/.codeium/windsurf/mcp_config.json dosyasına ekleyin:
{
"mcpServers": {
"semgrep": {
"command": "uvx",
"args": ["semgrep-mcp"]
}
}
}
Daha fazla bilgi için Windsurf doçlarına bakın.
Bu sunucuyu özel bir kural yazmak için kullanan Claude Desktop'ı gösteren kısa bir video bulunmaktadır.
Aşağıdaki JSON bloğunu claude_desktop_config.json dosyasına ekleyin:
{
"mcpServers": {
"semgrep": {
"command": "uvx",
"args": ["semgrep-mcp"]
}
}
}
Daha fazla bilgi için Anthropic doçlarına bakın.
claude mcp add semgrep uvx semgrep-mcp
Daha fazla bilgi için Claude Code doçlarına bakın.
Resmi doçlara bakın:
async with MCPServerStdio(
params={
"command": "uvx",
"args": ["semgrep-mcp"],
}
) as server:
tools = await server.list_tools()
Daha fazla bilgi için OpenAI Agents SDK doçlarına bakın.
examples/sse_client.py içinde tam bir örnek görebilirsiniz
from mcp.client.session import ClientSession
from mcp.client.sse import sse_client
async def main():
async with sse_client("http://localhost:8000/sse") as (read_stream, write_stream):
async with ClientSession(read_stream, write_stream) as session:
await session.initialize()
results = await session.call_tool(
"semgrep_scan",
{
"code_files": [
{
"path": "hello_world.py",
"content": "def hello(): print('Hello, World!')",
}
]
},
)
print(results)
[!TIP] Bazı istemci kitaplıkları
URL'yi istemiştir: http://localhost:8000/sse ve diğerleri sadeceHOST'u istemiştir:localhost:8000. Sunucunun çalıştığını ve ağ sorunları olmadığını doğrulamak için web tarayıcısındaURL'yi deneyin.
Daha fazla bilgi için resmi SDK doçlarına bakın.
[!NOTE] Geri bildiriminiz, hata raporlarınız, özellik istekleriniz ve kodunuz çok hoş gelecektir.
#mcpcommunity Slack kanalına katılın!
Daha fazla bilgi ve MCP sunucusunu kaynak koddan çalıştırmaya ilişkin ayrıntılar için CONTRIBUTING.md dosyasına bakın.
Semgrep Ekibi tarafından sevgiyle yapıldı ❤️
IDA Pro için MCP sunucusu, AI asistanları ile binary analiz yapmanızı sağlar. Plugin decompilation, disassembly işlemlerini gerçekleştirir ve malware analiz raporlarını otomatik olarak oluşturmanıza imkan tanır.
Ghidra için bir Model Context Protocol sunucusu olup LLM'lerin uygulamaları özerk şekilde ters mühendislik yapmasını sağlar. Binary dosyaları derlemesini açma, metod ve veri adlandırma, metod/sınıf/import/export listeleme araçlarını sunar.
JADX-AI-MCP, JADX decompiler için bir plugin ve MCP Server olup Model Context Protocol (MCP) ile entegre edilerek Claude gibi LLM'lerle canlı reverse engineering desteği sağlar.
Beelzebub, MCP kullanarak honeypot araçları oluşturmanızı sağlayan bir framework'tür. Prompt injection ve kötü niyetli agent davranışlarını tespit etmek için tasarlanmıştır. Temel konsept, agente normal çalışmasında asla kullanmayacağı araçlar sunarak tehditli aktiviteleri yakalamaktır.
vet-mcp, yapay zeka kodlama araçları tarafından önerilen npm ve PyPI paketleri gibi açık kaynak paketleri güvenlik açıkları ve kötü amaçlı kodlar açısından kontrol eder. Docker üzerinde veya bağımsız bir binary olarak yerel olarak çalışarak hızlı ve otomatik doğrulama sağlar.
Ghidra için native Model Context Protocol sunucusu. GUI konfigürasyon ve logging içerir, 31 güçlü tool ve harici bağımlılık yok.