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

Quirna

โดย quirnaรุ่น 0.1.2i★ –iรันบนเครื่อง
ชื่อใน registryio.github.quirna/mcp

ติดตั้ง

ภาพรวม

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

Ask a human before your agent acts: approval requests decided on a phone.

สามเสาของ PopNx MCP

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

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

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

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

ติดตั้ง

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

ก่อนติดตั้ง

  • ผลตรวจเบื้องต้น: ผ่าน 1 จาก 1 ข้อ
  • รันในเครื่องคุณด้วยสิทธิ์ของผู้ใช้คุณ (ไฟล์ อินเทอร์เน็ต แอปต่าง ๆ)
  • ค่าที่คุณต้องใส่เอง: QUIRNA_API_KEY, QUIRNA_REQUESTER_ID, QUIRNA_REQUESTER_NAME, QUIRNA_ENVIRONMENT, QUIRNA_WAIT_MS, QUIRNA_BASE_URL

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

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

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

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

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

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

{
  "mcpServers": {
    "quirna": {
      "command": "npx",
      "args": [
        "-y",
        "@quirna/mcp"
      ],
      "env": {
        "QUIRNA_API_KEY": "ใส่ค่าของคุณ",
        "QUIRNA_REQUESTER_ID": "ใส่ค่าของคุณ",
        "QUIRNA_REQUESTER_NAME": "ใส่ค่าของคุณ",
        "QUIRNA_ENVIRONMENT": "ใส่ค่าของคุณ",
        "QUIRNA_WAIT_MS": "ใส่ค่าของคุณ",
        "QUIRNA_BASE_URL": "ใส่ค่าของคุณ"
      }
    }
  }
}

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

claude mcp add quirna --env QUIRNA_API_KEY='ใส่ค่าของคุณ' --env QUIRNA_REQUESTER_ID='ใส่ค่าของคุณ' --env QUIRNA_REQUESTER_NAME='ใส่ค่าของคุณ' --env QUIRNA_ENVIRONMENT='ใส่ค่าของคุณ' --env QUIRNA_WAIT_MS='ใส่ค่าของคุณ' --env QUIRNA_BASE_URL='ใส่ค่าของคุณ' -- npx -y @quirna/mcp

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

เปิดใน Cursor

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

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

{
  "mcpServers": {
    "quirna": {
      "command": "npx",
      "args": [
        "-y",
        "@quirna/mcp"
      ],
      "env": {
        "QUIRNA_API_KEY": "ใส่ค่าของคุณ",
        "QUIRNA_REQUESTER_ID": "ใส่ค่าของคุณ",
        "QUIRNA_REQUESTER_NAME": "ใส่ค่าของคุณ",
        "QUIRNA_ENVIRONMENT": "ใส่ค่าของคุณ",
        "QUIRNA_WAIT_MS": "ใส่ค่าของคุณ",
        "QUIRNA_BASE_URL": "ใส่ค่าของคุณ"
      }
    }
  }
}

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

เปิดใน VS Code

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

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

{
  "servers": {
    "quirna": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@quirna/mcp"
      ],
      "env": {
        "QUIRNA_API_KEY": "ใส่ค่าของคุณ",
        "QUIRNA_REQUESTER_ID": "ใส่ค่าของคุณ",
        "QUIRNA_REQUESTER_NAME": "ใส่ค่าของคุณ",
        "QUIRNA_ENVIRONMENT": "ใส่ค่าของคุณ",
        "QUIRNA_WAIT_MS": "ใส่ค่าของคุณ",
        "QUIRNA_BASE_URL": "ใส่ค่าของคุณ"
      }
    }
  }
}

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

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

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

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

  • QUIRNA_API_KEY ความลับ จำเป็น env
    Key of a System registered in the Quirna Console (Users → Systems).
  • QUIRNA_REQUESTER_ID env
    Who the Console shows as having asked. Defaults to "mcp".
  • QUIRNA_REQUESTER_NAME env
    Display name for the requester. Defaults to "AI agent".
  • QUIRNA_ENVIRONMENT env
    Environment used when a tool call names none. Empty means the org default.
  • QUIRNA_WAIT_MS env
    How long a tool call waits for a decision before returning pending. Defaults to 90000.
  • QUIRNA_BASE_URL env
    Override the Quirna API URL. Leave unset.

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

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

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

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

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

  • ✓ ผ่าน

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

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

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

    ยังมีคนดูแล

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

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

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

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

  • – ไม่เกี่ยว

    endpoint ตอบ

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

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

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

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

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

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

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

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

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

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

Quirna ปลอดภัยไหม?

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

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

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

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

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

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

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.2) เข้า registry 40 วันที่ผ่านมา

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

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

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

ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Python 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อัปเดต เมื่อวาน
ติดตั้ง

Python MCP

โดย Files-com

Local-only Python MCP server for the Files.com API.

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

README จากผู้ทำ

เปิดอ่าน README

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

@quirna/mcp

Ask a human before your agent acts. Official Quirna server for the Model Context Protocol.

Add one block of config and your agent gains a tool it can call before doing something consequential — a refund, a production deploy, a destructive migration. A named human approves it on their phone. The agent proceeds only if they said yes, and the decision is signed and kept.

Nothing moves until someone says yes.

Your agent's framework may already have a way to pause for confirmation. This is different in three ways that matter once it is not just you at the terminal:

  • The decision leaves the loop. It goes to whoever your policy nominates, on their phone, behind Face ID — not to whoever happens to be watching the agent run.
  • Who approves is policy, not prompt. Quorum, risk tier and which group is asked live in your organization's settings. The agent cannot choose its own approvers, and neither can a prompt injection.
  • It leaves evidence. Every decision is signed at the moment it is made, and exports to a file a third party can verify without trusting us.

Install

Nothing to install: the config below runs it on demand with npx. To pin it, npm install -g @quirna/mcp and use quirna-mcp as the command.

Before you start

The mobile app is in private beta. Decisions are made on the phone and

nowhere else — the Console configures policies and never decides one — so

without the app an approval request is created and then waits until it

expires. Write to hello@quirna.com and we will get you in. Everything

else below works today.

Then, in the Console:

  1. A System key. Open Users → Systems and register one for this agent. You get a key (ck_…), shown once.
  2. A Policy, which decides who approves a given kind of request and how many of them are needed.
  3. The app, on the phone of whoever will approve.

Configure your agent

Claude Code — claude mcp add quirna --env QUIRNA_API_KEY=ck_… -- npx -y @quirna/mcp

Cursor (~/.cursor/mcp.json), Claude Desktop (claude_desktop_config.json) and most other clients take the same shape:

{

"mcpServers": { "quirna": { "command": "npx", "args": ["-y", "@quirna/mcp"], "env": { "QUIRNA_API_KEY": "ck_your_system_key", "QUIRNA_REQUESTER_NAME": "Ops Agent", "QUIRNA_ENVIRONMENT": "production" } } } }

Environment
VariableDefaultWhat it does
QUIRNA_API_KEY—Required. The System key from the Console.
QUIRNA_REQUESTER_NAMEAI agentThe name an approver sees as having asked.
QUIRNA_REQUESTER_IDmcpStable id for this caller in the audit trail.
QUIRNA_ENVIRONMENT—Applied when a call does not name one.
QUIRNA_WAIT_MS90000How long a tool call waits before reporting back.
QUIRNA_BASE_URLhttps://api.quirna.comPoint at a self-hosted API.

On the key. It lives in your agent client's config file, which is often in a dotfile and sometimes in a repo. Treat it as a deployment credential: give each agent its own System rather than sharing one, scope it in the Console to the kinds it may request, and rotate it there if the file gets somewhere it should not be. A System key can only *ask* — it can never approve anything.

The tools

request_approval

Creates the request and waits for a human.

ArgumentRequired
kindyesThe class of action, e.g. database_migration. Selects the policy.
messageyesOne imperative line, shown as the headline on the phone.
identifiersnoFlat string key/values an approver needs: amounts, table names, hosts.
environmentnoproduction, staging, …
tiernoroutine, elevated, critical. Can only raise the policy's floor.

Notably absent: who approves, how many are needed, how long it stays open. Those are the organization's to decide in the Console, once, for every caller — an agent that could pick its own approvers would not be a control.

check_approval

Takes an approval_id and waits for that existing request. Use it when request_approval came back still pending; calling request_approval again would put the same action in front of a second human.

What the agent gets back

Anything that is not `APPROVED` opens with `NOT AUTHORIZED`, followed by why, and by an explicit instruction not to perform the action. The structured result carries authorized: true | false for code that parses instead of reading.

Asking and getting an answer is a successful tool call, whatever the answer was — a denial is the product working, not a failure. isError is reserved for the cases where the tool could not run at all and nothing was learned: Quirna unreachable, a key rejected, the call aborted. So an agent can tell "a human said no" from "the approval system is down", which are opposite situations, and nothing invites it to retry a denial into a second person's hands.

When nobody answers

An agent running unattended at 3am will hit this: the request expires and the action is never authorized. That is the correct outcome, not a bug to design around. If your agent needs to run without anyone awake, the answer is a policy whose condition does not require a human for that case — not a longer timeout.

Two timeouts are in play, and they are not the same:

  • `QUIRNA_WAIT_MS` (default 90s) is how long a *tool call* waits before returning the approval id so the agent can resume. It exists because agent clients kill long tool calls. The request stays live.
  • The policy's expiry (set in the Console) is how long the *request* stays open. Only this one can time a request out.

Links

MIT © Quirna

ถาม PopNx