Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
Run local prompt regression checks from prompt-response logs in AI coding assistants.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"redline": {
"command": "uvx",
"args": [
"redline-ai"
]
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add redline -- uvx redline-ai프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"redline": {
"command": "uvx",
"args": [
"redline-ai"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"redline": {
"type": "stdio",
"command": "uvx",
"args": [
"redline-ai"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 6일 점검
레지스트리 이름이 GitHub 계정 gowtham0992 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.3.0)은 4개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Python (uv)도 있어야 해요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, Zoo MCP
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ 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.
An MCP server that provides access to the Zoo API for various CAD operations and tools.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
redline
Catch prompt regressions before they ship.
Automatic eval suites from the prompt logs you already have.
redline turns real prompt-response logs into local regression tests. It selects representative cases, replays your changed prompt, and shows the behavioral diff before a bad prompt reaches users.
Website · Docs · MCP · MCP Registry · Security · License
Install from PyPI:
python -m pip install redline-ai
Run the guided local app with the public proof loaded:
redline app --demo
This generates the public demo reports, opens the local product app, and shows the full import -> suite -> eval -> review workflow. The demo catches ten synthetic regressions without API keys, private logs, a cloud account, or an LLM judge.
Prefer terminal output first:
redline demo --public --compact
The demo writes JSON, Markdown, and self-contained HTML reports under .redline/demo.
Ask redline what to do next:
redline status --reports-dir .redline/demo/reports
status reads local config, suites, reports, history, and audit evidence, then prints the next command instead of leaving you to infer the workflow.
Open the guided local product app on existing reports:
redline app --reports-dir .redline/demo/reports
The app is a local, copy-command workflow: import logs, generate suites, run evals, review regressions, record history, and export CI/MCP setup without the browser executing shell commands.
On headless CI or remote shells, skip browser opening and use the printed HTML path:
redline app --reports-dir .redline/demo/reports --no-open --out .redline/app.html
First-run troubleshooting
redline: command not found: run python -m pip install redline-ai, then confirm python -m pip show redline-ai.--no-open --out .redline/app.html and open or upload that file from your environment.redline suite logs/baseline.jsonl --out redline-suite.json.redline validate redline-suite.json --strict and fix the first reported error.redline-suite.json or point the action suite input at your prompt manifest.Full guide: docs/troubleshooting.md.
redline has two proof paths: a fast first-run demo and a larger public-data dogfood run.
| Proof | Command or data | Result |
|---|---|---|
| First-run demo | redline demo --public --compact | 10 synthetic regressions caught locally with no API keys. |
| Internet dogfood | 100 prompt-response rows sampled from Databricks Dolly 15k | 51 regressions, 27 changed cases, 22 neutral controls, and 0 dashboard warnings. |
| Release gate | tests, lint, type check, action smoke, and release build | Package, CI, report, dashboard, and MCP paths are validated before publish. |
These screenshots are local artifacts from the 100-row internet dogfood run.
| Dashboard | HTML report |
|---|---|
redline is an open-source, local-first eval tool for AI teams. It uses logs you already have: prompts, outputs, support tickets, traces, model responses, and production JSONL exports.
Instead of asking you to hand-write evals first, redline generates the first suite from real behavior. You can then run that suite every time a prompt, model, or runner changes.
No cloud account is required. No manual test writing is required. No LLM judge is required for the core regression signal. The package has zero runtime dependencies, which keeps installs fast and the default supply-chain surface small.
redline gives you three primitives that cover the prompt-regression loop:
For a first pass on two local logs, use one command:
redline quick-check logs/baseline.jsonl logs/candidate.jsonl --open
It generates a temporary suite, writes JSON/Markdown/HTML reports plus a guided local app under .redline/quick-check, opens the focused HTML report, and prints the concrete behavioral diff. Use --open-app when you want the guided review workflow to open instead of only the focused report.
Start with prompt-response data you already have. Import JSONL, convert exports from tools like Langfuse or Helicone, capture OpenAI/Anthropic SDK calls, or add bounded FastAPI/ASGI middleware.
redline import downloaded.jsonl --detect
redline import downloaded.jsonl --auto-map --preview 3 redline import downloaded.jsonl --auto-map --out logs/baseline.jsonl redline import downloaded.jsonl --input-field instruction --output-field response --preview 3 redline import downloaded.jsonl --input-field instruction --output-field response --out logs/baseline.jsonl redline import langfuse-export.jsonl --preset langfuse --out logs/baseline.jsonl redline suite logs/baseline.jsonl --out redline-suite.json redline cases redline-suite.json
Use --detect when you do not know the field names. Use --preview when the export is new to you; it shows mapped, redacted sample rows without writing a baseline file.
Suite generation prints a readiness score and improvement suggestions. That score measures suite health, not model quality or candidate safety.
redline groups behavior into deterministic signatures and selects representative cases first. You can add pinned edge cases and explicit requirements when a scenario must never be missed.
redline cases redline-suite.json
redline suite add redline-suite.json --prompt "..." --response "..."
Replay a changed prompt or compare candidate outputs. redline names the behavior that broke: missing JSON keys, URLs, numbers, tables, code blocks, refusals, empty answers, or requirement failures.
redline eval --prompt prompts/v2.txt
redline diff redline-suite.json logs/candidate.jsonl
In under five minutes, on a real prompt log, redline should catch one regression you did not want to ship.
That promise is intentionally narrow. redline is not a hosted eval platform, a generic score, or a replacement for human judgment. It is the local safety loop between "I changed the prompt" and "this is safe enough to merge."
Build a suite from baseline logs:
redline suite logs/baseline.jsonl --out redline-suite.json
Evaluate a changed prompt file through your configured runner:
redline eval --prompt prompts/v2.txt
Or compare candidate outputs you already generated:
redline diff redline-suite.json logs/candidate.jsonl
When redline finds a blocking change, it exits non-zero for CI and prints the reason:
REGRESSION case_004
Confidence: HIGH | fix blocking cases before shipping
| Signal | Example regression |
|---|---|
| JSON validity and keys | Candidate stops returning valid JSON or drops owner. |
| Tables, lists, and code blocks | Markdown table becomes prose; code fence disappears. |
| Numbers, URLs, and entities | Refund window, ticket ID, policy URL, or owner is missing. |
| Empty outputs and refusals | Candidate newly refuses a safe task or returns nothing. |
| Content drift | Same-shape response changes substantially. |
| Explicit requirements | Pinned cases require or forbid exact strings. |
redline is deterministic and local-first by default. Optional judge commands are available for ambiguous changed cases, but redline does not call a cloud model unless you explicitly configure that command.
That is the point. redline is designed to be the fast merge-blocking gate for regressions that break production systems: invalid JSON, missing required fields, lost tables, empty answers, dropped URLs, changed refusal behavior, and explicit requirement failures. LLM judges are useful for semantic review, but they are slower, cost money, and can be flaky in CI. redline keeps the default gate deterministic, reproducible, and cheap, then lets you add judges only where the structural signal is not enough.
Methodology details live in docs/methodology.md.
Suite generation does not run statistical or embedding clustering by default. It groups logs by deterministic behavior signatures, such as prompt intent, response shape, length bucket, and JSON schema. It picks one representative per group first, then adds high-variance edges and evenly spread prompt-diverse samples from large groups when the case budget allows.
A green redline run means no configured high-signal structural blockers were found. It does not prove factual correctness, tone, hallucination safety, policy compliance, or subtle reasoning quality.
That boundary is visible in CLI output and reports because over-trusting eval tools is dangerous. Each reported case includes a confidence and signal (structural, shallow_semantic, requirement, judge, or human_judgment) so reviewers can see why redline is making the call. Use requirements or an optional judge for semantic risks that structural checks cannot prove.
redline is built around the full prompt-regression loop:
redline watch: collect prompt-response observations from logs, Python functions, OpenAI/Anthropic-compatible SDK calls, or ASGI apps, with best-effort common secrets and PII redacted before write by default.redline import: normalize exported team logs into redline JSONL, with the same best-effort redaction enabled by default. Use --no-redact only for reviewed local-only logs.RedlineMiddleware: capture bounded JSON FastAPI or ASGI request/response pairs locally, with optional skip diagnostics.redline redact --check: scan logs for common secrets and PII, then write a scrubbed copy when needed. Redaction is best-effort pattern matching, not a privacy boundary; review sensitive logs before sharing.redline cluster: inspect deterministic behavior-signature groups앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요