Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
Open eval leaderboard + CI gate for autonomous coding agents (solve, score, trace).
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"forgejudge": {
"command": "uvx",
"args": [
"forgejudge"
]
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add forgejudge -- uvx forgejudge프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"forgejudge": {
"command": "uvx",
"args": [
"forgejudge"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"forgejudge": {
"type": "stdio",
"command": "uvx",
"args": [
"forgejudge"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 GitHub 계정 ahmedEid1 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.1.1)은 5개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Python (uv)도 있어야 해요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, Date Math
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ 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.
Exact date/time math for agents: business days, holidays, time zones, cron, RRULE, SLA. x402 paid.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
An open leaderboard and CI gate for autonomous coding agents — every patch runs in a sandbox, every run is traced, every regression fails the build.
📦 Archived (2026-09-28). ForgeJudge is no longer maintained and nothing runs on a schedule any more. The leaderboard is frozen at the last complete sweep (2026-07-02, 162 runs). Two of its three models have since been retired by Groq. [Archive notes & how to rerun it in a fork →](./docs/ARCHIVE.md)
▶ Archived leaderboard (frozen 2026-07-02): [forgejudge.ahmedhobeishy.tech](https://forgejudge.ahmedhobeishy.tech) · playground · methodology · model swap · MCP registry
Final results — the last complete sweep, 2026-07-02 (run #34; hidden-test = the agent never sees the failing test; $0 free tier; same harness, swap the model; 18 tasks × 3 seeds = 54 runs/model, 162 total):
| Model | pass@1 | pass@3 | Status today |
|---|---|---|---|
|
llama-3.3-70b-versatile| 98.1% | 100% | retired by Groq 2026-08-16 |
|
gpt-oss-120b| 94.4% | 94.4% | available |
|
llama-3.1-8b-instant| 57.4% | 72.2% | retired by Groq 2026-08-16 |
With the harness fixed, the 8B model trails the 70B/120B models by ~40 points (the model-swap signal), and
pass@3 ≥ pass@1reflects run-to-run variance — which is exactly why the CI gate is multi-seed. Every run's patch is inruns.jsonand re-grades to the same verdict. Traces were kept in Langfuse while the project ran; they are not public, so the trace links do not open for other viewers. Details, later unpublished sweeps and the retired models:docs/ARCHIVE.md.
ForgeJudge is an open-source autonomous software-engineering agent that proved its quality in public on every commit while it was active: a hand-rolled single-agent solver, a deterministic execution-as-judge harness, a leaderboard with per-run traces (now a frozen snapshot), and a CI gate that blocks regressions — all on a `$0` / self-hostable stack against a contamination-resistant, intrinsically-verifiable golden set.
The engineered harness, observability, and gate are the deliverable — not a high resolution rate. A
$0free-model agent will score modestly *by design*. We prove value with a model-swap comparison: the score rises with a better model while the harness stays fixed.
flowchart TD
G["Golden set · Git-canonical 18 intrinsically-verifiable, mutation-hardened make-CI-green tasks"]
subgraph SOLVER["Single-agent solver"] direction LR L["localize (BM25)"] --> R["repair (LLM router · critic · syntax edit-gate)"] --> V["validate (run tests)"] end
G --> SOLVER SOLVER --> PATCH["unified diff"] SOLVER -. "every step traced" .-> TRACE["OTel → Langfuse per-run trace"]
PATCH --> H["Deterministic harness, in a sandbox apply test_patch + candidate patch · run F2P / P2P RESOLVED iff every FAIL_TO_PASS passes AND every PASS_TO_PASS stays green SWE-bench-style grading on a contamination-resistant task set · stricter on skips · cheat-resistant"]
H --> STORE["Run store Neon + pgvector"] STORE --> LB["Leaderboard pass@1 / pass@3 · cost · tokens · trace link"] H --> GATE["Multi-seed CI gate a PR that lowers the resolution rate fails the build"]
style G stroke:#3fb950,stroke-width:2px style H stroke:#4cc2ff,stroke-width:2px style GATE stroke:#f0883e,stroke-width:2px
localize → repair → validate), *not* a multi-agent swarm: cheapest, most deterministic, most debuggable. BM25 localization, an LLM router over free tiers, a syntax edit-gate, a cheap critic pre-filter, and a cost/step budget with autosubmit.RESOLVED_FULL rule and is verified equivalent to `swebench.harness.grading` on real PASS/FAIL/ERROR/XFAIL outcomes in CI — and *deliberately stricter* on a skipped FAIL_TO_PASS: swebench 4.1.0 rates a skipped oracle test RESOLVED_FULL (a skip is neither success nor failure), so a patch that makes the oracle *skip* rather than run grades as resolved. ForgeJudge counts a skip as not-passed, closing that cheat vector. Patches are also cheat-resistant: the canonical test files are restored before grading, so a patch can't neuter the oracle.$0. The sweep ran nightly until the archive; it is manual (workflow_dispatch) now.invoke_agent → retrieval / chat / execute_tool, gen_ai.usage.*, a gen_ai.evaluation.result pass/fail verdict) exported to Langfuse Cloud; every run recorded a trace link while the project ran. The traces are not public, so the links do not open for other viewers.The deterministic gold-integrity gate (does the harness itself still work?) is kept separate from the stochastic regression gate (did a change make the *agent* meaningfully worse?) — because gold grading is deterministic and must never be averaged with noisy per-seed runs.
flowchart TD
PR["Pull request / commit"] --> GG["Gold-integrity gate deterministic · $0 · re-grade all gold patches"] GG -->|"any gold task unresolved"| F1["fail — the harness broke"] GG -->|"all gold tasks resolved"| OK1["harness intact"]
CRON["On-demand multi-seed sweep"] --> SEEDS["run the agent × N seeds → one resolution rate per seed"] SEEDS --> RG["Regression gate small-sample CI (Student-t / Wilson)"] BASE["baseline_scores.json per-seed reference"] --> RG RG -->|"candidate CI upper bound < baseline CI lower bound"| F2["❌ fail — real regression"] RG -->|"overlapping · equal · improved"| OK2["✓ no regression"]
style GG stroke:#4cc2ff,stroke-width:2px style RG stroke:#f0883e,stroke-width:2px
Prereq: uv (Python 3.12 is provisioned for you) — curl -LsSf https://astral.sh/uv/install.sh | sh.
git clone https://github.com/ahmedEid1/forgejudge && cd forgejudge
uv sync # Python 3.12, deps via uv
uv run python -m forgejudge.harness.runner_actions --patch-source gold # 18/18 resolved
uv run python - <<'PY' from forgejudge.golden.loader import load_tasks from forgejudge.agent.solver import solve from forgejudge.harness.grade import grade task = {t.instance_id: t for t in load_tasks("golden/dataset.jsonl")}["fixture-semver-001"] res = solve(task, run_id="demo", budget_usd=0.10, seed=0) print(res.status, "→ resolved:", grade(task, res.patch).resolved) PY
Fast tests: uv run pytest -m "not slow". Full golden validation + mutation hardening: uv run pytest -m slow. Sweep one model without a database: uv run --env-file .env python -m forgejudge.eval.sweep --model groq/openai/gpt-oss-120b --seeds 0,1,2 --no-store --out runs-0.jsonl. The full rerun guide (secrets, database, deploy) is in docs/ARCHIVE.md. See CONTRIBUTING.md for the full pytest marker map and dev workflow.
Working on the agent/harness itself? Clone and uv sync (above). To consume ForgeJudge as a package:
The published
forgejudge==0.1.0predates the archive: itsmodels.yamlstill lists the retiredllama-3.3-70b-versatilein several role chains.solve()still works through itsgpt-oss-120bprimary, but for the current chains install from git (pip install git+https://github.com/ahmedEid1/forgejudge).
# Library + the `forgejudge` CLI (selftest / mcp / info):
pip install forgejudge forgejudge selftest # deterministic harness check — 18/18 resolved, no key forgejudge mcp # MCP server over stdio (needs the [mcp] extra)
uvx --from "forgejudge[mcp]" forgejudge mcp
Optional extras (installed only when you need them):
| Extra | Pulls in | For |
|---|---|---|
forgejudge[harness] | swebench | the swebench-equivalence grading check |
forgejudge[mcp] | fastmcp | the MCP server (forgejudge mcp) |
forgejudge[playground] | fastapi, uvicorn, httpx | the guarded live playground API (self-host; the hosted instance is no longer maintained) |
pip install "forgejudge[mcp]" # one extra
pip install "forgejudge[harness,mcp]" # several
forgejudge selftest and forgejudge info work with the base install — no extras, no API key, no network.
$0 free-model number is modest *on purpose*. The deliverable is the engineered system; the model-swap comparison (score rises with a better model, harness fixed) is the proof.앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요