
Ble Mcp Server
Wire Claude or Cursor to real Bluetooth Low Energy peripherals so agents can scan, connect, and read sensor data while you prototype IoT or wearable firmware.
Overview
io.github.es617/ble-mcp-server is a MCP server for the Build phase that lets AI agents scan, connect to, read, write (when allowed), and subscribe to real BLE hardware.
What is this MCP server?
- Scan nearby BLE devices, connect, read characteristics, and subscribe to notifications from the agent
- Characteristic writes disabled by default; opt in with BLE_MCP_ALLOW_WRITES and a UUID allowlist
- Pluggable tool surface via BLE_MCP_PLUGINS (all or named plugins; unset disables plugins)
- Stdio MCP transport plus optional streamable-http at localhost:8000/mcp
- Configurable tool name separator (default underscore) for picky MCP clients
- Published package version 0.3.0 on PyPI identifier ble-mcp-server
- 4 documented environment variables for writes, allowlist, plugins, and tool separator
- 2 transport modes: stdio and streamable-http at /mcp on port 8000
Community signal: 13 GitHub stars.
What problem does it solve?
Debugging BLE devices usually means juggling mobile apps, nRF Connect, and terminal scripts while your agent cannot see live advertisement or GATT state.
Who is it for?
Indie hardware hackers and full-stack builders who already use MCP and need agent-assisted BLE discovery on a dev machine with a supported adapter.
Skip if: Teams that only need mocked BLE in unit tests, or production fleet management without local radio access.
What do I get? / Deliverables
After you register the server, your agent can drive disciplined BLE sessions with guardrailed writes and the same workflow you document in your repo.
- Agent-callable BLE scan and connection workflow
- Read and notification streams from live characteristics
- Optional write path gated by env allowlist
Recommended MCP Servers
Journey fit
Hardware bring-up and device integration happen during the build phase when you connect software to physical BLE chips and services. This server is an agent integration layer to external BLE stacks—not app UI—so it belongs on the integrations shelf next to other MCP bridges.
How it compares
MCP hardware bridge, not a mobile BLE scanner app or a hosted IoT cloud console.
Common Questions / FAQ
Who is io.github.es617/ble-mcp-server for?
It is for solo builders and agent users who develop against real BLE peripherals and want scan, connect, read, and notify flows inside Claude Code, Cursor, or similar MCP hosts.
When should I use io.github.es617/ble-mcp-server?
Use it during firmware and companion-app bring-up when you need repeatable GATT exploration, logging, and optional controlled writes on a trusted bench setup.
How do I add io.github.es617/ble-mcp-server to my agent?
Install ble-mcp-server from PyPI, add an MCP entry with stdio (or point to http://localhost:8000/mcp for streamable-http), set BLE_MCP_ALLOW_WRITES and BLE_MCP_WRITE_ALLOWLIST only if you need writes, then restart your agent.