Skip to main content
Glama

MCP 에이전트 평가 하네스

Model Context Protocol 도구를 사용하는 코딩 에이전트를 평가하기 위한 간결한 참조 프로젝트입니다. 이 하네스는 에이전트에게 통제된 저장소 접근 권한을 부여하고, 반복 가능한 검사를 실행하며, 반복 실행 결과를 비교하고, 구조화된 검증 보고서를 반환합니다.

이 프로젝트가 보여주는 것

  • 저장소 목록 조회, 읽기, 검색, 검증 도구를 갖춘 MCP 서버

  • 경로 순회 방지가 포함된 루트 디렉터리 제한 파일 접근

  • 고정된 로케일, 타임존, Python 해시 시드를 사용하는 결정적 명령 실행

  • 필수 및 금지 코드 패턴 검사

  • 비결정성 감지를 위한 반복 실행 비교

  • 재현 가능한 버그 수정 태스크를 위한 골든 참조 자료

  • 표준 라이브러리 기반 단위 테스트 및 지속적 통합 워크플로우

Related MCP server: mcp-software-engineering-challenge

아키텍처

MCP client or coding agent
          |
          v
Repository MCP tools
          |
          v
SafeWorkspace boundary
          |
          v
DeterministicVerifier
          |
          v
Structured VerificationReport

핵심 검증기에는 제3자 의존성이 없습니다. MCP 어댑터는 공식 Python SDK v2를 사용합니다.

빠른 시작

단위 테스트를 실행하세요.

python -m unittest discover -s tests -v

포함된 평가 태스크를 실행하세요.

PYTHONPATH=src python -m mcp_eval_harness.cli verify \
  examples/rounding-bug/task.json \
  examples/rounding-bug/workspace

MCP 어댑터를 설치하고 stdio 서버를 시작하세요.

python -m pip install -e ".[mcp]"
mcp-eval serve

MCP 도구

도구

용도

list_repository_files

구성된 루트 아래의 안정적이고 정렬된 파일 목록을 반환합니다

read_repository_file

경로 순회를 차단하면서 UTF-8 파일 하나를 읽습니다

search_repository

결정적 순서와 결과 제한을 적용하여 리터럴 텍스트를 검색합니다

verify_solution

태스크 사양을 실행하고 구조화된 보고서를 반환합니다

태스크 사양

각 태스크는 JSON으로 작성되며 파일, 코드 요구 사항, 검증 명령, 타임아웃, 반복 횟수를 명시합니다.

{
  "task_id": "decimal-rounding-fix",
  "required_files": ["calculator.py", "test_calculator.py"],
  "required_patterns": {"calculator.py": ["Decimal", "ROUND_HALF_UP"]},
  "forbidden_patterns": {"calculator.py": ["round("]},
  "command": ["python", "-m", "unittest", "discover", "-s", ".", "-p", "test_*.py"],
  "timeout_seconds": 10,
  "repeat_count": 2
}

보안 경계

경로 검사는 구성된 저장소 루트를 보호합니다. 명령 검증기는 신뢰할 수 있는 로컬 태스크 정의를 위해 설계되었습니다. 신뢰할 수 없는 후보 코드는 컨테이너 또는 다른 운영체제 샌드박스 안에서 실행하세요.

저자

Mohammed Ibrahim Sadiq

라이선스

MIT

Related MCP Connectors

Related MCP Servers