ESP32 serisi çipler için ESP-IDF kullanarak build sorunlarını çözmek için iş akışı.
Claude Desktop config.json'a ekle
{
"mcpServers": {
"horw-esp-mcp": {
"command": "python",
"args": [
"-m",
"esp_mcp"
]
}
}
} Kaynak kodu al ve yerel olarak çalıştır
git clone https://github.com/horw/esp-mcp.git ~/.mcp/esp-mcp
cd ~/.mcp/esp-mcp Bu MCP'nin amacı:
Bu MCP'den eksik olan bir komutu bulun ve onun için bir PR açın!
Bu uygulama konusunda birinin size yardımcı olmasını istiyorsanız, bir issue açın.
Bu proje şu anda ESP-IDF iş akışları için tasarlanmış bir MCP sunucusunun Kavram Kanıtı (PoC) aşamasındadır.
Mevcut Yetenekler:
Temel Özellikler:
run_esp_idf_install: install.sh aracılığıyla ESP-IDF bağımlılıklarını ve araç zincirini yükleyin.create_esp_project: Yeni bir ESP-IDF projesi oluşturun.setup_project_esp_target: ESP-IDF projeleri için hedef çipi ayarlayın (esp32, esp32c3, esp32s3, vb.).build_esp_project: Artımlı derleme desteğiyle ESP-IDF projelerini derleyin.list_esp_serial_ports: ESP cihazları için kullanılabilir seri portları listeleyin.flash_esp_project: Derlenmiş ürün yazılımını bağlı ESP cihazlarına yükleyin.run_pytest: ESP-IDF projeleri için pytest-embedded desteğiyle pytest testlerini çalıştırın.Ek Özellikler:
idf_path parametresi aracılığıyla proje başına ESP-IDF sürümlerini destekler.sdkconfig_defaults dosyalarını destekler (birden fazla dosya noktalı virgülle ayrılarak belirtilebilir).Vizyon & Gelecek Çalışmalar: Uzun vadeli vizyon, bu MCP'yi gömülü cihazlarla etkileşim kurmak için kapsamlı bir araç kitine genişletmek, muhtemelen home assistant platformlarıyla entegre etmek ve ESP-IDF ve ilgili teknolojiler için belgelere erişimi kolaylaştırmaktır.
Aşağıdaki gibi özellikler hayal ediyoruz:
monitor, menuconfig etkileşimi mümkünse).Fikirleriniz ve katkılarınız hoşgeldiniz! Lütfen bir issue açarak bunları tartışmaktan çekinmeyin.
İlk olarak, bu MCP deposunu klonlayın:
git clone git@github.com:horw/esp-mcp.git
Ardından, sohbet botunuzda yapılandırın.
Aşağıdaki JSON snippet'i, bu esp-mcp sunucusunu Model Context Protocol (MCP) destekleyen bir sohbet botu veya ajan sistemi içinde nasıl yapılandırabileceğinize dair bir örnektir. Tam yapılandırma adımları ve format, kullandığınız belirli sohbet botu sistemine bağlı olarak değişebilir. MCP sunucularının nasıl entegre edileceğine ilişkin ayrıntılar için sohbet botunuzun belgelerine bakın.
{
"mcpServers": {
"esp-run": { // "esp-run" bu sunucu yapılandırmasına atayabileceğiniz keyfi bir addır.
"command": "<path_to_uv_or_python_executable>",
"args": [
"--directory",
"<path_to_cloned_esp-mcp_repository>", // örneğin, /path/to/your/cloned/esp-mcp
"run",
"main.py" // Python'u doğrudan kullanıyorsanız, bu sadece "main.py" olabilir ve `command` python yorumlayıcınız olurdu
],
"env": {
"IDF_PATH": "<path_to_your_esp-idf_directory>" // örneğin, ~/esp/esp-idf veya C:\\Espressif\\frameworks\\esp-idf
}
}
}
}
Yapılandırma hakkında birkaç not:
command: Eğer uv kullanıyorsanız tam uv yolunuz, veya Python yorumlayıcınız (örneğin, /usr/bin/python3 veya C:\\Python39\\python.exe) olmalıdır.args:
--directory argümanı, esp-mcp deposunu klonladığınız mutlak yol olmalıdır.uv kullanıyorsanız, run main.py argümanları uygun olur. Python'u doğrudan kullanıyorsanız, args listesinde sadece main.py gerekebilir ve command Python yürütülebilirine işaret etmelidir.IDF_PATH: (İsteğe bağlı) Bu ortam değişkeni, ESP-IDF kurulumunuzun kök dizinine işaret edebilir. ESP-IDF, Espressif'in resmi IoT Geliştirme Çerçevesidir. Kurulmadıysa, kurulum talimatları için resmi ESP-IDF belgelerine bakın. Not: Tüm araçlar, aracı çağırırken manuel olarak belirtilebilen bir idf_path parametresini destekler ve ortam değişkenini ayarlamadan farklı projeler için farklı ESP-IDF sürümlerini kullanmanıza olanak tanır. Eğer idf_path sağlanmamışsa, araç IDF_PATH ortam değişkenini (varsa) kullanır.esp-mcp sunucusu yapılandırıldıktan ve çalışmaya başladıktan sonra, LLM'niz veya sohbet botunuz bu MCP'de tanımlanan araçları kullanarak bununla etkileşim kurabilir. Örneğin, sohbet botunuzdan şunları isteyebilirsiniz:
/path/to/esp-idf konumundaki ESP-IDF kurulumu için yükleyin."/path/to/my/esp-project konumundaki proje için esp32s3 olarak ayarlayın."esp-mcp kullanarak /path/to/my/esp-project konumundaki projeyi derleyin."sdkconfig.defaults;sdkconfig.ci.release."/path/to/my/esp-project konumundaki proje için esp32c3 hedefleyerek çalıştırın."my_app içindeki bağlı ESP32 cihazına yükleyin."MCP sunucusu daha sonra main.py içinde uygulanan araçlara dayalı olarak karşılık gelen ESP-IDF komutlarını (örneğin, idf.py build, idf.py set-target, idf.py flash, pytest) yürütecektir.
Aşağıdaki result.gif bir örnek etkileşimi göstermektedir:
