GitHub
server ทางการของ GitHub ให้ AI อ่านและจัดการโค้ด issue และ pull request ในบัญชีของคุณได้ ใช้ผ่านคลาวด์ของ GitHub หรือรันในเครื่องด้วย Docker ก็ได้
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
MCP server for LibreNMS network monitoring - query devices, ports, alerts, and manage infrastructure
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
LIBRENMS_URL, LIBRENMS_TOKEN, LIBRENMS_VERIFY_SSL, LIBRENMS_TIMEOUT, READ_ONLY_MODE, DISABLED_TAGS, LOG_LEVEL, RATE_LIMIT_ENABLED, RATE_LIMIT_MAX_REQUESTS, RATE_LIMIT_WINDOW_MINUTES, TOOL_SEARCH_ENABLED, TOOL_SEARCH_STRATEGY, TOOL_SEARCH_MAX_RESULTSค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"librenms": {
"command": "uvx",
"args": [
"librenms-mcp"
],
"env": {
"LIBRENMS_URL": "ใส่ค่าของคุณ",
"LIBRENMS_TOKEN": "ใส่ค่าของคุณ",
"LIBRENMS_VERIFY_SSL": "ใส่ค่าของคุณ",
"LIBRENMS_TIMEOUT": "ใส่ค่าของคุณ",
"READ_ONLY_MODE": "ใส่ค่าของคุณ",
"DISABLED_TAGS": "ใส่ค่าของคุณ",
"LOG_LEVEL": "ใส่ค่าของคุณ",
"RATE_LIMIT_ENABLED": "ใส่ค่าของคุณ",
"RATE_LIMIT_MAX_REQUESTS": "ใส่ค่าของคุณ",
"RATE_LIMIT_WINDOW_MINUTES": "ใส่ค่าของคุณ",
"TOOL_SEARCH_ENABLED": "ใส่ค่าของคุณ",
"TOOL_SEARCH_STRATEGY": "ใส่ค่าของคุณ",
"TOOL_SEARCH_MAX_RESULTS": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add librenms --env LIBRENMS_URL='ใส่ค่าของคุณ' --env LIBRENMS_TOKEN='ใส่ค่าของคุณ' --env LIBRENMS_VERIFY_SSL='ใส่ค่าของคุณ' --env LIBRENMS_TIMEOUT='ใส่ค่าของคุณ' --env READ_ONLY_MODE='ใส่ค่าของคุณ' --env DISABLED_TAGS='ใส่ค่าของคุณ' --env LOG_LEVEL='ใส่ค่าของคุณ' --env RATE_LIMIT_ENABLED='ใส่ค่าของคุณ' --env RATE_LIMIT_MAX_REQUESTS='ใส่ค่าของคุณ' --env RATE_LIMIT_WINDOW_MINUTES='ใส่ค่าของคุณ' --env TOOL_SEARCH_ENABLED='ใส่ค่าของคุณ' --env TOOL_SEARCH_STRATEGY='ใส่ค่าของคุณ' --env TOOL_SEARCH_MAX_RESULTS='ใส่ค่าของคุณ' -- uvx librenms-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"librenms": {
"command": "uvx",
"args": [
"librenms-mcp"
],
"env": {
"LIBRENMS_URL": "ใส่ค่าของคุณ",
"LIBRENMS_TOKEN": "ใส่ค่าของคุณ",
"LIBRENMS_VERIFY_SSL": "ใส่ค่าของคุณ",
"LIBRENMS_TIMEOUT": "ใส่ค่าของคุณ",
"READ_ONLY_MODE": "ใส่ค่าของคุณ",
"DISABLED_TAGS": "ใส่ค่าของคุณ",
"LOG_LEVEL": "ใส่ค่าของคุณ",
"RATE_LIMIT_ENABLED": "ใส่ค่าของคุณ",
"RATE_LIMIT_MAX_REQUESTS": "ใส่ค่าของคุณ",
"RATE_LIMIT_WINDOW_MINUTES": "ใส่ค่าของคุณ",
"TOOL_SEARCH_ENABLED": "ใส่ค่าของคุณ",
"TOOL_SEARCH_STRATEGY": "ใส่ค่าของคุณ",
"TOOL_SEARCH_MAX_RESULTS": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"librenms": {
"type": "stdio",
"command": "uvx",
"args": [
"librenms-mcp"
],
"env": {
"LIBRENMS_URL": "ใส่ค่าของคุณ",
"LIBRENMS_TOKEN": "ใส่ค่าของคุณ",
"LIBRENMS_VERIFY_SSL": "ใส่ค่าของคุณ",
"LIBRENMS_TIMEOUT": "ใส่ค่าของคุณ",
"READ_ONLY_MODE": "ใส่ค่าของคุณ",
"DISABLED_TAGS": "ใส่ค่าของคุณ",
"LOG_LEVEL": "ใส่ค่าของคุณ",
"RATE_LIMIT_ENABLED": "ใส่ค่าของคุณ",
"RATE_LIMIT_MAX_REQUESTS": "ใส่ค่าของคุณ",
"RATE_LIMIT_WINDOW_MINUTES": "ใส่ค่าของคุณ",
"TOOL_SEARCH_ENABLED": "ใส่ค่าของคุณ",
"TOOL_SEARCH_STRATEGY": "ใส่ค่าของคุณ",
"TOOL_SEARCH_MAX_RESULTS": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
LIBRENMS_VERIFY_SSL envLIBRENMS_TIMEOUT envREAD_ONLY_MODE envDISABLED_TAGS envLOG_LEVEL envRATE_LIMIT_ENABLED envRATE_LIMIT_MAX_REQUESTS envRATE_LIMIT_WINDOW_MINUTES envTOOL_SEARCH_ENABLED envTOOL_SEARCH_STRATEGY envTOOL_SEARCH_MAX_RESULTS envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub mhajder ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: LIBRENMS_URL, LIBRENMS_TOKEN
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.12.0) เข้า registry 25 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv), Docker ในเครื่องด้วย
ในหมวดเดียวกันมี GitHub, Desktop Commander, Cloudflare MCP
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
server ทางการของ GitHub ให้ AI อ่านและจัดการโค้ด issue และ pull request ในบัญชีของคุณได้ ใช้ผ่านคลาวด์ของ GitHub หรือรันในเครื่องด้วย Docker ก็ได้
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Let AI agents query and manage LibreNMS network monitoring through the Model Context Protocol
Installation · Tools · Configuration · Security
LibreNMS MCP Server is a Python-based Model Context Protocol (MCP) server designed to provide advanced, programmable access to LibreNMS network monitoring data and management features. It exposes a modern API for querying, automating, and integrating LibreNMS resources such as devices, ports, alerts, inventory, locations, logs, and more. The server supports both read and write operations, robust security features, and is suitable for integration with automation tools, dashboards, and custom network management workflows.
The easiest way to get started is to install from PyPI:
# Using UV (recommended)
uvx librenms-mcp
pip install librenms-mcp
Remember to configure the environment variables for your LibreNMS instance before running the server:
# Create environment configuration
export LIBRENMS_URL=https://domain.tld:8443 export LIBRENMS_TOKEN=your-librenms-token
For more details, visit: https://pypi.org/project/librenms-mcp/
git clone https://github.com/mhajder/librenms-mcp.git
cd librenms-mcp
# Using UV (recommended)
uv sync
pip install -e .
cp .env.example .env
# Using UV (recommended)
uv run librenms-mcp
librenms-mcp
A Docker image is available on GitHub Packages for easy deployment. It runs the HTTP Streamable transport on port 8000 (/mcp).
docker pull ghcr.io/mhajder/librenms-mcp:latest
Open WebUI 0.6.31 and later connect to the image directly; the separate MCPO image (ghcr.io/mhajder/librenms-mcpo) is no longer published. In Open WebUI, go to Admin Settings > Integrations > External Tool Servers, add a connection of type MCP (Streamable HTTP) with the URL http:// :8000/mcp, and set Bearer authentication to your MCP_HTTP_BEARER_TOKEN.
For development with additional tools:
# Clone and install with development dependencies
git clone https://github.com/mhajder/librenms-mcp.git cd librenms-mcp uv sync --group dev
uv run pytest
uv run pytest --cov=src/
uv run ruff check . uv run ruff format .
uv run ty check .
uv run prek install
Boolean settings accept true/false, 1/0, yes/no and on/off (case-insensitive). Any other value stops the server at startup, so a typo cannot silently turn read-only mode or TLS verification off. The exception is SENTRY_SEND_DEFAULT_PII and SENTRY_ENABLE_LOGS: when SENTRY_DSN is set, an invalid value there logs an error and leaves Sentry off, and the server keeps running.
# LibreNMS Connection Details
LIBRENMS_URL=https://domain.tld:8443 LIBRENMS_TOKEN=your-librenms-token
LIBRENMS_VERIFY_SSL=true LIBRENMS_TIMEOUT=30
READ_ONLY_MODE=false
REDACT_SNMP_CREDENTIALS=true
DISABLED_TAGS=
LOG_LEVEL=INFO
RATE_LIMIT_ENABLED=false RATE_LIMIT_MAX_REQUESTS=100 RATE_LIMIT_WINDOW_MINUTES=1
TOOL_SEARCH_ENABLED=false
TOOL_SEARCH_STRATEGY=bm25
TOOL_SEARCH_MAX_RESULTS=5
RESOLVE_SHORT_HOSTNAMES=false
MCP_TRANSPORT=stdio
devices_list: List all devices (with optional filters)device_get: Get details for a specific devicedevice_add: Add a new devicedevice_update: Update device metadatadevice_delete: Remove a devicedevice_ports: List all ports for a devicedevice_ports_get: Get details for a specific port on a devicedevice_fdb: List the forwarding database (learned MACs) for a devicedevice_nac: List network access control (802.1X / MAB) sessions on a devicedevice_availability: Get device availabilitydevice_outages: Get device outagesdevice_set_maintenance: Set device maintenance modedevice_discover: Discover or add a device using provided credentialsdevice_rename: Rename an existing devicedevice_maintenance_status: Get the maintenance status for a devicedevice_vlans: List VLANs for a devicedevice_links: List links for a devicedevice_wireless_sensors: List wireless sensors (frequency, clients, rssi, ...) with current valuesdevice_parents_set: Set the dependency parents of a device (replaces the current set)device_parents_clear: Remove dependency parents from a devicedevice_eventlog_add: Add an event log entry for a deviceinventory_device: Get inventory for a deviceinventory_device_flat: Get flat inventory for a devicedevicegroups_list: List device groupsdevicegroup_add: Add a device groupdevicegroup_update: Update a device groupdevicegroup_delete: Delete a device groupdevicegroup_devices: List devices in a device groupdevicegroup_set_maintenance: Set maintenance for a device groupdevicegroup_add_devices: Add devices to a device groupdevicegroup_remove_devices: Remove devices from a device grouplocations_list: List all locationslocation_add: Add a locationlocation_edit: Edit a locationlocation_delete: Delete a locationlocation_get: Get details for a locationlocation_set_maintenance: Set maintenance for a locationports_list: List all ports (with optional filters)ports_search: Search ports (general search)ports_search_field: Search ports by a specific fieldports_search_mac: Search ports by MAC addressport_get: Get details for a specific portport_fdb: List MAC addresses learned on a portport_ip_info: Get IP address information for a portport_transceiver: Get transceiver information for a portport_description_get: Get a port descriptionport_description_update: Update a port descriptionport_groups_list: List port groupsport_group_add: Add a port groupport_group_list_ports: List ports in a port groupport_group_assign: Assign ports to a port groupport_group_remove: Remove ports from a port groupport_security_list: List port security configuration across all devicesport_security_device: Get port security configuration for a deviceport_security_port: Get port security configuration for a single portGraphs are returned as MCP images. The tools ask LibreNMS for PNG, which MCP clients such as Claude can display (SVG, LibreNMS's default webui.graph_type, often is not). A LibreNMS release that ignores the request renders in its webui.graph_type format instead; the MIME type is taken from the response.
device_graphs_list: List the graph types available for a devicedevice_graph: Render a device-level graph (e.g. device_icmp_perf)port_graph: Render a per-port graph by interface name (bits, upkts, nupkts, errors, etherlike; the LibreNMS names such as `pตัดมาแค่ช่วงต้น อ่านต่อใน repo