原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Intent-Verified Development (IVD)

作者:leocelis版本 3.1.2i★ –i在云端运行
注册名称io.github.leocelis/ivd

安装

概览

作者提供的说明(英文原文)

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

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在云端运行
  • 传输方式: Streamable HTTP
  • 分类: 其他
  • 你需要填写:Authorization

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。

你需要

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。

在终端中运行这条命令

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}"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

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

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • Authorization 机密 必填 HTTP header
    API key for the IVD hosted server. Request one at https://ivdframework.dev.

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 leocelis 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    端点有响应

    尚未检查;我们会轮流检查各个端点

  • … 尚未检查

    使用 OAuth 登录

    尚未检查;我们会轮流检查各个端点

  • … 尚未检查

    工具描述中没有隐藏指令

    尚未检查;我们会在检查端点时读取工具列表

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 32680 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 32680 个服务器的 19% 更新
  • 基础检查结果等于或优于此分类中其他 32680 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Intent-Verified Development (IVD) 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

你需要填写:Authorization

它在我的电脑上运行还是在云端?

它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(3.1.2)于4个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, EmbeddedCI BenchPod

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Spec Driven Development

作者:formulahendry

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

在你的电脑上运行★ 440MIT14个月前更新
安装

Remote Desktop Commander

作者:desktop-commander

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

在云端运行★ 211前天更新
安装

EmbeddedCI BenchPod

作者:embeddedci-com

Drive a BenchPod hardware-in-the-loop bench: power, flash, UART, I2C, CAN, analog and logic.

在你的电脑上运行今天更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。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

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx