Skip to content

MCP Resources

mcesptool exposes 3 MCP resources that provide real-time server state without requiring tool invocations. Resources are read-only and can be accessed by any MCP client using the read_resource protocol method.


Real-time server status including uptime, component count, and operating mode.

esp://server/status
result = await client.read_resource("esp://server/status")
{
"status": "running",
"uptime_seconds": 1234.56,
"components_loaded": 9,
"production_mode": false,
"last_updated": 1708732800.0
}
FieldTypeDescription
statusstrAlways "running" while the server is operational.
uptime_secondsfloatSeconds since server startup.
components_loadedintNumber of components successfully initialized.
production_modeboolWhether the server is running in production mode.
last_updatedfloatUnix timestamp of the response.

Current server configuration as a serialized dictionary. Reflects the active runtime configuration including any environment variable overrides.

esp://config
result = await client.read_resource("esp://config")
{
"esptool_path": "esptool",
"esp_idf_path": "/home/user/esp/esp-idf",
"project_roots": ["/home/user/esp_projects"],
"default_baud_rate": 460800,
"connection_timeout": 30,
"enable_stub_flasher": true,
"max_concurrent_operations": 5,
"production_mode": false,
"idf_available": true,
"qemu_available": true,
"qemu_xtensa_path": "/home/user/.espressif/tools/qemu-xtensa/.../qemu-system-xtensa",
"qemu_riscv_path": "/home/user/.espressif/tools/qemu-riscv32/.../qemu-system-riscv32"
}
FieldTypeDescription
esptool_pathstrPath or command name for esptool.
esp_idf_pathstr | nullESP-IDF installation path, or null if not detected.
project_rootslist[str]Directories scanned for ESP projects.
default_baud_rateintDefault serial baud rate for connections.
connection_timeoutintDefault connection timeout in seconds.
enable_stub_flasherboolWhether the ROM stub loader is enabled.
max_concurrent_operationsintMaximum parallel esptool operations.
production_modeboolProduction mode flag.
idf_availableboolWhether ESP-IDF was detected and is usable.
qemu_availableboolWhether at least one QEMU binary is available.
qemu_xtensa_pathstr | nullPath to qemu-system-xtensa binary.
qemu_riscv_pathstr | nullPath to qemu-system-riscv32 binary.

Server capabilities listing supported chips, available feature categories, and integration availability. Useful for clients that need to adapt their UI based on what the server can do.

esp://capabilities
result = await client.read_resource("esp://capabilities")
{
"esp_chip_support": [
"ESP32", "ESP32-S2", "ESP32-S3", "ESP32-C3", "ESP32-C6", "ESP8266"
],
"flash_operations": ["read", "write", "erase", "verify", "encrypt"],
"partition_features": ["custom_tables", "ota_support", "nvs_management"],
"security_features": ["efuse_management", "secure_boot", "flash_encryption"],
"production_features": ["factory_programming", "batch_operations", "quality_control"],
"debugging_features": ["memory_dump", "performance_profiling", "diagnostic_reports"],
"esp_idf_integration": true,
"host_applications": true,
"qemu_emulation": true
}
FieldTypeDescription
esp_chip_supportlist[str]Chip families supported by esptool operations.
flash_operationslist[str]Available flash operation types.
partition_featureslist[str]Partition management capabilities.
security_featureslist[str]Security-related capabilities.
production_featureslist[str]Production line capabilities.
debugging_featureslist[str]Diagnostic and debugging capabilities.
esp_idf_integrationboolWhether ESP-IDF tools are available.
host_applicationsboolWhether host application building is available (requires ESP-IDF).
qemu_emulationboolWhether QEMU virtual device support is available.