openwifi-mcp
Turns Claude Code into an interactive OpenWiFi triage assistant, providing tools for searching Linux wireless patches, Jira tickets, running LLM-based triage, backporting, and building OpenWiFi.
README
openwifi-mcp
Three MCP servers that turn Claude Code into an interactive OpenWiFi
triage assistant. When registered in your project's .mcp.json, Claude
gains native tools to search the linux-wireless patch mirror, look up
Jira tickets, run the LLM triage pipeline, dry-run + apply upstream
backports, and drive OpenWiFi builds — all from within the same
conversation you're already having about a bug.
Nothing runs in the cloud. All state lives on your machine or the build host you already control.
What ships
| Server | Purpose | Backing service |
|---|---|---|
openwifi-jira |
Read-only Jira ticket lookup + similar-ticket search | openwifi-ticket-index |
openwifi-patches |
linux-wireless FTS5 search + LLM triage + backport helpers | openwifi-kernel-patches |
openwifi-build |
make build/status/tail/fetch/deploy wrappers over SSH |
Your OpenWiFi build project |
All three are stdio-transport MCP servers written in Python with FastMCP.
Tools exposed
openwifi-jira (read-only):
jira_list_releases— synced Jira fixVersions with ticket countsjira_search_tickets(q, fix_version?, status?, assignee?, limit?)— full-text searchjira_get_ticket(key)— full ticket incl. comments, attachments, changelog, cross-refsjira_get_attachment_text(id)— text content of indexed attachmentsjira_ticket_similar(anchor, limit?)— similar tickets by key or symptom
openwifi-patches:
patches_stats— DB stats + LLM availabilitypatches_search(q, subject_prefix?, author?, since?, until?, limit?)patches_get(message_id)— raw RFC 5322 bodypatches_expand_query(symptom)— LLM-generated FTS5 query previewpatches_triage(symptom | ticket, top_n?)— full pipeline (patches + LLM explanations + similar tickets)patches_dry_run_backport(message_id, tree)— non-mutating apply checkpatches_apply_backport(message_id, tree)— MUTATING — commits to the tree
openwifi-build — wraps your Claude-OpenWiFi make targets:
build_help,build_status,build_tail(tag, lines?),build_fetch(tag)(non-mutating)build_start(branch, target, pr?)— MUTATING — kicks off a long-running buildbuild_deploy(tag, ap, confirm=False)— MUTATING — sysupgrades a real AP
Install
git clone https://github.com/YOU/openwifi-mcp.git
cd openwifi-mcp
./setup.sh
The setup creates a venv, installs the package editable, and writes
.mcp.snippet.json you can drop into your project's .mcp.json (or
~/.claude.json for user-scoped access).
Point three env vars at your existing services:
TICKET_INDEX_URL = http://<host>:20504 # openwifi-ticket-index
PATCH_SEARCH_URL = http://<host>:20503 # openwifi-kernel-patches
CLAUDE_OPENWIFI_ROOT = /abs/path/to/Claude-OpenWiFi
Restart Claude Code and the tools appear in every session under that project.
Suggested permission allowlist
Add to your project's .claude/settings.json so read-only tools skip
the confirmation prompt but mutating tools still require it:
{
"permissions": {
"allow": [
"mcp__openwifi-jira__*",
"mcp__openwifi-patches__patches_stats",
"mcp__openwifi-patches__patches_search",
"mcp__openwifi-patches__patches_get",
"mcp__openwifi-patches__patches_expand_query",
"mcp__openwifi-patches__patches_triage",
"mcp__openwifi-patches__patches_dry_run_backport",
"mcp__openwifi-build__build_help",
"mcp__openwifi-build__build_status",
"mcp__openwifi-build__build_tail",
"mcp__openwifi-build__build_fetch"
]
}
}
patches_apply_backport, build_start, and build_deploy are
deliberately NOT allowlisted — they mutate real state and should always
prompt.
Slash command / skill
Pair with a skill like this in .claude/skills/openwifi-triage/SKILL.md
so the user can just type /openwifi-triage WIFI-15461 (see the
example in Claude-OpenWiFi).
License
MIT. See LICENSE.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.