Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Read-only access to a Harbor registry: projects, artifacts, vulnerabilities, robots and replication.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
HARBOR_URL, HARBOR_USERNAME, HARBOR_PASSWORD, HARBOR_INSECURE_SKIP_VERIFY, HARBOR_MCP_RATEค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"harbor": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"HARBOR_URL",
"-e",
"HARBOR_USERNAME",
"-e",
"HARBOR_PASSWORD",
"-e",
"HARBOR_INSECURE_SKIP_VERIFY",
"-e",
"HARBOR_MCP_RATE",
"ghcr.io/oreondev/harbor-mcp:0.1.1"
],
"env": {
"HARBOR_URL": "ใส่ค่าของคุณ",
"HARBOR_USERNAME": "ใส่ค่าของคุณ",
"HARBOR_PASSWORD": "ใส่ค่าของคุณ",
"HARBOR_INSECURE_SKIP_VERIFY": "ใส่ค่าของคุณ",
"HARBOR_MCP_RATE": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add harbor --env HARBOR_URL='ใส่ค่าของคุณ' --env HARBOR_USERNAME='ใส่ค่าของคุณ' --env HARBOR_PASSWORD='ใส่ค่าของคุณ' --env HARBOR_INSECURE_SKIP_VERIFY='ใส่ค่าของคุณ' --env HARBOR_MCP_RATE='ใส่ค่าของคุณ' -- docker run -i --rm -e HARBOR_URL -e HARBOR_USERNAME -e HARBOR_PASSWORD -e HARBOR_INSECURE_SKIP_VERIFY -e HARBOR_MCP_RATE ghcr.io/oreondev/harbor-mcp:0.1.1เติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"harbor": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"HARBOR_URL",
"-e",
"HARBOR_USERNAME",
"-e",
"HARBOR_PASSWORD",
"-e",
"HARBOR_INSECURE_SKIP_VERIFY",
"-e",
"HARBOR_MCP_RATE",
"ghcr.io/oreondev/harbor-mcp:0.1.1"
],
"env": {
"HARBOR_URL": "ใส่ค่าของคุณ",
"HARBOR_USERNAME": "ใส่ค่าของคุณ",
"HARBOR_PASSWORD": "ใส่ค่าของคุณ",
"HARBOR_INSECURE_SKIP_VERIFY": "ใส่ค่าของคุณ",
"HARBOR_MCP_RATE": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"harbor": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"HARBOR_URL",
"-e",
"HARBOR_USERNAME",
"-e",
"HARBOR_PASSWORD",
"-e",
"HARBOR_INSECURE_SKIP_VERIFY",
"-e",
"HARBOR_MCP_RATE",
"ghcr.io/oreondev/harbor-mcp:0.1.1"
],
"env": {
"HARBOR_URL": "ใส่ค่าของคุณ",
"HARBOR_USERNAME": "ใส่ค่าของคุณ",
"HARBOR_PASSWORD": "ใส่ค่าของคุณ",
"HARBOR_INSECURE_SKIP_VERIFY": "ใส่ค่าของคุณ",
"HARBOR_MCP_RATE": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
HARBOR_INSECURE_SKIP_VERIFY envHARBOR_MCP_RATE envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub oreondev ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: HARBOR_URL, HARBOR_USERNAME, HARBOR_PASSWORD
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.1) เข้า registry เมื่อวาน
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Docker ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Zendesk
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.
Zendesk MCP Pack — tickets, users, organizations via OAuth.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
A Model Context Protocol server for Harbor, the open-source container registry. It lets AI assistants such as Claude, Cursor and VS Code answer questions about a running Harbor: projects and quotas, repositories and artifacts, vulnerability scan results, robot accounts, replication health and garbage collection.
Documentation: https://www.oreonit.com/harbor-mcp/
This is an independent community project. It is not affiliated with or endorsed by the Harbor project or the CNCF; Harbor is a trademark of The Linux Foundation.
Changes per release are in the release notes. The twelve read tools work over stdio and streamable HTTP, and are tested against a fake Harbor, Harbor 2.15 on every pull request and Harbor 2.12 to 2.15 nightly, as an administrator and as the read-only robot below. The design is in docs/DESIGN.md.
ghcr.io/oreondev/harbor-mcp, listed in the official MCP Registry as io.github.oreondev/harbor-mcp.| Tool | Answers |
|---|---|
harbor_system_info | Harbor version, authentication mode, and the user or robot the server acts as |
harbor_list_projects, harbor_get_project | projects; quota, CVE allowlist, retention and immutability of one |
harbor_list_repositories, harbor_list_artifacts | repositories; artifacts with tags, size, push and pull times and scan summary |
harbor_get_vulnerabilities | the vulnerabilities of one artifact, worst first |
harbor_list_members, harbor_list_robots | who has access: members with roles, robot accounts with permissions and expiry |
harbor_list_registries, harbor_list_replications | replication endpoints and policies, with the last run |
harbor_list_webhooks, harbor_get_gc | webhook policies; the garbage collection schedule |
Run the server as a system robot account that can only read. docs/read-only-robot.json is the request body for Harbor's API, with the permissions the tools need (the end-to-end tests use the same file):
curl -u admin -H 'Content-Type: application/json' -d @docs/read-only-robot.json \
https://harbor.example.com/api/v2.0/robots
Harbor shows the secret once, in the response; the user name is robot$harbor-mcp. An administrator account also works, but gives the assistant more than it needs.
Configuration comes from environment variables; each except HARBOR_CA_FILE can instead be read from a file named by _FILE, for mounted secrets:
| Variable | Meaning |
|---|---|
HARBOR_URL | Harbor base URL, for example https://harbor.example.com (required) |
HARBOR_USERNAME, HARBOR_PASSWORD | the robot name and secret (required) |
HARBOR_CA_FILE | extra CA bundle (PEM) for Harbor's certificate |
HARBOR_INSECURE_SKIP_VERIFY | true to skip TLS verification of Harbor |
HARBOR_MCP_RATE | requests per second to Harbor, default 10 |
HARBOR_MCP_HTTP_TOKEN | bearer token for HTTP mode |
One-click install (the client asks for the URL and credentials, or you fill them in afterwards):
Claude Code, with the image (replace 0.1.1 with the latest release):
claude mcp add harbor -e HARBOR_URL=https://harbor.example.com -e 'HARBOR_USERNAME=robot$harbor-mcp' -e HARBOR_PASSWORD=... \
-- docker run -i --rm -e HARBOR_URL -e HARBOR_USERNAME -e HARBOR_PASSWORD ghcr.io/oreondev/harbor-mcp:0.1.1
Claude Desktop, Cursor and other clients that read an mcpServers file:
{
"mcpServers": { "harbor": { "command": "docker", "args": ["run", "-i", "--rm", "-e", "HARBOR_URL", "-e", "HARBOR_USERNAME", "-e", "HARBOR_PASSWORD", "ghcr.io/oreondev/harbor-mcp:0.1.1"], "env": { "HARBOR_URL": "https://harbor.example.com", "HARBOR_USERNAME": "robot$harbor-mcp", "HARBOR_PASSWORD": "..." } } } }
Without Docker, download a binary from the releases (or go install github.com/oreondev/harbor-mcp/cmd/harbor-mcp@latest) and use harbor-mcp as the command.
For a shared server, for example a Deployment next to Harbor, start it with -http and a token:
docker run -d -p 8080:8080 -e HARBOR_URL -e HARBOR_USERNAME -e HARBOR_PASSWORD -e HARBOR_MCP_HTTP_TOKEN \
ghcr.io/oreondev/harbor-mcp:0.1.1 -http :8080 claude mcp add --transport http harbor https://harbor-mcp.example.com/mcp -H "Authorization: Bearer $HARBOR_MCP_HTTP_TOKEN"
MCP is served at /mcp and every request needs the token; GET /healthz is open for probes. Without a token the server only listens on a loopback address. Put TLS in front of it (an ingress or a mesh).
cosign verify ghcr.io/oreondev/harbor-mcp:0.1.1 \
--certificate-identity-regexp '^https://github.com/oreondev/harbor-mcp/\.github/workflows/release\.yml@' \ --certificate-oidc-issuer https://token.actions.githubusercontent.com
Maintained by Oreon IT. Issues and pull requests are welcome.
Report vulnerabilities privately; see SECURITY.md.
Apache-2.0.