Mirobody
Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
UniFi semantic-analysis MCP — fleet health, anomaly detection, cross-site analytics
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
UNIFI_API_KEY, UNIFI_API_URL, UNIFI_API_KEY_OWNER, UNIFI_TOOLS, UNIFI_DISABLE, UNIFI_LOCAL_URL, UNIFI_LOCAL_USER, UNIFI_LOCAL_PASS, UNIFI_LOCAL_SITE, UNIFI_LOCAL_INSECUREค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"unifi": {
"command": "npx",
"args": [
"-y",
"@us-all/unifi-mcp"
],
"env": {
"UNIFI_API_KEY": "ใส่ค่าของคุณ",
"UNIFI_API_URL": "ใส่ค่าของคุณ",
"UNIFI_API_KEY_OWNER": "ใส่ค่าของคุณ",
"UNIFI_TOOLS": "ใส่ค่าของคุณ",
"UNIFI_DISABLE": "ใส่ค่าของคุณ",
"UNIFI_LOCAL_URL": "ใส่ค่าของคุณ",
"UNIFI_LOCAL_USER": "ใส่ค่าของคุณ",
"UNIFI_LOCAL_PASS": "ใส่ค่าของคุณ",
"UNIFI_LOCAL_SITE": "ใส่ค่าของคุณ",
"UNIFI_LOCAL_INSECURE": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add unifi --env UNIFI_API_KEY='ใส่ค่าของคุณ' --env UNIFI_API_URL='ใส่ค่าของคุณ' --env UNIFI_API_KEY_OWNER='ใส่ค่าของคุณ' --env UNIFI_TOOLS='ใส่ค่าของคุณ' --env UNIFI_DISABLE='ใส่ค่าของคุณ' --env UNIFI_LOCAL_URL='ใส่ค่าของคุณ' --env UNIFI_LOCAL_USER='ใส่ค่าของคุณ' --env UNIFI_LOCAL_PASS='ใส่ค่าของคุณ' --env UNIFI_LOCAL_SITE='ใส่ค่าของคุณ' --env UNIFI_LOCAL_INSECURE='ใส่ค่าของคุณ' -- npx -y @us-all/unifi-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"unifi": {
"command": "npx",
"args": [
"-y",
"@us-all/unifi-mcp"
],
"env": {
"UNIFI_API_KEY": "ใส่ค่าของคุณ",
"UNIFI_API_URL": "ใส่ค่าของคุณ",
"UNIFI_API_KEY_OWNER": "ใส่ค่าของคุณ",
"UNIFI_TOOLS": "ใส่ค่าของคุณ",
"UNIFI_DISABLE": "ใส่ค่าของคุณ",
"UNIFI_LOCAL_URL": "ใส่ค่าของคุณ",
"UNIFI_LOCAL_USER": "ใส่ค่าของคุณ",
"UNIFI_LOCAL_PASS": "ใส่ค่าของคุณ",
"UNIFI_LOCAL_SITE": "ใส่ค่าของคุณ",
"UNIFI_LOCAL_INSECURE": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"unifi": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@us-all/unifi-mcp"
],
"env": {
"UNIFI_API_KEY": "ใส่ค่าของคุณ",
"UNIFI_API_URL": "ใส่ค่าของคุณ",
"UNIFI_API_KEY_OWNER": "ใส่ค่าของคุณ",
"UNIFI_TOOLS": "ใส่ค่าของคุณ",
"UNIFI_DISABLE": "ใส่ค่าของคุณ",
"UNIFI_LOCAL_URL": "ใส่ค่าของคุณ",
"UNIFI_LOCAL_USER": "ใส่ค่าของคุณ",
"UNIFI_LOCAL_PASS": "ใส่ค่าของคุณ",
"UNIFI_LOCAL_SITE": "ใส่ค่าของคุณ",
"UNIFI_LOCAL_INSECURE": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
UNIFI_API_URL envUNIFI_TOOLS envUNIFI_DISABLE envUNIFI_LOCAL_URL envUNIFI_LOCAL_USER envUNIFI_LOCAL_SITE envUNIFI_LOCAL_INSECURE envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub us-all ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: UNIFI_API_KEY, UNIFI_API_KEY_OWNER, UNIFI_LOCAL_PASS
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.13.3) เข้า registry 5 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Mirobody, FHIR MCP Server, Google Health MCP
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.
MCP server providing seamless access to FHIR APIs for AI tools and healthcare applications
Privacy-first unofficial Google Health API v4 MCP server for health, sleep, activity, HR agents
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
The MSP-style UniFi MCP — built around the official Site Manager API + Cloud Connector with cross-site analytics no other UniFi MCP exposes.
54 tools split across 7 semantic-analysis aggregations, 9 raw Site Manager, and 35 Cloud Connector — plus 2 optional local controller tools that surface per-port error counters and SFP DDM the Cloud API doesn't expose. Severity verdicts (
healthy/info/warning/critical) on top of curated thresholds. 8 MCP Prompts (4 fleet-wide ops + 4 MSP workflows). Read-only — Ubiquiti's API keys don't ship write yet.
npx -y @us-all/unifi-mcp --doctor
Validates env vars, pings Site Manager API, probes Cloud Connector (if owner key set), and checks category toggles before starting. Exits non-zero on critical issues so it works in CI / pre-deploy scripts.
site-health-timeline, summarize-site, firmware-inventory, compare-sites, wan-uptime-trend, top-clients-by-bandwidth, list-sites-overview. No other UniFi MCP exposes these.healthy / info / warning / critical / unknown with a curated reason. Curated thresholds (e.g. WAN uptime <90% = critical, startupTime <1h = critical post-reboot)./v1/connector/consoles/{id}/... proxy. connectorAvailable (capability) vs connectorResolved (this-call) split.caveats array surfacing partial failures (e.g. Site Manager API can't window-bound WAN uptime — that's surfaced explicitly).triage-site-degradation, firmware-rollout-audit, wan-uptime-report, cross-site-anomaly-detection. MSP workflows: msp-onboard-site-checklist, msp-monthly-client-report, msp-fleet-firmware-plan, msp-bandwidth-complaint-investigation.@us-all/* MCPs (default ~5K tokens with owner key). Fleet of 200+ devices analyzable inside a single session.summarize-site renders as a fleet-status card on ChatGPT clients (online %, WAN uptime, gateway, devices) via _meta["openai/outputTemplate"]. Claude clients receive the same JSON content.MCP_TRANSPORT=http for ChatGPT Apps SDK or remote clients (Bearer auth via MCP_HTTP_TOKEN).UNIFI_LOCAL_* env enables 2 tools that bypass the Cloud Connector and hit the controller's legacy /api/s/{site}/stat/device/{mac} directly on the LAN: get-port-errors (port-level rx/tx errors, link-flap counters, SFP DDM — Rx/Tx Power dBm, temperature, voltage, TX/RX fault) and list-port-flap-summary (fleet-wide port instability ranking). Surfaces data the Integration API doesn't expose. Requires LAN reachability.Connect the server to Claude Desktop or Claude Code, then paste any of these:
healthy with severity, top 3 issues."*UNIFI_LOCAL_*)* — *"Rank every port across all switches by instability score. For the top 3 worst offenders, pull SFP DDM if present and tell me whether the signal itself is bad or it's something downstream."*| sirkirby/unifi-mcp | enuno/unifi-mcp-server | @us-all/unifi-mcp (this) | |
|---|---|---|---|
| GitHub stars | 291 | 117 | — |
| Tool count | 224 | 74 | 54 |
| Scope | Network + Protect + Access + Drive | Network + multi-site + QoS + backup | Site Manager + Cloud Connector + analytics |
| Site Manager API | ❌ | partial | ✅ deep + analytics |
| Cloud Connector | ❌ | partial (3 modes) | ✅ avail/resolved split |
| UniFi Protect (cameras) | ✅ | ❌ | ❌ (out of scope) |
| UniFi Access (doors) | ✅ | ❌ | ❌ (out of scope) |
| Aggregation tools | ❌ | ❌ | ✅ 7 |
| Severity verdicts | ❌ | ❌ | ✅ curated thresholds |
| MCP Prompts | ❌ | ❌ | ✅ 8 (incl. 4 MSP workflows) |
Use sirkirby when you need cameras (Protect) or door access. Use enuno if you want raw Network API breadth. Use this server for MSP-style multi-site analytics, fleet triage, and any "is something off?" question across many consoles.
{
"mcpServers": { "unifi": { "command": "npx", "args": ["-y", "@us-all/unifi-mcp"], "env": { "UNIFI_API_KEY": " ", "UNIFI_API_KEY_OWNER": " " } } } }
claude mcp add unifi -s user \
-e UNIFI_API_KEY= \ -e UNIFI_API_KEY_OWNER= \ -- npx -y @us-all/unifi-mcp
git clone https://github.com/us-all/unifi-mcp-server.git
cd unifi-mcp-server && pnpm install && pnpm build node dist/index.js
The most common onboarding friction. UniFi has two surfaces through the same https://api.ui.com/v1:
| Surface | What it gives | Path | Env var |
|---|---|---|---|
| Site Manager | hosts, sites, devices summary, ISP metrics, SD-WAN configs (aggregated, console-wide) | /v1/hosts, /v1/sites, /v1/devices, /v1/sd-wan-configs | UNIFI_API_KEY |
| Cloud Connector | per-device, per-client, networks, firewall, WiFi (proxies to local controller) | /v1/connector/consoles/{hostId}/... | UNIFI_API_KEY_OWNER |
API key permissions inherit from the role of the account that created them.
| Account role | Site Manager | Cloud Connector |
|---|---|---|
| Admin (non-owner) | ✅ | ❌ 403 |
| Owner | ✅ | ✅ |
If you have the owner role, set both env vars to the same key. That's the most common case for @us-all operators.
Get the key: unifi.ui.com → Settings → API → Generate. View Only is the only option in GA today (Full Access greyed out — Early Access program needed for write).
https://api.ui.com/v1/connector/consoles/{hostId}/{appPath}siteId is a UUID, not the literal string default/network/integration/v1/sites, devices, clients, networks). Legacy paths (/api/s/{site}/stat/event) return 404. Event logs / syslog not exposed.Adds 2 tools that fill the gap left by Cloud Connector — per-port error counters, flap counters, and SFP DDM. These live in /api/s/{site}/stat/device/{mac} (legacy) and the official Network Integration API does not expose them (verified against OpenAPI spec v10.4.57).
Requirements:
https:// )UNIFI_LOCAL_INSECURE=true for stock UDM ProAuth flow: POST /api/auth/login (cookie) → all subsequent calls re-use the session, 401 triggers automatic re-login. Read-only.
| Variable | Required | Default | Description |
|---|---|---|---|
UNIFI_API_KEY | ✅ | — | API key from unifi.ui.com (any admin role) |
UNIFI_API_KEY_OWNER | ❌ | — | Owner-role API key — enables 35 Cloud Connector tools. If your key has owner role, set this to the same value. |
UNIFI_API_URL | ❌ | https://api.ui.com/v1 | API base URL |
UNIFI_TOOLS | ❌ | — | Comma-sep allowlist of categories. |
UNIFI_DISABLE | ❌ | — | Comma-sep denylist. Ignored when UNIFI_TOOLS is set. |
MCP_TRANSPORT | ❌ | stdio | http to enable Streamable HTTP transport |
MCP_HTTP_TOKEN | conditional | — | Bearer token. Required when MCP_TRANSPORT=http |
MCP_HTTP_PORT | ❌ | 3000 | HTTP listen port |
MCP_HTTP_HOST | ❌ | 127.0.0.1 | HTTP bind host (DNS rebinding protection auto-enabled for localhost) |
MCP_HTTP_SKIP_AUTH | ❌ | false | Skip Bearer auth — e.g. behind a reverse proxy that handles it |
UNIFI_LOCAL_URL | ❌ | — | Local controller URL (e.g. https://10.10.1.1). Setting this + USER/PASS enables 2 local category tools. |
UNIFI_LOCAL_USER | conditional | — | Controller local account username (required when UNIFI_LOCAL_URL set). Viewer/Limited-Admin role is sufficient. |
UNIFI_LOCAL_PASS | conditional | — | Controller local account password (required when UNIFI_LOCAL_URL set). |
UNIFI_LOCAL_SITE | ❌ | default | Site slug for legacy /api/s/{site}/*. |
UNIFI_LOCAL_INSECURE | ❌ | false | Accept self-signed cert (typical for UDM Pro). |
Categories (9): analysis, raw, devices, clients, networks, firewall, wan, reference, local.
When MCP_TRANSPORT=http: POST /mcp (Bearer-auth JSON-RPC) + GET /health (public liveness).
Smallest schema footprint of all @us-all/* MCPs.
| Scenario | Tools | Schema tokens |
|---|---|---|
| default no-owner | 17 | 1,700 |
UNIFI_TOOLS=analysis | 8 | 1,000 (−42%) |
| default with owner key | 52 | ~5,000 |
UNIFI_TOOLS=analysis + owner | 8 | 1,000 (−80%) |
Every analysis tool returns one of:
healthy — no issuesinfo — informational, no actionwarning — needs attentioncritical — immediate actionunknown — API failure or incomplete dataCurated thresholds:
| Condition | Severity |
|---|---|
| Device offline | critical |
startupTime < 1h | critical (just rebooted) |
startupTime < 24h | warning (recent reboot) |
startupTime < 72h | info (monitor) |
| WAN uptime < 90% | critical |
| WAN uptime < 95% | warning |
Workflow templates available via MCP prompts/list. Four are fleet-ops; four are MSP-specific (managed-service-provider workflows).
Fleet ops:
triage-site-degradation — site complaints workflow: device + WAN + reboots + clients in sequence.firmware-rollout-audit — fleet-wide firmware diff and rollout safety check.wan-uptime-report — monthly WAN SLA-style report across sites.cross-site-anomaly-detection — compare a site to fleet baseline; flag outliers.MSP workflows:
msp-onboard-site-checklist — pass/fail readiness checklist for a newly added customer site (firmware floor, console connectivity, uptime trend, connector availability, firewall sanity, recent reboots, pending devices).msp-monthly-client-report — customer-faciตัดมาแค่ช่วงต้น อ่านต่อใน repo