Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
AI prompt optimization for 58+ platforms across 7 categories with custom platforms
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
LLM_API_URL, LLM_API_KEY, LLM_MODEL비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"clarifyprompt": {
"command": "npx",
"args": [
"-y",
"clarifyprompt-mcp"
],
"env": {
"LLM_API_URL": "your-value",
"LLM_API_KEY": "your-value",
"LLM_MODEL": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add clarifyprompt --env LLM_API_URL=your-value --env LLM_API_KEY=your-value --env LLM_MODEL=your-value -- npx -y clarifyprompt-mcp실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"clarifyprompt": {
"command": "npx",
"args": [
"-y",
"clarifyprompt-mcp"
],
"env": {
"LLM_API_URL": "your-value",
"LLM_API_KEY": "your-value",
"LLM_MODEL": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"clarifyprompt": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"clarifyprompt-mcp"
],
"env": {
"LLM_API_URL": "your-value",
"LLM_API_KEY": "your-value",
"LLM_MODEL": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 GitHub 계정 LumabyteCo 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: LLM_API_URL, LLM_API_KEY, LLM_MODEL
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.1.3)은 8개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, MCP Server Autocad Lisp Helper
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
High-precision static analysis and debug server for AutoCAD AutoLISP (.lsp) files.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
A context-aware MCP prompt compiler that transforms vague prompts into platform-optimized prompts for 60+ AI platforms across 7 categories — grounded in your workspace signals (CLAUDE.md, AGENTS.md, .cursorrules, package.json), resolved intent, and the capabilities of the target model.
Send a raw prompt. ClarifyPrompt gathers the right context, resolves what you're actually trying to do, and returns a version specifically optimized for Midjourney, GPT Image 2, Veo, Runway, Kling, Seedance, Higgsfield, ElevenLabs, Suno, Claude, ChatGPT, Cursor, or any of the 61 supported platforms — with the right syntax, parameters, structure, and grounding.
New in 1.16.0: the platform-currency release. Every built-in pack fact-verified against current vendor docs (2026-10-05) — Midjourney V8.x, Runway Gen-4.5, Veo 3.1, Kling 3.0/Omni, Pika 2.2, Suno v6, ElevenLabs v3, gpt-4o-mini-tts, GPT Image 2 — each entry now carries a
verifiedAtdate. Sora retired everywhere (OpenAI shut the Videos API 2026-09-24, no replacement); new platforms: Seedance, ElevenLabs Music v2.5, Lyria 3.5. Plus the dialect-currency benchmark: 12 of the newest Ollama Cloud models asked to write platform prompts unprompted — 12/13 emit stale Midjourney flags, 12/12 write fluent prompts for dead Sora, zero hedge. Grounded mode re-runs the same asks with the pack facts injected and the scores flip. See the benchmark and CHANGELOG.md.
New in 1.15.0: Nano Banana (Google Gemini 2.5 Flash Image) is now a built-in image platform —
optimize_prompt(platform: "nano-banana")compiles image prompts in its native style (natural-language scene direction, photographic terms, edit-preserving-identity phrasing, in-image text). Plus latest-model compatibility across every provider:claude-sonnet-5,gpt-5/o-series, and Gemini rejecttemperatureand/ormax_tokens; the client now sends the right parameters (proactively for known reasoning ids, and learns the rest from a400). Verified live against Anthropic, OpenAI, Gemini, and Ollama Cloud. See CHANGELOG.md.
New in 1.14.1: Portable-by-default text output — a
chat/document/codeprompt with no explicit platform now stays platform-neutral instead of quietly defaulting to Claude's idioms (XML tags); name a platform to opt into vendor-specific tuning. Plus the MCP Apps compose panel now shows aforbadge and a clean Your prompt → Optimized before/after (with ashow changestoggle) instead of an always-on diff. See CHANGELOG.md.
New in 1.14.0: An interactive compose panel via MCP Apps. In hosts that speak the
io.modelcontextprotocol/uiextension (Claude Desktop, ChatGPT, Cursor, VS Code, …),compose_promptrenders a live panel: original-vs-optimized view, all six critique scores, the pipeline stages, and Accept / Revise actions — Accept records the outcome into ClarifyPrompt's memory loop, Revise sends your feedback back into the chat. One self-containedui://resource; hosts without the extension see zero change. See CHANGELOG.md.
New in 1.13.0: Plain-language rewrites. Optimized prompts now stick to common, everyday words instead of drifting into formal vocabulary ("use", never "utilize") — specificity comes from concrete details, not fancier synonyms.
critique_promptgained a 6th default dimension, `plain_language`, soauto_reviseloops correct register drift automatically. Also fixed: an explicitmode(e.g.simple) is no longer silently dropped for small local models under compact system-prompt shaping. See CHANGELOG.md.
Why does this project exist? Because "just ask the model" quietly went stale, and we measured it. Models are frozen at training time; platforms ship new versions monthly (and kill old ones). The result is that asking a modern model for a platform prompt is asking a 2024 encyclopedia for 2026 prices.
On 2026-10-05 we ran a public benchmark: asked 12 of the newest Ollama Cloud models to write prompts for real current platforms, in two conditions, same asks, same models:
optimize_prompt call. (This is what "grounding" means: the model reads the reference card instead of trusting its frozen memory.)132 graded answers per condition, verified against vendor docs the same day. Full audit of every raw reply: [`evals/dialect-benchmark/out/final.json`](./evals/dialect-benchmark/out/final.json).
The results, one line:
| RAW (model alone) | GROUNDED (pack facts injected) | |
|---|---|---|
| current dialect | 36 | 117 |
| stale | 35 | 0 |
| mixed / generic | 7 / 54 | 1 / 14 |
Same models. Same asks. 35 stale answers → 0.
What that looks like in practice:
--v 6.1. The current default has been V8.2 since June. Two major versions stale, uniformly.--v 8.2; the worst raw performer went 3 current / 5 stale → 8 / 0.Total cost of both conditions: $0.71. Harness + facts file + grading script: evals/dialect-benchmark/ — reproduce with node evals/dialect-benchmark/run.mjs.
The honest read: models don't *know* current dialects — but with a maintained knowledge layer they execute perfectly. The knowledge is the gap; the pack layer is the product. And that's what optimize_prompt is: grounding, on every call, with packs we refresh against live docs and date with verifiedAt.
ClarifyPrompt does two things a plain prompt template can't. Every output below is a real, unedited capture from optimize_prompt run against this repo (see Provenance at the end of this section).
1 — It knows each platform. Same raw prompt, different target, completely different output:
You write: "a dragon flying over a castle at sunset"
→ Midjourney A colossal, majestic dragon with shimmering scales soaring over a towering medieval stone castle, dramatic sunset sky with vibrant orange and deep purple hues, cinematic fantasy concept art, volumetric lighting, highly detailed --ar 16:9 --v 6.1 --s 250 --q 2
→ DALL-E A majestic dragon with glowing crimson scales soars over a towering medieval stone castle, silhouetted against a vibrant orange and purple sunset sky. Rendered in a high-fantasy digital art style with dramatic, warm lighting and highly detailed textures, wide aspect ratio.
→ Nano Banana A majestic dragon with deep crimson scales and a leathery, bat-like wingspan glides through the warm, golden-hour sky just above a towering medieval castle made of weathered grey stone. ... Frame this as a wide cinematic landscape shot using a 24mm lens at f/8 for deep depth of field, camera positioned at a slightly elevated three-quarter angle... Aspect ratio 16:9.
Midjourney gets --ar/--v/--s/--q flags; DALL-E and Nano Banana get flag-free natural language — and Nano Banana layers in photographic direction (lens, f-stop, camera angle) and explicit mood, its documented style. Same idea, each platform's native dialect.
Notice `--v 6.1` in the Midjourney capture above. That capture is real (2026-06-22) — and the model reached for a version flag that was *already two major versions stale*; Midjourney's current default is V8.2. Model weights are frozen at training time; platform dialects mutate monthly. That gap is exactly what ClarifyPrompt's verified platform packs (
verifiedAt-dated, refreshed against current docs) exist to close — see the staleness story.
2 — It knows what you're working on. This is the part a template can't fake. Drop a vague one-liner while editing src/transport.ts *in this very repo*, and the engine grounds it in your real workspace — package.json, git state, the active file — and resolves intent before it shapes the output:
You write: "add a configurable request timeout to the http transport"
· active file: src/transport.ts · resolved intent: production-code · grounded in: active-file · workspace-meta · git-state · environment · target-model · platform-hints
→ Cursor Implement a configurable request timeout for the HTTP transport in src/transport.ts. Requirements:
CLARIFYPROMPT_HTTP_TIMEOUT … (default 30000 ms)startTransport(). (excerpted — the full rewrite has 7 numbered requirement groups)
Nothing in that one-line prompt mentioned the CLARIFYPROMPT_HTTP_* naming convention, the startTransport() entry point, or the stdio/a2a transports it must preserve — the engine read those from the active file and package.json and folded them in. That's the difference between *rephrasing a prompt* and *compiling it against context*.
3 — It can run the whole pipeline. clarify → ground/optimize → critique → revise, in one compose_prompt call — see Previously in 1.4.0 — the composable pipeline below.
Provenance. Image outputs captured via
glm-5.2:cloud, the grounded code output viaqwen3-coder:480b-cloud— both Ollama cloud models served over Ollama's OpenAI-compatible endpoint (LLM_API_URL=http://localhost:11434/v1), run throughoptimize_promptagainst this repo on 2026-06-22 (the Nano Banana capture added 2026-07-03, sameglm-5.2:cloudmodel). ClarifyPrompt is model-agnostic (any OpenAI-compatible API, local or hosted); outputs are model-dependent — yours will differ in wording, not in structure.
The platform-currency release. The packs had rotted — Midjourney was still --v 6.1 while the current default is V8.2, the video pack still described "Runway Gen-3" and "Google Veo 2", and the Higgsfield entry still routed to a dead model. Every bu
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요