Triclops
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Triclopsscan for Wi-Fi networks on the Marauder"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Triclops
A local-AI operator for three wireless security chips, running on a Raspberry Pi.
Triclops turns a Raspberry Pi into a single brain that drives a Flipper Zero, an AWOK "Biscuit" (ESP32-C5), and an ESP32 Marauder — over Bluetooth and USB — from plain English. A small local language model translates your orders into exact device commands; every capability of all three chips is exposed as a typed, schema-validated tool, callable from a chat dashboard or any MCP client. Transmit/attack commands are gated behind an explicit human confirm.
Everything runs on-device and offline. No cloud.
⚠️ Authorized use only. Triclops orchestrates wireless-security hardware (Wi-Fi/BLE scanning, and transmit features like deauth, beacon spam and captive portals). Use it only on networks and devices you own or are explicitly authorized to test, in an isolated lab. You are responsible for complying with all applicable laws. See Responsible use.
What it does
Talk to it. "Scan wifi on the marauder", "screenshot the flipper", "what's the biscuit's battery" → the local model maps each to one exact command.
238 granular tools, auto-generated from each device's own source of truth — not hand-written.
Three transports, one interface: Flipper RPC (BLE), Biscuit GATT (BLE), Marauder CLI (USB).
MCP server — expose all 238 tools to Claude or any Model Context Protocol client over HTTP.
Live dashboard — three link-status cards, a chat box, a per-command feed, screen mirror.
Safety by construction — 57 transmit/attack/destructive tools are danger-gated; the AI can propose them but never fires them without a human confirm.
┌─ Browser / phone (your Wi-Fi) ─────────────┐
│ Dashboard: 3 link cards · chat · feed │
└──────────────┬──────────────────────────────┘
│ ┌─ any MCP client (Claude, …) ─┐
│ └──────────────┬───────────────┘
┌─────────────────────┴────────── Raspberry Pi ────────┴────────────────┐
│ Dashboard (FastAPI) MCP server (streamable-HTTP, :8008/mcp) │
│ └───────────┬───────────────────┘ │
│ dispatch.py (executor, danger-gate, arg validation) │
│ │ │
│ registry.py → tools.json (238 typed tool specs) │
│ │ │
│ ┌────────────────┼─────────────────┐ │
│ Flipper Biscuit Marauder │
│ (BLE RPC) (BLE GATT) (USB CLI) │
│ │ local model: Ollama + Qwen2.5-3B (schema-locked) │
└──────────────────────────────────────────────────────────────────────┘Related MCP server: AKIMCP
The three chips
Chip | Link | Protocol | Tools | Source of truth |
Flipper Zero (Momentum fw) | Bluetooth LE + USB | Protobuf RPC + text CLI | 72 | compiled from Momentum's protobuf + the device's USB |
AWOK Biscuit (ESP32-C5) | Bluetooth LE |
| 105 | the wiki + the firmware binary's command table |
ESP32 Marauder | USB serial | text CLI | 61 | the device's own live |
238 tools total · 57 danger-gated.
Chip | Breakdown |
Flipper | storage 13 · cli 29 · system 10 · app 9 · gui 6 · desktop 4 · property 1 |
Marauder | recon 54 · attack 6 · raw 1 |
Biscuit | recon 38 · control 36 · attack 15 · portal 10 · info 6 |
How the tool catalog is built (the interesting part)
Triclops never hand-maintains a command list. registry.py generates tools.json from each device's authoritative definition:
Flipper — walks the Protobuf
Mainrequest messages; every RPC becomes a tool with typed params (enums, nested objects, byte fields) straight from the field descriptors. Plus the USB text CLI (subghz,nfc,ir,rfid,gpio, …).Marauder — parses the device's own
helpoutput; multi-variant commands collapse into flag enums.Biscuit — the documented
CMD:protocol, extended with the command table recovered from the firmware binary.
Each tool spec carries: typed params + required, a returns type (text/json/table/image/stream), streaming + its paired stop_tool, transport, and a danger flag. One registry feeds the model, the dashboard, and the MCP server.
Hardware
Raspberry Pi 5 (8 GB recommended; CPU-only inference)
Flipper Zero (tested on Momentum firmware)
AWOK Dual C5 "Biscuit" + ESP32 Marauder (e.g. the Dual C5 Touch)
Bluetooth (built into the Pi) and a USB port for the Marauder
Setup
git clone https://github.com/morepriyam/triclops.git
cd triclops
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
# compile the Flipper protobufs (needs git + grpcio-tools)
./scripts/build_proto.sh
# configure your hardware
cp config.example.yaml config.yaml
# edit config.yaml: set flipper_addr, biscuit_addr, marauder_port
# local model
curl -fsSL https://ollama.com/install.sh | sh # or user-space tarball
ollama pull qwen2.5:3bFind your BLE MACs with a scan (bluetoothctl scan le) and your Marauder port with ls /dev/serial/by-id/.
Run
./scripts/run.shDashboard:
http://<pi-ip>:8080MCP endpoint:
http://<pi-ip>:8008/mcp(streamable-HTTP)
Add the MCP server to a client, e.g. Claude Code:
claude mcp add --transport http triclops http://<pi-ip>:8008/mcpDanger-gated tools require confirm: true in the call arguments; the model/dashboard surfaces a confirm step.
Project layout
triclops/
├── triclops/
│ ├── config.py # all tunables (devices, paths, model, ports)
│ ├── devicehub.py # device layer: Flipper (BLE RPC), Biscuit (BLE), Marauder (serial)
│ ├── registry.py # generates tools.json from each device's definitions
│ ├── dispatch.py # executor: validates, danger-gates, runs each tool
│ ├── mcp_server.py # MCP server (streamable-HTTP) exposing all tools
│ └── server.py # dashboard backend (FastAPI + WebSocket + local model)
├── web/index.html # dashboard UI
├── scripts/ # build_proto.sh, run.sh
├── tools.json # the generated 238-tool catalog
└── config.example.yamlResponsible use
Triclops is for security research and education on hardware and networks you own or are authorized to test. The transmit features it can surface (Wi-Fi deauthentication, beacon/BLE spam, captive portals, RF replay on the Flipper) can disrupt networks and are regulated or illegal to use against third parties in most jurisdictions.
Run it in an isolated lab against your own access points and devices.
The AI never auto-fires a transmit/attack command — a human must confirm each one. Keep it that way.
Don't point it at networks, people, or devices you don't control. You are solely responsible for how you use it.
The underlying tools are all independently public: the Flipper Zero, ESP32 Marauder, and the AWOK/Biscuit ecosystem. Triclops is an orchestration layer, not a new attack capability.
Credits
ESP32 Marauder by justcallmekoko
Biscuit firmware & wiki by CodeHedge / AWOK Dynamics
License
MIT — see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Remote streamable-HTTP MCP server running on a single Cloudflare Worker. Your assistant gets live Airbnb, Amazon, Booking.com, Google Flights, Maps and Reddit data, social search on X, Instagram and TikTok, the Meta Ad Library, and image/video generation without any keys. Connect your own accounts to let it send WhatsApp or Telegram messages, work an IMAP inbox, manage Meta Ads campaigns and publish to X and LinkedIn. OAuth 2.1 with PKCE; stored credentials are AES-256-GCM encrypted.
214 tools for AI agents over one MCP endpoint: image, video, audio, 3D, data, storage, mail, GPUs.
1Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to discover and interact with iOS apps through a local MCP gateway, converting remote Streamable HTTP MCP endpoints into stdio tools. Provides dynamic device discovery, tool schema introspection, and deterministic tool calling for app analysis.-
- FlicenseNot gradedqualityAmaintenanceExposes a governed suite of 38 tools over a single OAuth-gated MCP endpoint, letting web-based AI clients such as Claude, ChatGPT, and Grok read and edit files, run whitelisted shell commands, search, query SQLite, use Git, automate browsers and DevTools, manage background tasks, reach localhost services, and control the clipboard, notifications, ports, and Postman. This turns remote AI chats into secure operators of a local machine without granting unrestricted shell access.-
- FlicenseNot gradedqualityAmaintenanceExposes a governed suite of 38 tools over one OAuth-gated MCP endpoint, letting web-based AI clients such as Claude, ChatGPT, and Grok read and edit files, run whitelisted shell commands, search content, use Git, inspect SQLite databases and localhost APIs, automate browsers, manage background tasks, and control Postman. It runs locally with a tailnet or public ingress so browser-based chats can act on your own machine without granting unrestricted shell access.-
- FlicenseNot gradedqualityAmaintenanceExposes a governed suite of 38 tools over a single OAuth-gated MCP endpoint, letting web AI chat clients such as Claude, ChatGPT, and Grok operate on a local machine — reading and editing files, running whitelisted shell commands, searching, querying SQLite, driving browsers and DevTools, managing background jobs, ports, and clipboard. Local IDEs and Postman can also connect directly over localhost for offline, low-latency access.-