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

Intent Engineering

作者:seanwinslow28版本 0.2.0i★ –i在你的电脑上运行
注册名称com.seanwinslow/intent-engineering

安装

概览

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

Audit, scaffold, and triage agent intent specs against a 9-section template.

PopNx MCP 的三大支柱

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

它能帮你做什么

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

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 其他

安装

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

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 注册中心没有列出需要填写的密钥。

你需要

  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

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

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "intent-engineering": {
      "command": "npx",
      "args": [
        "-y",
        "@swins/intent-engineering-mcp"
      ]
    }
  }
}

在终端中运行这条命令

claude mcp add intent-engineering -- npx -y @swins/intent-engineering-mcp

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "intent-engineering": {
      "command": "npx",
      "args": [
        "-y",
        "@swins/intent-engineering-mcp"
      ]
    }
  }
}

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

在 VS Code 中打开

或者自己复制设置

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

{
  "servers": {
    "intent-engineering": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@swins/intent-engineering-mcp"
      ]
    }
  }
}

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

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

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

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

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

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

  • ✓ 通过

    作者与仓库一致

    注册名称已通过域名 seanwinslow.com 验证(注册中心会核实域名所有权)

  • … 尚未检查

    仍在维护

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

  • … 尚未检查

    有许可证

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

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

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

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

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

常见问题

Intent Engineering 安全吗?

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

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

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

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

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

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, sync. labs

替代选择

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

如何看卡片:★ 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昨天更新
安装

sync. labs

作者:synchronicity-labs

Lipsync videos, dub them into other languages, make talking videos and open sync. Studio.

电脑或云端今天更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

intent-engineering

intent-engineering is an MCP server that exposes three tools — audit_intent_spec, generate_intent_spec_scaffold, and assess_retrofit_level — letting any MCP-aware client (Claude Desktop, Cursor, Anti-Gravity) review, scaffold, and triage agent intent specs against a 9-section unified template synthesized from production-agent research.

Most agent failures aren't reasoning failures — they're intent failures. The spec is vague, the stop rules are missing, the outcome is an activity disguised as a state. This server makes that gap auditable from inside the harness the agent already runs in. The full reasoning, the rejected alternatives, and what would break in v0 live in docs/EXPLANATION.md.

The trust surface, up front

  • It audits itself, and it has now published a wrong number and a wrong correction of that number. Graded whole on 2026-08-29, the canonical skill scores 23/25 with zero anti-patterns. This page claimed 14/25 for one day, a retraction measured on the first 10,000 characters of a 32,356-character file. The original figure was right; the retraction was the error, and the same blind spot produced both. The full measurement table is in Dogfood result.
  • Read-only by design. No tool writes files. The retrofit tool recommends; it does not apply.
  • File reads are guarded. An early version would read any path you handed it, which made /etc/passwd a real disclosure bug. Every disk read now routes through one guard: extension allowlist, symlink resolution, root confinement, and a size cap.
  • The build refuses common failure modes. SDK pinned to the stable v1.x line, a prepublishOnly guard that fails the build on any console.log in src/, and a changelog rule: no scope change without written approval before code.
  • Limitations are named, not hidden. Stdio only, opinionated heading parser with its alias table documented, and the honest boundary that the mapper recognizes equivalent intent but does not invent it.

Why this exists

Problem

Engineering teams treat AI agents like reliable coworkers, but agents fail silently when given underspecified intent. The cost is shipped features that solve the wrong problem — and the failure mode is invisible until production. PMs feel this pain twice: once writing the spec, and again when an agent confidently delivers something off-target. There's no shared protocol for "audit this spec before an agent runs on it."

Solution

A Model Context Protocol server that exposes three tools any MCP-aware client (Claude Desktop, Cursor, etc.) can call: audit_intent_spec audits a spec against a 25-item rubric, generate_intent_spec_scaffold scaffolds new specs by kind, assess_retrofit_level retrofits older docs. Published to npm as @swins/intent-engineering-mcp and to the official MCP registry as com.seanwinslow/intent-engineering via DNS-verified namespace.

Tradeoffs and Decisions
  • TypeScript over Python: the MCP TS SDK has the deepest client coverage (Claude Desktop, Cursor) — at the cost of locking out the Python-native data science crowd.
  • stdio transport over HTTP: zero-infra v0, but couples the server to a process-bound client. v1 will add SSE for cloud agents.
  • **DNS-verified namespace (com.seanwinslow/*) over GitHub-handle namespace**: locks the brand surface to a domain I control; required a separate Ed25519 keypair + apex TXT record, which is more upfront friction than mcp-publisher login github.
What I Learned

The MCP protocol is essentially a contract for "I am a tool an LLM can call without me writing a wrapper." Once that landed, the server became a thin protocol adapter over an existing skill — and the OPTIONAL-fields pattern I'd developed on a separate knowledge-graph project translated directly.

The part I got wrong is the more useful lesson, and I got it wrong twice. I published a dogfood score of 23/25. Four months later I decided it had been a partial read reported as a whole-file grade, retracted it, and published 14/25 instead. The retraction was the actual error: the original had graded the whole file, and my replacement number was the partial read. Both were published because the tool's output could not tell you how much of the document it had just graded, so neither figure could be checked without going back to the source. A tool that eats its own dog food earns credibility fast. A tool that makes its author's mistakes falsifiable earns more, and it is the harder thing to build.

Three tools

ToolInputOutput
audit_intent_specA spec (spec_text or file_path)Score out of 25, per-section findings, detected anti-patterns, top 3 recommendations
generate_intent_spec_scaffoldkind (blank / level-1-mvr / full-9-section), optional hintsA paste-ready YAML scaffold + next-step actions
assess_retrofit_levelAn existing prompt or SKILL.mdRecommended retrofit level (L1 / L2 / L3) with blast-radius + complexity + autonomy reasoning

The 25-item validation checklist, 5 fatal anti-patterns, 4 autonomy levels, and 9-section template all come from the canonical intent-engineering skill. The MCP server is a thin protocol adapter, not a fork.

Quickstart

Requires Node 20+ and an MCP-aware client (Claude Desktop, Cursor, etc.).

One config entry, no clone. Add this to ~/Library/Application Support/Claude/claude_desktop_config.json:

{

"mcpServers": { "intent-engineering": { "command": "npx", "args": ["-y", "@swins/intent-engineering-mcp"] } } }

Or from source:

git clone https://github.com/seanwinslow28/sw-mcp-intent-engineering.git

cd sw-mcp-intent-engineering npm install npm run build

Then point the config's command at node with args: [" /build/index.js"].

Restart Claude Desktop. Open Settings → Developer to confirm the server shows as running:

The three tools then appear in the tool list under intent-engineering in any new conversation.

Try it

Paste this into Claude Desktop after the server is connected:

Run audit_intent_spec on this spec:

`

## Objective

Make support tickets resolve faster.

## Outcomes

- Tickets close in <2h

- CSAT stays high

## Stop Rules

(none)

`

You'll get back a score out of 25, a list of detected anti-patterns (this spec hits at least three), and three concrete recommendations to fix it. The full I/O contract lives in docs/v0-scope.md §4.

Dogfood result, and the correction that came with it

Re-measured whole-file 2026-08-29. The canonical `intent-engineering` SKILL.md scores 23/25 with zero anti-patterns detected. Seven sections pass, two warn, none are missing. That is a grade of all 32,356 characters, and the coverage block in the response says so.

Reproduce it in one call:

audit_intent_spec({ file_path: "<path>/.claude/skills/intent-engineering/SKILL.md" })
This page carried a wrong number, and then a wrong correction

The 23/25 above is the figure this page published in May 2026, retracted on 2026-08-28, and restored on 2026-08-29. The retraction was the mistake. Every measurement behind that sentence, so the reasoning can be checked instead of trusted:

What was gradedScoreAnti-patterns
May-era file (17,885 chars), whole23/25none
May-era file, first 10,000 chars17/251
Today's file (32,356 chars), whole23/25none
Today's file, first 10,000 chars14/252
Any read starting past the end of the file1/25 at the time, 0/25 since2

Why the original was right. In May the skill was 17,885 characters. max_length caps at 20,000, so the whole file fit inside a single call and Phase 3's "first chunk" was the entire document. The 1/25 rows in that session's round-trip table were reads that started past the end and graded zero characters, not partial grades of real content. (That 1/25 was itself a small bug, fixed the same day as this re-correction: one conditional rubric item treated "not applicable" as a pass, so an unrecognized document collected a point. A document nothing is recognized in now scores 0/25.)

The number has never moved. Graded whole, every revision of the skill in its git history scores the same:

RevisionCharactersWhole-file scoreFits one 20,000-char call
ebf41b3d 2026-03-0317,94223/25, zero anti-patternsyes
9c76e762 2026-05-0417,88523/25, zero anti-patternsyes
d0117843 2026-06-1017,90023/25, zero anti-patternsyes
c8f90d79 2026-07-0532,35623/25, zero anti-patternsno

The score is stable across five months and a commit that nearly doubled the file. It was also re-confirmed independently in a 2026-06-17 working session, when the file still fit in one call. What changed on 2026-07-05 was not the grade but the *measurability*: the file crossed the ceiling, and from then on no single call could check the published number.

Why it was retracted anyway. By July the skill had grown to 32,356 characters and crossed the 20,000-character ceiling, so no single call could grade it any more. The 2026-08-28 re-measurement used the 10,000-character default, got 14/25, saw that it did not match 23/25, and concluded the original had been a chunk mistaken for a file. That description of the error was exactly right and was applied to the wrong measurement. The chunk was the new one.

The two mistakes have one cause. For four months this tool could not tell you whether a score covered the whole document, and neither could its author. The May claim and the August retraction were both published without that fact being visible anywhere in the output. One happened to be right and one happened to be wrong, which is the least useful way to be correct.

Two things worth stating plainly, because this is a spec-auditing tool:

  • The tool was never wrong; the reading was, twice, in opposite directions. "14/25" and "23/25" were the same shape of string. Nothing in the response distinguished a grade of 10,000 characters from a grade of 32,356, so both readings were unfalsifiable at a glance and both got published.
  • A correction is a claim and needs the same provenance as the thing it corrects. The retraction was written carefully, cited its own session's table, and was still wrong, because it never asked what its replacement number had actually graded. Catching yourself is not the finish line. Catching yourself with a measurement that names its own denominator is.

Fixed 2026-08-29, and this is what made the fix necessary. audit_intent_spec now grades the whole document by default, and every response carries a coverage block naming the mode, the characters graded, the characters available, and whether the grade is complete. A partial grade can still be asked for. It can no longer be mistaken for a complete one.

At scale: the same server assessed all 118 first-party skills in my Claude Code Superuser Pack with zero parse errors, in under a second — both re-measured 2026-08-28 (94 ms, 0 errors, running the scripts/audit-superuser-pack.ts logic over the same 118 files). In the shipped CSV at examples/superuser-pack-retrofit-assessment.csv (2026-05), 24% scored L1-mvr (the spec just needs an intent header), 36% L2-structured (needs Health Metrics + Decision Authority), and 40% L3-full (autonomous-loop or high-blast-radius skills that warrant a 9-section conversion). The same files as they stand today split 20% / 38% / 42% — the corpus evolved, not the tool. `ass

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

问 PopNx