
Ble Mcp Server
Gives AI agents direct access to Bluetooth Low Energy hardware through a full set of tools: scan for devices, connect, discover services, read and write characteristics, and subscribe to notifications. Built on bleak for cross-platform support across macOS, Windows, and Linux. Works stdio by default with Claude Code, VS Code Copilot, and other MCP clients. Includes a protocol spec system so agents can understand device-specific commands instead of raw UUIDs, plus a plugin layer for high-level operations like sensortag.read_temp. Writes and plugins are opt-in via environment variables. Useful for iterating on BLE protocols, debugging hardware conversationally, automating test sequences, or exploring unknown devices without boilerplate.
- GitHub stars
- 13
- tools
- 35
- auth
- Secret needed
- transport
- STDIO, HTTP, SSE
- env vars
- 6
- last updated
- Mar 30, 2026
Tools
35 toolsPublic tool metadata for what this MCP can expose to an agent.
ble_scan_start
No parameter schema in public metadata yet.
ble_scan_get_results
No parameter schema in public metadata yet.
ble_scan_stop
No parameter schema in public metadata yet.
ble_connect
No parameter schema in public metadata yet.
ble_disconnect
No parameter schema in public metadata yet.
ble_connection_status
No parameter schema in public metadata yet.
ble_discover
No parameter schema in public metadata yet.
ble_mtu
No parameter schema in public metadata yet.
ble_read
No parameter schema in public metadata yet.
ble_write
No parameter schema in public metadata yet.
ble_read_descriptor
No parameter schema in public metadata yet.
ble_write_descriptor
No parameter schema in public metadata yet.
ble_subscribe
No parameter schema in public metadata yet.
ble_unsubscribe
No parameter schema in public metadata yet.
ble_wait_notification
No parameter schema in public metadata yet.
ble_poll_notifications
No parameter schema in public metadata yet.
ble_drain_notifications
No parameter schema in public metadata yet.
ble_connections_list
No parameter schema in public metadata yet.
ble_subscriptions_list
No parameter schema in public metadata yet.
ble_scans_list
No parameter schema in public metadata yet.
ble_tasks_list
No parameter schema in public metadata yet.
ble_tasks_cancel
No parameter schema in public metadata yet.
ble_spec_template
No parameter schema in public metadata yet.
ble_spec_register
No parameter schema in public metadata yet.
ble_spec_list
No parameter schema in public metadata yet.
ble_spec_attach
No parameter schema in public metadata yet.
ble_spec_get
No parameter schema in public metadata yet.
ble_spec_read
No parameter schema in public metadata yet.
ble_spec_search
No parameter schema in public metadata yet.
ble_trace_status
No parameter schema in public metadata yet.
ble_trace_tail
No parameter schema in public metadata yet.
ble_plugin_template
No parameter schema in public metadata yet.
ble_plugin_list
No parameter schema in public metadata yet.
ble_plugin_reload
No parameter schema in public metadata yet.
ble_plugin_load
No parameter schema in public metadata yet.
Sponsors
Configuration
BLE_MCP_ALLOW_WRITESEnable BLE characteristic writes (off by default for safety)
BLE_MCP_WRITE_ALLOWLISTComma-separated UUID allowlist for writable characteristics
BLE_MCP_PLUGINSPlugin policy: 'all' or comma-separated plugin names. Unset = disabled.
BLE_MCP_TOOL_SEPARATORTool name separator character (default '_'). Set to '.' if your client supports dots.
BLE_MCP_MAX_SESSIONSMaximum concurrent MCP sessions (default 1).
BLE_MCP_AUTH_TOKEN*secretPassword for OAuth approval page. Required unless --no-auth is used.
Readme
BLE MCP Server
A stateful Bluetooth Low Energy (BLE) Model Context Protocol (MCP) server for developer tooling and AI agents. Works out of the box with Claude Code, VS Code with Copilot, and any MCP-compatible runtime. Defaults to stdio (no HTTP, no open ports), with optional SSE and Streamable HTTP transports for remote access and multi-session use. Uses bleak for cross-platform BLE on macOS, Windows, and Linux.
Example: Let Claude Code scan for nearby BLE devices, connect to one, read characteristics, and stream notifications from real hardware.
Demo
7-minute video walkthrough — scanning a real BLE device, discovering services, reading values, and promoting flows into plugins.
Why this exists
Details
- Repository
- github.com/es617/ble-mcp-server
- Package
ble-mcp-server- Transport
- STDIO, HTTP, SSE
- Auth
- Required
- Registry
- MCP registry, active