프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. 리뷰와 계정 기능은 다음 단계에서 열려요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

Forgejudge

제작자: ahmedEid1버전 0.1.1i★ –i내 컴퓨터에서 실행
레지스트리 이름io.github.ahmedEid1/forgejudge

설치

개요

제작자가 쓴 설명(영어 원문)

Open eval leaderboard + CI gate for autonomous coding agents (solve, score, trace).

PopNx MCP의 세 기둥

이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.

할 수 있는 일

이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.

  • 연결 방식: 내 컴퓨터에서 실행
  • 전송 방식: stdio
  • 카테고리: 기타

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

설치하기 전에

  • 기본 점검: 1개 중 1개 통과
  • 내 컴퓨터에서 내 사용자 계정의 권한(파일, 네트워크, 앱)으로 실행돼요.
  • 레지스트리에 입력해야 할 키가 나와 있지 않아요.

필요한 것

  • PyPIPython의 uv 설치(uvx 명령어용)

어떤 앱을 쓰세요?

위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.

Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요

{
  "mcpServers": {
    "forgejudge": {
      "command": "uvx",
      "args": [
        "forgejudge"
      ]
    }
  }
}

터미널에서 이 명령어를 실행하세요

claude mcp add forgejudge -- uvx forgejudge

Cursor에서 열기

또는 설정을 직접 복사하기

프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요

{
  "mcpServers": {
    "forgejudge": {
      "command": "uvx",
      "args": [
        "forgejudge"
      ]
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

VS Code에서 열기

또는 설정을 직접 복사하기

프로젝트의 .vscode/mcp.json에 붙여 넣으세요

{
  "servers": {
    "forgejudge": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "forgejudge"
      ]
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.

선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

할 수 있는 일

내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 GitHub 계정 ahmedEid1 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요

  • … 아직 점검 안 함

    계속 관리되고 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • … 아직 점검 안 함

    라이선스 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • – 해당 없음

    엔드포인트 응답

    내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요

  • – 해당 없음

    OAuth로 로그인

    내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요

기타 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 32744개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 32744개 중 11%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 32744개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

Forgejudge, 안전한가요?

해당하는 기본 점검 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

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그저께 업데이트
설치

Date Math

제작자: JowenDelaPena

Exact date/time math for agents: business days, holidays, time zones, cron, RRULE, SLA. x402 paid.

클라우드에서 실행오늘 업데이트
설치

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

ForgeJudge

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@1 reflects run-to-run variance — which is exactly why the CI gate is multi-seed. Every run's patch is in runs.json and 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 $0 free-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.

How it works

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

  • Solver — a single, phase-structured loop (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.
  • Harness — encodes the SWE-bench 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.
  • Golden set — 15 purpose-built post-cutoff fixtures + 3 tasks mined from the author's own repos (real commit SHAs, MIT/own license — zero leak/copyleft risk). Each is mutation-hardened: a wrong fix to the patched region is caught (16 mutation-hardened at mean score 0.94; 2 inconclusive for regex/string code; 0 weak).
  • Sandbox / CI / sweep — GitHub Actions on a public repo does triple duty (ephemeral isolated VM sandbox + regression gate + leaderboard sweep) at $0. The sweep ran nightly until the archive; it is manual (workflow_dispatch) now.
  • Observability — OpenTelemetry GenAI spans (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.
Two gates, two jobs

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

Quickstart

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

Run the deterministic harness self-test (no API key, no network):

uv run python -m forgejudge.harness.runner_actions --patch-source gold # 18/18 resolved

Solve a task with a free model and grade it.

Needs a (free) Groq key. Either export it, or put it in .env and pass --env-file:

export GROQ_API_KEY=... # or

cp .env.example .env && edit GROQ_API_KEY # then: uv run --env-file .env python - <<'PY'

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.

Install

Working on the agent/harness itself? Clone and uv sync (above). To consume ForgeJudge as a package:

The published forgejudge==0.1.0 predates the archive: its models.yaml still lists the retired llama-3.3-70b-versatile in several role chains. solve() still works through its gpt-oss-120b primary, 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)

Zero-install MCP server (no venv to manage) — for an MCP client config:

uvx --from "forgejudge[mcp]" forgejudge mcp

Optional extras (installed only when you need them):

ExtraPulls inFor
forgejudge[harness]swebenchthe swebench-equivalence grading check
forgejudge[mcp]fastmcpthe MCP server (forgejudge mcp)
forgejudge[playground]fastapi, uvicorn, httpxthe 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.

Six objections, pre-empted

  1. "Your benchmark is contaminated / cherry-picked." The golden set is freshly authored / post-cutoff, sourced only from the author's own repos + fixtures (no third-party leak surface), and mutation-hardened so a wrong patch can't pass. SWE-bench Verified is now widely held contaminated — OpenAI stopped reporting it (2026-02); >32% of "passed" cases leaked the solution and ~31% passed on weak tests. Decontamination here is a documented, tested property — not a footnote.
  2. "Thin wrapper around an LLM / a framework." The orchestrator is hand-rolled (no LangChain): the control loop, the sandbox-and-score harness, the cheat-resistant grader, the mutation hardener, the OTel instrumentation, and the multi-seed CI gate are the work.
  3. "Your resolution rate is low vs SOTA." SOTA is ~88–94% with premium models and budgets; a $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.
  4. "Is it actually autonomous or staged?" Every run recorded an OpenTelemetry/Langfuse trace, and every stored patch re-grades deterministically to its recorded verdict. The replay-first playground demos a real solve without exposing cost/abuse surface.
  5. "Three agent projects — one-trick pony?" One eval methodology — golden set + judge + traces + CI gate — across three domains at rising autonomy (Lumen → Thoth → Forg

앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요

PopNx에게 묻기