Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
Manage and live-debug LoRaWAN devices on a ChirpStack v4 network server over its gRPC API
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
CHIRPSTACK_SERVER, CHIRPSTACK_API_KEY, CHIRPSTACK_TOOLSETS, CHIRPSTACK_TLSLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"chirpstack": {
"command": "uvx",
"args": [
"chirpstack-mcp-server"
],
"env": {
"CHIRPSTACK_SERVER": "your-value",
"CHIRPSTACK_API_KEY": "your-value",
"CHIRPSTACK_TOOLSETS": "your-value",
"CHIRPSTACK_TLS": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add chirpstack --env CHIRPSTACK_SERVER=your-value --env CHIRPSTACK_API_KEY=your-value --env CHIRPSTACK_TOOLSETS=your-value --env CHIRPSTACK_TLS=your-value -- uvx chirpstack-mcp-serverCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"chirpstack": {
"command": "uvx",
"args": [
"chirpstack-mcp-server"
],
"env": {
"CHIRPSTACK_SERVER": "your-value",
"CHIRPSTACK_API_KEY": "your-value",
"CHIRPSTACK_TOOLSETS": "your-value",
"CHIRPSTACK_TLS": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"chirpstack": {
"type": "stdio",
"command": "uvx",
"args": [
"chirpstack-mcp-server"
],
"env": {
"CHIRPSTACK_SERVER": "your-value",
"CHIRPSTACK_API_KEY": "your-value",
"CHIRPSTACK_TOOLSETS": "your-value",
"CHIRPSTACK_TLS": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
CHIRPSTACK_TOOLSETS envCHIRPSTACK_TLS envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 6 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub oliveres, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: CHIRPSTACK_SERVER, CHIRPSTACK_API_KEY
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.1.1) llegó al registro hace 2 meses.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, zanadir
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Find what a repository's CI is missing, and which security checks cannot fail the build.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
An MCP server for ChirpStack v4. It lets an AI agent (Claude Code, Claude Desktop, or any MCP client) manage a LoRaWAN network and — the part that matters while you are building a device application — debug devices live: queue a downlink, watch the uplinks and events as they arrive, iterate a payload codec, and inspect link quality, all from the coding session.
The server talks to ChirpStack's native gRPC API with a single API key. It carries no device- or vendor-specific logic.
*Real, unedited Claude Code session (2.5× speed, only the ChirpStack MCP tools): the agent reads the device profile's codec, spots the disconnected-probe sentinel in a raw uplink, deploys a fix with profile_set_codec, then waits for the device's next uplink with wait_for_event and confirms the decoded object.*
uvx chirpstack-mcp-server # run directly (needs uv: https://docs.astral.sh/uv/)
pip install chirpstack-mcp-server
| Variable | Required | Default | Meaning |
|---|---|---|---|
CHIRPSTACK_SERVER | yes | — | host:port of the ChirpStack API (the web-UI port, usually 8080) |
CHIRPSTACK_API_KEY | yes | — | API key from *ChirpStack → API keys* (tenant or global admin) |
CHIRPSTACK_TOOLSETS | no | devices, debug, applications, profiles, gateways | comma-separated toolsets, or all |
CHIRPSTACK_TLS | no | false | use TLS instead of plain HTTP/2 |
CHIRPSTACK_TRANSPORT | no | stdio | stdio or streamable-http |
CHIRPSTACK_HTTP_PORT | no | 8000 | port for streamable-http (bound to 127.0.0.1) |
claude mcp add chirpstack -e CHIRPSTACK_SERVER=192.168.1.10:8080 -e CHIRPSTACK_API_KEY=eyJ... -- uvx chirpstack-mcp-server
{
"mcpServers": { "chirpstack": { "command": "uvx", "args": ["chirpstack-mcp-server"], "env": { "CHIRPSTACK_SERVER": "192.168.1.10:8080", "CHIRPSTACK_API_KEY": "eyJ..." } } } }
Tools are grouped so an agent only sees what it needs. Names are _ .
| Toolset | Default | Tools |
|---|---|---|
devices | yes | list, get, create, update, delete, set_keys, activate, deactivate, flush_dev_nonces, enqueue, queue_get, queue_flush, metrics |
debug | yes | server_info, capture_start, capture_read, capture_stop, capture_list, wait_for_event, device_recent_events |
applications | yes | list, get, create, update, delete, list_device_tags |
profiles | yes | list, get, create, update, delete, profile_set_codec, list_vendors, list_adr_algorithms |
gateways | yes | list, get, create, update, delete, metrics |
multicast | no | group CRUD, add/remove device, enqueue, queue_list, queue_flush |
fuota | no | deployment CRUD, start, add/remove/list devices, list_jobs |
integrations | no | integration_list/get/set/delete — one generic set for all ten ChirpStack integration kinds; integration_get redacts stored credentials unless include_secrets=true |
tenants | no | tenant CRUD, tenant users, API keys |
relay | no | relay devices and relay gateways |
Enable more with CHIRPSTACK_TOOLSETS=devices,debug,profiles,multicast or CHIRPSTACK_TOOLSETS=all. server_info is the first call an agent should make to check the connection and the API key; its chirpstack_version/regions fields may come back null/empty since ChirpStack only serves those to a logged-in user session, never to an API key.
ChirpStack keeps the last ~10 events per device and streams new ones. The debug toolset turns that into something an agent can use between tool calls:
capture_start(target, kind) opens a background stream (events or frames for a device, gateway_frames for a gateway) into a 500-item ring buffer and returns a session_id.device_enqueue(dev_eui, f_port, data_hex=...) queues the downlink.capture_read(session_id, since_seq) returns everything that arrived since the last read — decoded uplinks (f_port, f_cnt, data_hex, codec object, per-gateway rssi/snr), ack/txack for the downlink, log entries when something went wrong.capture_stop(session_id) when done. Idle sessions expire after 30 minutes.For quick looks: wait_for_event(dev_eui, timeout_s) blocks up to 60 s for the next live event — it only returns events newer than the moment it was called, never the history ChirpStack replays; device_recent_events(dev_eui) returns that history without keeping a session.
Class A devices only receive a downlink after their next uplink; Class C devices get it right away.
device_get hides root keys unless asked with include_keys=true.device_get/multicast_get hide session keys unless include_keys=true.integration_get redacts stored credentials unless include_secrets=true. is reserved: integration_set/multicast_update keep the stored value wherever it appears (so an edited _get result can be handed straight back), and integration_set/multicast_create refuse it when there is nothing to keep.CHIRPSTACK_TLS=true (behind a TLS-terminating proxy that speaks gRPC) or a VPN elsewhere.streamable-http has no authentication of its own and binds to 127.0.0.1. Do not expose it on a public interface.Host/Origin headers (DNS-rebinding protection), so a web page in the operator's browser cannot open an MCP session against the loopback listener.destructiveHint) so MCP clients can ask before running them.tenants toolset lets the agent mint API keys; api_key_create returns the new token once, in its result.uv sync
uv run pytest # unit tests uv run ruff check . && uv run pyright tests/integration/up.sh # throwaway ChirpStack in Docker + API key set -a; . .integration/env; set +a uv run pytest -m integration tests/integration/down.sh
Design notes live in docs/design.md.
MIT © Oldřich Švéda