ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

q-ring

โดย I4cTimeรุ่น 0.19.0i★ –iรันบนเครื่อง
ชื่อใน registryio.github.I4cTime/q-ring

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

OS keychain secrets for AI coding agents, over MCP.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: อื่น ๆ
  • ต้องใส่ค่าเหล่านี้: QRING_FILE_PASSPHRASE

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

ต้องเตรียมก่อน

  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "q-ring": {
      "command": "npx",
      "args": [
        "-y",
        "@i4ctime/q-ring"
      ],
      "env": {
        "QRING_BACKEND": "ใส่ค่าของคุณ",
        "QRING_FILE_PASSPHRASE": "ใส่ค่าของคุณ",
        "QRING_FILE_BACKEND_PATH": "ใส่ค่าของคุณ",
        "QRING_CONFIG_DIR": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add q-ring --env QRING_BACKEND='ใส่ค่าของคุณ' --env QRING_FILE_PASSPHRASE='ใส่ค่าของคุณ' --env QRING_FILE_BACKEND_PATH='ใส่ค่าของคุณ' --env QRING_CONFIG_DIR='ใส่ค่าของคุณ' -- npx -y @i4ctime/q-ring

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "q-ring": {
      "command": "npx",
      "args": [
        "-y",
        "@i4ctime/q-ring"
      ],
      "env": {
        "QRING_BACKEND": "ใส่ค่าของคุณ",
        "QRING_FILE_PASSPHRASE": "ใส่ค่าของคุณ",
        "QRING_FILE_BACKEND_PATH": "ใส่ค่าของคุณ",
        "QRING_CONFIG_DIR": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "q-ring": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@i4ctime/q-ring"
      ],
      "env": {
        "QRING_BACKEND": "ใส่ค่าของคุณ",
        "QRING_FILE_PASSPHRASE": "ใส่ค่าของคุณ",
        "QRING_FILE_BACKEND_PATH": "ใส่ค่าของคุณ",
        "QRING_CONFIG_DIR": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • QRING_BACKEND env
    Secret storage backend. Defaults to the OS keychain; set to "file" for headless hosts with no Secret Service (CI, containers).
  • QRING_FILE_PASSPHRASE ความลับ env
    Passphrase for the encrypted file backend (AES-256-GCM). Required only when QRING_BACKEND=file — without it the file backend fails closed.
  • QRING_FILE_BACKEND_PATH env
    Custom path for the encrypted file store (default: ~/.config/q-ring/file-backend.enc).
  • QRING_CONFIG_DIR env
    Directory for q-ring's registries — hooks, entanglement, approvals, canary webhooks, agent memory (default: ~/.config/q-ring).

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub I4cTime ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด อื่น ๆi

  • ดาวมากกว่า 0% ของอีก 32461 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 95% ของอีก 32461 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 32461 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

q-ring ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: QRING_FILE_PASSPHRASE

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.19.0) เข้า registry เมื่อวาน

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, dotnet-mcp

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Spec Driven Development

โดย formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

รันบนเครื่อง★ 440MITอัปเดต 14 เดือนที่ผ่านมา
ติดตั้ง

Remote Desktop Commander

โดย desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

รันบนคลาวด์★ 211อัปเดต เมื่อวาน
ติดตั้ง

dotnet-mcp

โดย Skymly

MCP server for .NET symbols, XAML, source generators, and restricted workspace edit

รันบนเครื่องอัปเดต วันนี้
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

q-ring

OS keychain secrets for AI coding agents, over MCP.

Website: qring.i4c.studio

Stop pasting API keys into plain-text .env files or wrestling with clunky secret managers. q-ring securely anchors your credentials to your OS's native vault (macOS Keychain, Linux Secret Service, Windows Credential Vault) and supercharges them with mechanics from quantum physics.

📖 [View the Official Documentation](https://qring.i4c.studio/docs) for a complete CLI reference, MCP prompt cookbooks, and architecture details.

Why q-ring?
  • Superposition: Store one key with multiple states (dev/staging/prod) that collapse based on context.
  • Entanglement: Link keys across projects so rotating one automatically updates them all.
  • Tunneling: Create ephemeral, in-memory secrets that self-destruct after a set time or read count.
  • Teleportation: Securely pack and share AES-256-GCM encrypted secret bundles.
  • Seamless AI Integration: 46 built-in MCP tools for native use in Cursor, Kiro, and Claude Code.

🚀 Installation

q-ring is designed to be installed globally so it's available anywhere in your terminal. Pick your favorite package manager:

# pnpm (recommended)

pnpm add -g @i4ctime/q-ring

npm

npm install -g @i4ctime/q-ring

yarn

yarn global add @i4ctime/q-ring

Homebrew (macOS / Linux)

brew install i4ctime/tap/qring

Docker (MCP server)

The repo ships a Dockerfile that builds the MCP server and exposes it through mcp-proxy — useful for hosted MCP deployments (e.g. Glama) or keeping the server off the host entirely:

git clone https://github.com/I4cTime/q-ring.git

cd q-ring docker build -t qring-mcp . docker run --rm -p 8080:8080 qring-mcp

Note: inside a container there is no OS keychain (GNOME Keyring / macOS Keychain), so this path is for the MCP protocol surface, ephemeral use, and CI experiments — not for durable local secret storage. For day-to-day use install the CLI natively via one of the package managers above.

⚡ Quick Start

# 1️⃣ Store a secret (prompts securely if value is omitted)

qring set OPENAI_API_KEY sk-...

2️⃣ Retrieve it anytime

qring get OPENAI_API_KEY

3️⃣ List all keys (values are never shown)

qring list

4️⃣ Generate a cryptographic secret and save it

qring generate --format api-key --prefix "sk-" --save MY_KEY

5️⃣ Run a full health scan

qring health

Something not working? Diagnose the install (keyring, audit, MCP wiring)

qring doctor

Tab completion for your shell

qring completion zsh > ~/.zsh/completions/_qring # also: bash, fish

Quantum Features

Superposition — One Key, Multiple Environments

A single secret can hold different values for dev, staging, and prod simultaneously. The correct value resolves based on your current context.

# Set environment-specific values

qring set API_KEY "sk-dev-123" --env dev qring set API_KEY "sk-stg-456" --env staging qring set API_KEY "sk-prod-789" --env prod

Value resolves based on context

QRING_ENV=prod qring get API_KEY # → sk-prod-789 QRING_ENV=dev qring get API_KEY # → sk-dev-123

Inspect the quantum state

qring inspect API_KEY

Environment Promotion — Diff, Then Promote

Once a secret carries per-environment states, promotion replaces copy-paste: compare two environments key by key (statuses only, never values), then copy a value from one state to another. diff exits 1 on drift, so it doubles as a CI gate; promote refuses to overwrite a differing target unless you say so.

# What differs between staging and prod? (same / different / missing on one side)

qring diff staging prod

Make prod match staging for one key (asks before overwriting a different value)

qring promote DATABASE_URL --from staging --to prod

Non-interactive, e.g. in a release script

qring promote DATABASE_URL --from staging --to prod --force --json

MCP agents get the same two operations as diff_environments and promote_secret.

Wavefunction Collapse — Smart Environment Detection

q-ring auto-detects your environment without explicit flags. Resolution order:

  1. --env flag
  2. QRING_ENV environment variable
  3. NODE_ENV environment variable
  4. Git branch heuristics (main/master → prod, develop → dev)
  5. .q-ring.json project config
  6. Default environment from the secret
# See what environment q-ring detects

qring env

Project config (.q-ring.json)

echo '{"env": "staging", "branchMap": {"release/*": "staging"}}' > .q-ring.json

Quantum Decay — Secrets with TTL

Secrets can have a time-to-live. Expired secrets are blocked from reads. Stale secrets (75%+ lifetime) trigger warnings.

# Set a secret that expires in 1 hour

qring set SESSION_TOKEN "tok-..." --ttl 3600

Set with explicit expiry

qring set CERT_KEY "..." --expires "2026-06-01T00:00:00Z"

Health check shows decay status

qring health

Observer Effect — Audit Everything

Every secret read, write, and delete is logged with a tamper-evident hash chain. Access patterns are tracked for anomaly detection.

# View audit log

qring audit qring audit --key OPENAI_KEY --limit 50

Detect anomalies (burst access, unusual hours, chain tampering)

qring audit --anomalies

Verify audit chain integrity

qring audit:verify

Export audit log

qring audit:export --format json --since 2026-03-01 qring audit:export --format csv --output audit-report.csv

Quantum Noise — Secret Generation

Generate cryptographically strong secrets in common formats.

qring generate                          # API key (default)

qring generate --format password -l 32 # Strong password qring generate --format uuid # UUID v4 qring generate --format token # Base64url token qring generate --format hex -l 64 # 64-byte hex qring generate --format api-key --prefix "sk-live-" --save STRIPE_KEY

Entanglement — Linked Secrets

Link secrets across projects. When you rotate one, all entangled copies update automatically.

# Entangle two secrets

qring entangle API_KEY API_KEY_BACKUP

Now updating API_KEY also updates API_KEY_BACKUP

qring set API_KEY "new-value"

Unlink entangled secrets

qring disentangle API_KEY API_KEY_BACKUP

Tunneling — Ephemeral Secrets

Create secrets that exist only in memory. They never touch disk. Optional TTL and max-read self-destruction.

# Create an ephemeral secret (returns tunnel ID)

qring tunnel create "temporary-token-xyz" --ttl 300 --max-reads 1

Read it (self-destructs after this read)

qring tunnel read tun_abc123

List active tunnels

qring tunnel list

Teleportation — Encrypted Sharing

Pack secrets into AES-256-GCM encrypted bundles for secure transfer between machines. Two ways to lock a bundle:

  • Passphrase (v1): keys derived with PBKDF2-HMAC-SHA512 (210 000 iterations); each bundle records its iteration count, so old bundles still unpack.
  • Recipients (v2, 0.18): each teammate runs qring teleport keygen once and shares their recipient string (qring1…, an X25519 public key; the private half lives in their OS keyring). pack --to encrypts a fresh content key to every recipient — HKDF-SHA256 over an ephemeral X25519 agreement, AES-256-GCM throughout, node:crypto only — so nothing secret travels beside the bundle and nobody has to whisper a passphrase.
# Passphrase bundle (prompts)

qring teleport pack --keys "API_KEY,DB_PASS" > bundle.txt cat bundle.txt | qring teleport unpack

Recipient bundle: teammates publish their recipient once…

qring teleport keygen # → qring1a3F… (share this; keep the keyring) qring teleport identity # print it again later

…then you address the pack to them (repeatable or comma-separated)

qring teleport pack --keys "API_KEY,DB_PASS" --to qring1a3F… --to qring1Zz9… > bundle.txt

They unpack with the identity in their keyring — no passphrase

cat bundle.txt | qring teleport unpack

Preview: who it's addressed to, whether that's you, and what's inside

qring teleport unpack --dry-run

Import — Bulk Secret Ingestion

Import secrets from .env files directly into q-ring. Supports standard dotenv syntax including comments, quoted values, and escape sequences. The CLI accepts either a file path or raw content; the import_dotenv MCP tool only accepts raw content (it never reads files from disk) so an agent can't coerce it into reading arbitrary local files.

# Import all secrets from a .env file

qring import .env

Import to project scope, skipping existing keys

qring import .env --project --skip-existing

Preview what would be imported

qring import .env --dry-run

Selective Export

Export only the secrets you need using key names or tag filters.

# Export specific keys

qring export --keys "API_KEY,DB_PASS,REDIS_URL"

Export by tag

qring export --tags "backend"

Combine with format

qring export --keys "API_KEY,DB_PASS" --format json

Secret Search and Filtering

Filter qring list output by tag, expiry state, or key pattern.

# Filter by tag

qring list --tag backend

Show only expired secrets

qring list --expired

Show only stale secrets (75%+ decay)

qring list --stale

Glob pattern on key name

qring list --filter "API_*"

Script-friendly existence check (exit 0 if present, 1 if not; decay-aware)

qring has OPENAI_API_KEY --quiet && echo "configured"

Project Secret Manifest

Declare required secrets in .q-ring.json and validate project readiness with a single command.

# Validate project secrets against the manifest

qring check

See which secrets are present, missing, expired

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx