Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
MCP server for Oxidized network device configuration backups
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
OXIDIZED_URL, OXIDIZED_USERNAME, OXIDIZED_PASSWORD, OXIDIZED_VERIFY_SSL, OXIDIZED_TIMEOUT, OXIDIZED_SEARCH_TIMEOUT, OXIDIZED_REDACT_NODE_VARS, READ_ONLY_MODE, OXIDIZED_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": {
"oxidized": {
"command": "uvx",
"args": [
"oxidized-mcp"
],
"env": {
"OXIDIZED_URL": "ใส่ค่าของคุณ",
"OXIDIZED_USERNAME": "ใส่ค่าของคุณ",
"OXIDIZED_PASSWORD": "ใส่ค่าของคุณ",
"OXIDIZED_VERIFY_SSL": "ใส่ค่าของคุณ",
"OXIDIZED_TIMEOUT": "ใส่ค่าของคุณ",
"OXIDIZED_SEARCH_TIMEOUT": "ใส่ค่าของคุณ",
"OXIDIZED_REDACT_NODE_VARS": "ใส่ค่าของคุณ",
"READ_ONLY_MODE": "ใส่ค่าของคุณ",
"OXIDIZED_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 oxidized --env OXIDIZED_URL='ใส่ค่าของคุณ' --env OXIDIZED_USERNAME='ใส่ค่าของคุณ' --env OXIDIZED_PASSWORD='ใส่ค่าของคุณ' --env OXIDIZED_VERIFY_SSL='ใส่ค่าของคุณ' --env OXIDIZED_TIMEOUT='ใส่ค่าของคุณ' --env OXIDIZED_SEARCH_TIMEOUT='ใส่ค่าของคุณ' --env OXIDIZED_REDACT_NODE_VARS='ใส่ค่าของคุณ' --env READ_ONLY_MODE='ใส่ค่าของคุณ' --env OXIDIZED_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 oxidized-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"oxidized": {
"command": "uvx",
"args": [
"oxidized-mcp"
],
"env": {
"OXIDIZED_URL": "ใส่ค่าของคุณ",
"OXIDIZED_USERNAME": "ใส่ค่าของคุณ",
"OXIDIZED_PASSWORD": "ใส่ค่าของคุณ",
"OXIDIZED_VERIFY_SSL": "ใส่ค่าของคุณ",
"OXIDIZED_TIMEOUT": "ใส่ค่าของคุณ",
"OXIDIZED_SEARCH_TIMEOUT": "ใส่ค่าของคุณ",
"OXIDIZED_REDACT_NODE_VARS": "ใส่ค่าของคุณ",
"READ_ONLY_MODE": "ใส่ค่าของคุณ",
"OXIDIZED_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": {
"oxidized": {
"type": "stdio",
"command": "uvx",
"args": [
"oxidized-mcp"
],
"env": {
"OXIDIZED_URL": "ใส่ค่าของคุณ",
"OXIDIZED_USERNAME": "ใส่ค่าของคุณ",
"OXIDIZED_PASSWORD": "ใส่ค่าของคุณ",
"OXIDIZED_VERIFY_SSL": "ใส่ค่าของคุณ",
"OXIDIZED_TIMEOUT": "ใส่ค่าของคุณ",
"OXIDIZED_SEARCH_TIMEOUT": "ใส่ค่าของคุณ",
"OXIDIZED_REDACT_NODE_VARS": "ใส่ค่าของคุณ",
"READ_ONLY_MODE": "ใส่ค่าของคุณ",
"OXIDIZED_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 บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
OXIDIZED_USERNAME envOXIDIZED_VERIFY_SSL envOXIDIZED_TIMEOUT envOXIDIZED_SEARCH_TIMEOUT envOXIDIZED_REDACT_NODE_VARS envREAD_ONLY_MODE envOXIDIZED_DISABLED_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 ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: OXIDIZED_URL, OXIDIZED_PASSWORD
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.2.1) เข้า registry 15 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv), Docker ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Signoff
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
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.
Five gates that make an agent's 'done' provable: run them, read the verdict, audit the record.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Let AI agents search, compare and back up network device configs stored in Oxidized
Installation · Tools · Configuration · Security
Oxidized MCP Server is a Python-based Model Context Protocol (MCP) server that gives AI assistants access to Oxidized, the network device configuration backup tool. It talks to the oxidized-web REST API to list devices, check backup health, read and search device configurations, browse and diff configuration history, and queue backups. It supports read-only mode, tag-based tool filtering, and bearer token authentication for HTTP transports.
group/name) or IP addressgit (or gitcrypt) outputThe easiest way to get started is to install from PyPI:
# Using UV (recommended)
uvx oxidized-mcp
pip install oxidized-mcp
Remember to configure the environment variables for your Oxidized instance before running the server:
# Create environment configuration
export OXIDIZED_URL=http://localhost:8888
For more details, visit: https://pypi.org/project/oxidized-mcp/
git clone https://github.com/mhajder/oxidized-mcp.git
cd oxidized-mcp
# Using UV (recommended)
uv sync
pip install -e .
cp .env.example .env
# Using UV (recommended)
uv run oxidized-mcp
oxidized-mcp
For development with additional tools:
# Clone and install with development dependencies
git clone https://github.com/mhajder/oxidized-mcp.git cd oxidized-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
# Oxidized Connection Details
OXIDIZED_URL=http://localhost:8888
OXIDIZED_VERIFY_SSL=true OXIDIZED_TIMEOUT=30
OXIDIZED_SEARCH_TIMEOUT=300
OXIDIZED_REDACT_NODE_VARS=true
READ_ONLY_MODE=false
OXIDIZED_DISABLED_TAGS=
LOG_LEVEL=INFO
RATE_LIMIT_ENABLED=false RATE_LIMIT_MAX_REQUESTS=60 RATE_LIMIT_WINDOW_MINUTES=1
TOOL_SEARCH_ENABLED=false
TOOL_SEARCH_STRATEGY=bm25
TOOL_SEARCH_MAX_RESULTS=5
The server optionally supports Sentry for error tracking, performance monitoring, and debugging. Sentry integration is completely optional and only initialized if configured.
To enable Sentry monitoring, install the optional dependency:
# Using UV (recommended)
uv sync --extra sentry
Enable Sentry by setting the SENTRY_DSN environment variable in your .env file:
# Required: Sentry DSN for your project
SENTRY_DSN=https://your-key@o12345.ingest.us.sentry.io/6789
SENTRY_TRACES_SAMPLE_RATE=1.0
SENTRY_SEND_DEFAULT_PII=false
SENTRY_ENVIRONMENT=production
SENTRY_RELEASE=1.2.2
SENTRY_PROFILE_SESSION_SAMPLE_RATE=1.0
SENTRY_PROFILE_LIFECYCLE=trace
SENTRY_ENABLE_LOGS=true
When enabled, Sentry automatically captures:
.env fileSentry is completely optional. If you don't set SENTRY_DSN, the server will run normally without any Sentry integration, and no monitoring data will be collected.
list_nodes: List devices with optional filters (group, model, last run status, name/IP substring) and paging; group/model are filtered by Oxidized itself (/nodes/ / .json), so large inventories are not transferred in fullget_node: Get a single device's details and last backup run (accepts name or IP)find_nodes: Find devices by partial name, full name or IP, exact matches firstget_backup_stats: Backup health summary - counts per status, group and model, success rate, failed / never backed up / stale devices; optionally for a single group or modelget_node_config: Get the latest backed-up configuration of a device (by name or IP), paged by lines (offset / max_lines)search_configs: Search all configurations for a regex or literal text; returns matching lines with line numbers and optional contextRequire the Oxidized git or gitcrypt output.
list_node_versions: List stored configuration versions (oid, date, author, message), newest firstget_node_version: Get the configuration at a given version (full oid or unique prefix), paged by linesdiff_node_versions: Unified diff between two versions; defaults to the most recent changeHidden when READ_ONLY_MODE=true.
trigger_node_backup: Queue an immediate backup of a device, optionally recording a commit message and authorreload_nodes: Reload the whole node list from its source (a per-node reload is deliberately not offered: oxidized-web's /reload?node=X replaces the entire in-memory node list with the matching nodes)The server supports a read-only mode that disables all write operations for safe monitoring:
READ_ONLY_MODE=true
When enabled, only tools tagged read-only are exposed: trigger_node_backup and reload_nodes are hidden, while every node, configuration and history tool stays available.
You can disable specific categories of tools by setting disabled tags:
OXIDIZED_DISABLED_TAGS=search,diff
Available tags include:
node - Node listing and lookup toolsตัดมาแค่ช่วงต้น อ่านต่อใน repo