Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Argo CD MCP server (MCP 2026-07-28): status, sync, rollback, drift, AppSets; writes or read-only
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ARGOCD_TOKEN, ARGOCD_URL, ARGOCD_READ_ONLY, MCP_READ_ONLY, ARGOCD_HTTP_BEARER_TOKENค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"argocd": {
"command": "uvx",
"args": [
"mcp-argocd"
],
"env": {
"ARGOCD_TOKEN": "ใส่ค่าของคุณ",
"ARGOCD_URL": "ใส่ค่าของคุณ",
"ARGOCD_READ_ONLY": "ใส่ค่าของคุณ",
"MCP_READ_ONLY": "ใส่ค่าของคุณ",
"ARGOCD_HTTP_BEARER_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add argocd --env ARGOCD_TOKEN='ใส่ค่าของคุณ' --env ARGOCD_URL='ใส่ค่าของคุณ' --env ARGOCD_READ_ONLY='ใส่ค่าของคุณ' --env MCP_READ_ONLY='ใส่ค่าของคุณ' --env ARGOCD_HTTP_BEARER_TOKEN='ใส่ค่าของคุณ' -- uvx mcp-argocdเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"argocd": {
"command": "uvx",
"args": [
"mcp-argocd"
],
"env": {
"ARGOCD_TOKEN": "ใส่ค่าของคุณ",
"ARGOCD_URL": "ใส่ค่าของคุณ",
"ARGOCD_READ_ONLY": "ใส่ค่าของคุณ",
"MCP_READ_ONLY": "ใส่ค่าของคุณ",
"ARGOCD_HTTP_BEARER_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"argocd": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-argocd"
],
"env": {
"ARGOCD_TOKEN": "ใส่ค่าของคุณ",
"ARGOCD_URL": "ใส่ค่าของคุณ",
"ARGOCD_READ_ONLY": "ใส่ค่าของคุณ",
"MCP_READ_ONLY": "ใส่ค่าของคุณ",
"ARGOCD_HTTP_BEARER_TOKEN": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ARGOCD_READ_ONLY envMCP_READ_ONLY envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub vish288 ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: ARGOCD_TOKEN, ARGOCD_URL, ARGOCD_HTTP_BEARER_TOKEN
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.6.0) เข้า registry วันนี้
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, EmbeddedCI BenchPod
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.
Drive a BenchPod hardware-in-the-loop bench: power, flash, UART, I2C, CAN, analog and logic.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
mcp-argocd is a Model Context Protocol (MCP) server for the Argo CD REST API. It gives AI assistants 37 tools, 7 resources, and 7 prompts to triage application status, sync, roll back, inspect drift, read logs, and manage ApplicationSets, clusters, projects, and repositories. Works with Claude Desktop, Claude Code, Cursor, Windsurf, VS Code Copilot, and any MCP-compatible client. Runs in one of two modes: with writes, or locked read-only (MCP_READ_ONLY=true) so the 9 write tools are never offered to the model.
Works with Argo CD 3.3+ (any install: OSS, Akuity, OpenShift GitOps). Needs an API token, no cluster access.
Supports the MCP 2026-07-28 specification, often called MCP 2.0, and stays compatible with 2025-11-25 clients.
Built with FastMCP 4.x, httpx, and Pydantic.
Install: uvx mcp-argocd | PyPI | MCP Registry | Changelog
uvx mcp-argocd # with writes
MCP_READ_ONLY=true uvx mcp-argocd # locked read-only: write tools are not listed
Tip: For other AI assistants (Claude Code, Windsurf, IntelliJ, Gemini CLI), visit the [Argo CD MCP Installation Gateway](https://vish288.github.io/mcp-install?server=mcp-argocd).
Manual Setup Guides (Click to expand)
Prerequisite: Install
uvfirst. Install uv.
# with writes
claude mcp add argocd -e ARGOCD_URL=https://argocd.example.com -e ARGOCD_TOKEN= -- uvx mcp-argocd
claude mcp add argocd -e MCP_READ_ONLY=true -e ARGOCD_URL=https://argocd.example.com -e ARGOCD_TOKEN= -- uvx mcp-argocd
Windsurf: Add to ~/.codeium/windsurf/mcp_config.json IntelliJ: Add to Settings | Tools | MCP Servers
Remove MCP_READ_ONLY to allow writes.
{
"mcpServers": { "argocd": { "command": "uvx", "args": ["mcp-argocd"], "env": { "ARGOCD_URL": "https://argocd.example.com", "ARGOCD_TOKEN": " ", "MCP_READ_ONLY": "true" } } } }
The repo ships gemini-extension.json; install it with the Gemini CLI extension flow, or add it directly:
# with writes
gemini mcp add -s user -e ARGOCD_URL=https://argocd.example.com -e ARGOCD_TOKEN= argocd uvx mcp-argocd
gemini mcp add -s user -e MCP_READ_ONLY=true -e ARGOCD_URL=https://argocd.example.com -e ARGOCD_TOKEN= argocd uvx mcp-argocd
Add to .vscode/mcp.json. Remove MCP_READ_ONLY to allow writes.
{
"servers": { "argocd": { "type": "stdio", "command": "uvx", "args": ["mcp-argocd"], "env": { "ARGOCD_URL": "https://argocd.example.com", "ARGOCD_TOKEN": " ", "MCP_READ_ONLY": "true" } } } }
# with writes
codex mcp add argocd --env ARGOCD_URL=https://argocd.example.com --env ARGOCD_TOKEN= -- uvx mcp-argocd
codex mcp add argocd --env MCP_READ_ONLY=true --env ARGOCD_URL=https://argocd.example.com --env ARGOCD_TOKEN= -- uvx mcp-argocd
uvx mcp-argocd # run without installing
pip install mcp-argocd # or install into an environment
Drop MCP_READ_ONLY to allow writes. On a shared or hosted server put it in the deployer's env, not the client config.
| Variable | Required | Default | Description |
|---|---|---|---|
ARGOCD_URL | Yes | - | Base URL including any path prefix. Also reads ARGOCD_SERVER. |
ARGOCD_TOKEN | Yes | - | Bearer token. Also reads ARGOCD_AUTH_TOKEN, ARGOCD_API_TOKEN. |
MCP_READ_ONLY | No | false | Shared name across the mcp-* servers. Any value other than false/0/no/off/empty locks the server read-only: the 9 write tools and write-workflow prompts are not listed, and nothing can turn it back off at runtime |
ARGOCD_READ_ONLY | No | false | Per-server alias for MCP_READ_ONLY; either one locks the server read-only. --read-only can only raise the lock |
ARGOCD_HTTP_BEARER_TOKEN | No | - | Bearer token (min 16 chars) required to bind an HTTP transport to a non-loopback host; clients send Authorization: Bearer |
ARGOCD_TIMEOUT | No | 30 | Request timeout in seconds |
ARGOCD_SSL_VERIFY | No | true | false skips SSL verification (ARGOCD_INSECURE=true is an alias) |
ARGOCD_APP_NAMESPACE | No | - | Default appNamespace for apps-in-any-namespace installs |
Argo CD tokens come from a local account with the apiKey capability, or from a project role.
argocd-cm: set accounts.ci-bot: apiKey.argocd account generate-token --account ci-bot --expires-in 24h.ARGOCD_URL and ARGOCD_TOKEN.Minimum read-only RBAC:
p, role:mcp-ro, applications, get, */*, allow
p, role:mcp-ro, logs, get, */*, allow p, role:mcp-ro, applicationsets, get, */*, allow p, role:mcp-ro, projects, get, *, allow p, role:mcp-ro, clusters, get, *, allow p, role:mcp-ro, repositories, get, *, allow
| Component | Supported |
|---|---|
| Argo CD | 3.3+ (OSS, Akuity, OpenShift GitOps); most tools also work on 2.x |
| Python | 3.11, 3.12, 3.13, 3.14 |
| Transports | stdio, streamable-http, sse (deprecated) |
| MCP spec | 2026-07-28 (MCP 2.0); compatible with 2025-11-25 |
Supports the MCP 2026-07-28 specification (MCP 2.0) and stays compatible with 2025-11-25 clients. Built on FastMCP 4.x. A regression test lists all 37 tools with an in-memory MCP client pinned to 2026-07-28. The sse transport is deprecated by the 2026-07-28 specification; it still works and prints a warning. The server uses no roots, sampling, logging, elicitation, or resource subscriptions.
Expected failures — a missing app (404), a denied permission (403), a write that reaches the read-only guard — return a tool result with isError: true rather than a success envelope. (In locked read-only mode the write tools are hidden, so calling one returns an Unknown tool error; the envelope below is the guard's own response, returned only when a client reaches a write tool anyway.) The body is a JSON object {"error", "status_code"?, "body"?, "hint"?}, where hint names a corrective action when one applies. The body is the result's pretty-printed text content; the result carries no structuredContent, because a strict MCP client (the TypeScript SDK) validates structuredContent against the tool's outputSchema even when isError is true and would reject the error otherwise. Unexpected bugs are also isError: true but carry TypeName: message text and a logged traceback. Successful results carry the same JSON object as structuredContent alongside the pretty-printed text, so a client may read either. Tools advertise no outputSchema: payloads pass upstream fields through untyped, and a typed schema is opt-in per tool via output_schema=.
| Category | Count |
|---|---|
| Applications — read | 14 |
| Applications — write | 8 |
| ApplicationSets | 3 |
| Projects | 2 |
| Clusters | 3 |
| Repositories | 3 |
| Server and account | 4 |
Full tool reference (Click to expand)
argocd_list_applications — List applications with slim rows; filter by sync, health, destination.argocd_get_application — Get one application: spec, sync/health, conditions, operation, counts.argocd_get_resource_tree — Get the live resource tree as slim nodes.argocd_get_managed_resources — Get live-vs-desired diffs for managed resources.argocd_get_resource — Get a single managed resource's live manifest.argocd_get_manifests — Get the rendered desired manifests for a revision.argocd_get_application_events — Get Kubernetes events for an application.argocd_get_pod_logs — Get container logs; never follows.argocd_get_application_history — Get deployment history, newest first.argocd_get_revision_metadata — Get commit metadata for a revision.argocd_get_operation — Get the current or last sync operation.argocd_wait_for_operation — Poll until an operation is terminal, gone, or times out.argocd_get_sync_windows — Get sync windows and whether the app can sync now.argocd_list_resource_actions — List the custom actions available on a resource.argocd_sync_application — Sync an application; prune and force can delete or recreate resources.argocd_rollback_application — Roll back to a prior deployment history entry.argocd_terminate_operation — Terminate the running sync operation.argocd_create_application — Create an application from flattened parameters.argocd_patch_application — Patch an application; the one tool for every update.argocd_delete_application — Delete an application.argocd_run_resource_action — Run a custom resource action, such as restart.argocd_delete_resource — Delete a single managed resource so the controller recreates it.argocd_list_applicationsets — List ApplicationSets with slim rows.argocd_get_applicationset — Get one ApplicationSet and the status of its generated apps.argocd_generate_applicationset — Dry-run the generators to preview generated apps; creates nothing.argocd_list_projects — List projects with slim rows.argocd_get_project — Get a project's repos, destinations, and roles.argocd_list_clusters — List clusters with connection state, versions, and counts.argocd_get_cluster — Get one cluster by name or server URL.argocd_invalidate_cluster_cache — Invalidate a cluster's cached resources.argocd_list_repositories — List repositories; credentials are never returned.argocd_get_repository_refs — Get a repository's branches and tags.argocd_list_repository_apps — List the application paths discoverable in a repository.argocd_get_version — Get the Argo CD server version and bundled tool versions.argocd_get_userinfo — Get the authenticated identity.argocd_can_i — Check whether the account may perform a resource/action.argocd_get_settings — Get server settings and enabled features.The server exposes curated GitOps rules and guides as MCP resources.
ตัดมาแค่ช่วงต้น อ่านต่อใน repo