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

Intent-Verified Development (IVD)

โดย leocelisรุ่น 3.1.2i★ –iรันบนคลาวด์
ชื่อใน registryio.github.leocelis/ivd

ติดตั้ง

ภาพรวม

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

33 tools that make AI write, implement, and verify intent against explicit, testable constraints.

สามเสาของ PopNx MCP

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

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

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

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

ติดตั้ง

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

ก่อนติดตั้ง

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

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

  • รันบนคลาวด์ไม่ต้องลงโปรแกรมเพิ่ม ต่อผ่านอินเทอร์เน็ตได้เลย

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

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

ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน

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

claude mcp add --transport http ivd https://mcp.ivdframework.dev/mcp --header 'Authorization: Bearer {api_key}'

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

เปิดใน Cursor

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

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

{
  "mcpServers": {
    "ivd": {
      "url": "https://mcp.ivdframework.dev/mcp",
      "headers": {
        "Authorization": "Bearer {api_key}"
      }
    }
  }
}

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

เปิดใน VS Code

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

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

{
  "servers": {
    "ivd": {
      "type": "http",
      "url": "https://mcp.ivdframework.dev/mcp",
      "headers": {
        "Authorization": "Bearer {api_key}"
      }
    }
  }
}

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

ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน

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

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

  • Authorization ความลับ จำเป็น HTTP header
    API key for the IVD hosted server. Request one at https://ivdframework.dev.

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

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

ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป

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

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

  • ✓ ผ่าน

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

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

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

    ยังมีคนดูแล

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

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

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

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

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

    endpoint ตอบ

    ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป

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

    ล็อกอินแบบ OAuth

    ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป

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

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

    ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint

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

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

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

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

Intent-Verified Development (IVD) ปลอดภัยไหม?

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

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

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

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

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

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

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

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

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา

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

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

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

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อัปเดต เมื่อวาน
ติดตั้ง

yontu

โดย senrecep

Türkçe yazı denetimi: TDK kuralları, yapay zekâ izleri, metin türüne göre üslup.

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

README จากผู้ทำ

เปิดอ่าน README

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

Intent-Verified Development (IVD)

A framework where AI writes the intent, implements against it, and verifies — so hallucinations are caught and turns drop to one.

→ ivdframework.dev — full docs, hosted server, and access request

New here? Start with judgment_explained.md — a 5-minute, plain-English on-ramp that explains what problem the Judgment phase solves and how, before you read the spec.


The Problem

AI agents hallucinate not because they're bad — but because you're feeding the wrong knowledge system.

Research shows LLMs rely primarily on contextual knowledge (the prompt) over parametric knowledge (training data) — but only when the context is structured and precise (Huang et al., ICLR 2024; 9-LLM contextual vs. parametric study, 2024). When you give vague prose — a PRD, a user story, a chat message — the context channel is underloaded. The model fills the gaps from training. Those gaps are the hallucinations.

Without IVD                              With IVD

You: "Add CSV export" You: "Add CSV export for compliance" AI: [builds with wrong columns] AI: [writes intent.yaml with constraints] You: "No, these columns, ISO dates" You: "Yes, that's what I meant" AI: [rewrites, still wrong] AI: [implements, verifies against constraints] You: "Still not right..." You: "Done. First try." Many turns. Many hallucinations. One turn. Mismatches caught by the constraint check, not by you.

IVD saturates the contextual channel with structured, verifiable intent — so the model has nothing to guess.


Quick Start

Works locally. No API key required. Under 5 minutes.

0. See it work first (30 seconds, no setup)
git clone https://github.com/leocelis/ivd.git && cd ivd

python3 examples/intent_demo/run_demo.py

Runs offline. Shows a vague prompt producing a hallucinated implementation, then the same request run against a structured intent artifact — with the constraint check catching the mismatch before you'd ever see it. This is the core loop this README is about; everything below is how to wire it into your own agent.

1. Clone and setup
git clone https://github.com/leocelis/ivd.git

cd ivd ./mcp_server/devops/setup.sh # creates .venv, installs all deps

2. Add to your IDE

Important: command must point at the venv's Python — setup.sh installs IVD's dependencies into .venv/, not your system Python. Using "command": "python" here will fail with ModuleNotFoundError. Replace /path/to/ivd with your actual clone path.

Cursor (Settings → Features → MCP):

{

"servers": { "ivd": { "type": "stdio", "command": "/path/to/ivd/.venv/bin/python", "args": ["-m", "mcp_server.server"], "cwd": "/path/to/ivd" } } }

VS Code / GitHub Copilot (.vscode/mcp.json):

{

"mcpServers": { "ivd": { "command": "/path/to/ivd/.venv/bin/python", "args": ["-m", "mcp_server.server"], "cwd": "/path/to/ivd" } } }

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{

"mcpServers": { "ivd": { "command": "/path/to/ivd/.venv/bin/python", "args": ["-m", "mcp_server.server"], "cwd": "/path/to/ivd" } } }

A pyproject.toml now ships in the repo (pip install . or pip install -e .

gives you an ivd-mcp console command). A PyPI release (uvx ivd-mcp, no clone

required) is planned — see ROADMAP.md.

3. Use it

Ask your AI agent to use IVD tools. For example:

  • *"Use ivd_get_context to learn about the IVD framework"*
  • *"Use ivd_scaffold to create an intent for my user authentication module"*
  • *"Use ivd_validate to check my intent artifact"*

That's it. 32 of 33 tools work immediately with zero configuration — only ivd_search needs an OPENAI_API_KEY.

4. Enable semantic search (optional)

ivd_search requires embeddings. Generate them once (~$0.01, under a minute):

export OPENAI_API_KEY=your-key

./mcp_server/devops/embed.sh


How It Works

1. You describe      →  what you want (natural language)
  1. AI writes → structured intent artifact (YAML with constraints and tests)
  2. You review → "Is this what I meant?" (clarification before code)
  3. AI stress-tests → edge cases, gaps, assumptions, constraint conflicts
  4. AI implements → constraint-segmented (group → implement → re-read → verify → next)
  5. AI verifies → full sweep: does every constraint pass?

The key insight: clarification happens at the intent stage, not after code. The AI writes a verifiable contract, you approve it, then implementation is mechanical — and self-verifying.

If you already use spec-driven development (GitHub Spec Kit, OpenSpec), IVD adds what neither format provides by default: a test bound to each constraint. See docs/positioning.md.


MCP Tools

33 tools available to any MCP-compatible AI agent (19 core + 10 Judgment tools (8 added in v3.0; ivd_judgment_check_installed and ivd_judgment_resolve added in v3.1) + 4 Canon tools added in v3.1):

Core (19)
ToolWhat it does
ivd_get_contextLoad framework principles, cookbook, or cheatsheet
ivd_searchSemantic search across all IVD knowledge
ivd_validateValidate an intent artifact against IVD rules
ivd_review_intentRank constraints by risk before implementation (human review gate)
ivd_run_constraint_testsOpt-in runner for allowlisted pytest nodes referenced by an intent
ivd_attestProcess-attestation gate — check the agent actually *followed* the method (segmentation, re-read, coverage, joint satisfaction), not just that the artifact is well-formed
ivd_import_specParse a GitHub Spec Kit or OpenSpec spec.md into a constraint scaffold
ivd_scaffoldGenerate a new intent artifact from a template
ivd_initInitialize IVD in an existing project
ivd_assess_coverageScan a project and report intent coverage
ivd_load_recipeLoad a specific recipe pattern
ivd_list_recipesBrowse all available recipes
ivd_load_templateLoad an intent or recipe template
ivd_find_artifactsDiscover intent artifacts in a project
ivd_check_placementVerify artifact naming and placement
ivd_list_featuresDerive feature inventory from intent metadata
ivd_propose_inversionsGenerate inversion opportunities
ivd_discover_goalHelp users who don't know what to ask
ivd_teach_conceptExplain concepts before writing intent
Judgment Phase (10) *— dormant unless /.judgment/ exists*

New to Judgment? Read judgment_explained.md first

— plain-English "what problem it solves and how" in 5 minutes — then the tool

table below and the runnable showcase further down will make immediate sense.

ToolWhat it does
ivd_judgment_initBootstrap .judgment/ folder + per-domain baselines
ivd_judgment_captureWrite a raw correction ledger entry (< 30s)
ivd_judgment_codifyReturn a structured codify prompt for the agent
ivd_judgment_save_codifiedPersist the agent's filled codify fields
ivd_judgment_pairCapture a comparison_pair (Pearl Rung-1 alternative to A/B)
ivd_judgment_detect_patternsCluster ledger entries into patterns
ivd_judgment_inject_contextPrioritized judgment context for downstream agents
ivd_judgment_propose_recommendationDraft recommendation against a pattern (with build/buy/hire/partner sub-types)
ivd_judgment_resolveClose the loop: record an entry's resolution (outcome, whether it held) and move it `codified\paired → resolved`, so future runs don't re-derive a settled diagnosis. (v3.1)
ivd_judgment_check_installedDetect whether /.judgment/ exists. Never writes to disk — returns the ready-to-call init payload the agent must offer to the user with explicit permission. (v3.1)

Architecture (v3.1): substance lives in the ivd/judgment/ engine package (typed @dataclass schemas; engine_version + reproducible SHA-256 hash on Pattern and InjectionResult for diffability and audit). mcp_server/tools/judgment.py is a thin facade that dispatches to the engine. Mirrors the Canon (Phase 0) architecture for symmetry. Server-level kill switch: IVD_JUDGMENT_TOOLS_ENABLED=false.

See it work. A runnable showcase walks through the full Judgment loop end-to-end — capture three real-world AI corrections, codify them, promote a Pattern, and watch the same LLM (gpt-4o-mini, temperature=0) generate different code on the same request after the Pattern enters its system message. No trust required — run it, read the terminal.

# From the ivd/ directory — runs offline, no API key required

python examples/judgment_demo/run_demo.py

Add OPENAI_API_KEY (in .env after setup) to see the live behavioral diff

OPENAI_API_KEY=sk-... python examples/judgment_demo/run_demo.py

The showcase simulates 3 weeks of an AI coding agent ignoring this project's React testing conventions across 3 different test files (PaymentForm.test.tsx, MetricsCard.test.tsx, ProfileSettings.test.tsx), feeds the 3 corrections through the 9 ivd_judgment_* tools, and writes 4 human-readable artifacts to examples/judgment_demo/output/: before.md (the agent's system message without Judgment), after.md (with the Pattern injected), diff.md (what Judgment added), and llm_responses.md (side-by-side Vitest test files with verdict).

Why this scenario: the project's testing conventions (renderWithProviders helper in src/test/test-utils.tsx, MSW server in src/test/mocks/server.ts, userEvent.setup() discipline) live ONLY in the repo. They do not exist in the LLM's training data, so a static system-prompt nudge cannot solve it — the model has to inherit the lesson from YOUR repo. That is precisely the use case Judgment is built for.

Representative result on the live LLM (gpt-4o-mini, temperature=0, n=3 trials, ~$0.001):

MetricResult
Framework defaults the BEFORE agent reached for2–3 of 3 (raw vi.fn() API mocks, bare render(), userEvent.click without setup())
Project conventions the AFTER agent adopted3 of 3 (server.use(http.get(...)), renderWithProviders( ), const user = userEvent.setup())
Project-local strings in AFTER (impossible from training data)`renderWithProviders`, `src/test/mocks/server`, `src/test/test-utils`

| injection_hash change (a

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

ถาม PopNx