MESH-API MCP

Bridges Meshtastic and MeshCore LoRa meshes with AI: an MCP server lets an agent send messages, list nodes and run extensions

  • 185 ★ on the repository
  • Last commit
  • GPL-3.0
MCP server

Broad access

Why this level

  • The agent can transmit on the radio as the node and run any slash command, including extensions that post to Discord and send SMS.
  • The emergency broadcast goes through Twilio, email and Discord with GPS coordinates; it is gated by a flag, but once enabled it reaches real people.
All reasons and checks

mr-tbot/mesh-api

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/mesh-api

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • The agent can transmit on the radio as the node and run any slash command, including extensions that post to Discord and send SMS.
  • The emergency broadcast goes through Twilio, email and Discord with GPS coordinates; it is gated by a flag, but once enabled it reaches real people.

This is third-party code. Review the repository files before installing.

What it does

MESH-API is a Python program that connects Meshtastic and MeshCore (LoRa) radio networks with chatbots and external APIs. It answers node messages through LM Studio, Ollama, OpenAI, Claude, Gemini and other models, forwards messages between the networks, Discord, MQTT and Home Assistant, and sends emergency alerts by Twilio SMS, email and Discord. 30 built-in extensions and a web dashboard on port 5000 do the work. The built-in MCP server at `POST /mcp` turns MESH-API into an agentic backend. The core tools are `mesh_send_message`, `mesh_list_nodes`, `mesh_get_messages`, `mesh_network_status`, `mesh_list_channels`, `mesh_ai_query`, `mesh_list_commands`, `mesh_run_command`, `meshcore_list_contacts` and `mesh_send_emergency`, which is gated by a flag. Every extension slash command automatically becomes an `ext_cmd_<command>` tool. The server is off by default and protected by a Bearer token.

Who it is for. Radio amateurs and operators of off-grid Meshtastic and MeshCore networks who want to give an AI agent access to the mesh and tie it to home automation.

Good fit when

  • An agent reads the latest mesh messages and the node list with distance and last-heard time on request.
  • A message from the LoRa mesh is answered by a local model through Ollama or LM Studio, no internet needed.
  • Messages between Meshtastic, MeshCore and Discord are relayed from a single bridge node.
  • An extension command is called from the agent as an `ext_cmd_<command>` tool without opening the dashboard.
  • A Home Assistant home replies to messages from the mesh, with access protected by a PIN.

Not a fit when

  • Communication is critical or needed in emergencies: the author advises against relying on the project and keeping backup channels.
  • The mesh is public, such as the LongFast channel: AI bots are unwelcome there and disturb others, and replies on it are off by default.
  • The agent must not be able to transmit: the send and command tools change what other nodes hear.
  • You have neither a Meshtastic nor a MeshCore radio node: without radio the server has nothing to bridge.

Example request

Through MESH-API show which nodes were heard in the last hour and read the last 20 messages of the channel. Transmit nothing.

MCP

Transport
http
Authentication
API key

Limitations

The project is experimental and in beta: MeshCore and MCP support are still lightly tested on real networks, and the author asks for bug reports. Python 3.11 or newer is required, or a Docker image for linux/amd64 and linux/arm64. MCP is off by default: it is enabled in the `mcp` block of `config.json`, where the token, the allowed origins and the per-minute request limit are also set. The emergency tool opens with a separate `allow_emergency` flag. Device firmware can be updated from the dashboard only after turning on `firmware.allow_flashing`, which is off by default.

How to disable. Set `"enabled": false` in the `mcp` block of `config.json` and restart the server, then remove the entry from the agent configuration. The token can be changed by clearing the `auth_token` field.

FAQ

How do I turn on the MESH-API MCP server?

In `config.json` set `"enabled": true` in the `mcp` block. The other fields are `require_auth`, `auth_token`, `allowed_origins`, `allow_emergency` and `rate_limit_per_min`. On first start with auth enabled a token like `mesh-mcp-XXXX` is generated and printed to the log.

How do I connect Claude Desktop?

The transport is Streamable HTTP, so Claude Desktop needs the `mcp-remote` bridge: `npx -y mcp-remote http://<host>:5000/mcp --header "Authorization: Bearer mesh-mcp-YOUR_TOKEN"`. Clients that speak HTTP connect to the address directly.

Which tools does the agent get?

Sending a message to one network, both or automatically, listing nodes, reading the message log, the state of both radios, listing channels, an AI query, running slash commands, MeshCore contacts and an emergency broadcast. Extension commands are added as `ext_cmd_<command>`.

Can it run in Docker?

Yes, images exist for linux/amd64 and linux/arm64. Clone the repository, copy the `docker-required-volumes/mesh-api` folder into the working directory and edit the files in `mesh-api/config/` before starting. arm64 fits the Raspberry Pi 4 and 5.

Does the bot reply on the public LongFast channel?

No, by default the bot stays silent on LongFast to avoid loading the airwaves. The `ai_respond_on_longfast` flag turns replies on, but the author advises doing so only on an isolated mesh with community consent.

Discussion

No questions or reviews yet.

A Node.js MCP server through which an agent controls Home Assistant devices and edits its automations

MCP serverBroad access574Repository stars

Open Agent Email — a self-hosted mail server for AI agents: inboxes, in-thread replies, human approval, webhooks and an MCP endpoint with 96 tools

MCP serverBroad access2.1KRepository stars
Russian stack

MCP server for MAX messenger Bot API: messages, media, chats, participants and buttons from an agent

MCP serverExtended access11Repository stars
Needs a VPN

A Discord MCP with over 200 typed tools: the agent handles messages, roles and moderation, builds a server from a plan, and writes default to preview mode

MCP serverBroad access189Repository stars

MCP server for Home Assistant: an agent reads device states, controls them and edits smart home dashboards

MCP serverBroad access351Repository stars
Russian stack

A Home Assistant integration that puts GigaChat, YandexGPT or another LLM behind your smart-home voice assistant

PluginBroad access2Repository stars

README in short

The project page opens with a call for support and the changelog of the 0.7 line. Then come a feature description, setup guides for Windows, Linux and Docker, an extensions reference and the MCP section.

README badge

Report a problem

Foxx AIMESH-API
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.