GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
제작자가 쓴 설명(영어 원문)
Scan a public GitHub repo, explain risks, get fix prompts and rescan to confirm fixes.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
웹, 데스크톱, 모바일의 Claude에서 쓸 수 있어요:
https://oboe-handiness-enroll.ngrok-free.dev/mcp/service/rpc터미널에서 이 명령어를 실행하세요
claude mcp add --transport http 72hours https://oboe-handiness-enroll.ngrok-free.dev/mcp/service/rpc프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"72hours": {
"url": "https://oboe-handiness-enroll.ngrok-free.dev/mcp/service/rpc"
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"72hours": {
"type": "http",
"url": "https://oboe-handiness-enroll.ngrok-free.dev/mcp/service/rpc"
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요:
https://oboe-handiness-enroll.ngrok-free.dev/mcp/service/rpc메뉴 이름은 요금제나 시기에 따라 조금 다를 수 있어요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
마지막으로 점검했을 때 서버가 응답하지 않아서 도구를 읽지 못했어요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 GitHub 계정 maebsy 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
점검할 때 6초 안에 응답하지 않았어요
점검할 때 6초 안에 응답하지 않았어요
아직 점검하지 않았어요. 엔드포인트를 점검할 때 도구 목록을 읽어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 2개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.1.0)은 6일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.
같은 카테고리에는: GitHub, Desktop Commander, Cloudflare MCP
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
운영 중인 서비스의 /mcp/service에서 서버 URL을 복사해 Claude의 custom connector, ChatGPT의 custom MCP server 또는 기타 AI의 원격 MCP 설정에 등록합니다. 현재 데모 인증은 None입니다. Cursor·VS Code는 같은 화면의 연결 버튼도 사용할 수 있습니다. 등록 후 service_info 호출로 연결을 확인합니다. 웹 채팅은 저장소 URL로 서비스를 이용하며, 직접 코드 수정은 파일 접근 권한이 있는 코딩 에이전트에서 수행합니다. 원격 주소는 /mcp/service/rpc, 에이전트용 안내는 /mcp/service/agent.txt입니다. Python·CMD·결과 파일 설치 없이 원격 HTTP MCP를 지원하는 클라이언트에서 사용합니다. 클라이언트 자체의 연결 승인·재접속은 필요할 수 있으며, stdio 전용 앱은 별도 브리지가 필요합니다.
create_workspace → start_scan → get_scan → start_analysis → get_analysis → get_fix_prompt
start_analysis는 workspace_token·scan_id·fingerprint만 받습니다. 해석 API는 사용자 OS·호스팅 입력 없이 세 OS 명령을 모두 생성하며 패키지 관리자는 자동 판별합니다. 순으로 실제 서버 API를 호출합니다. 수정은 사용자 AI의 작업본에서 수행합니다. rescan은 같은 저장소의 게시된 기본 브랜치를 이전 결과와 비교합니다. 미게시 로컬 수정이나 PR 브랜치를 확인하지 못하므로 커밋이 같으면 수정 검증 완료로 표시하면 안 됩니다. generate_report와 incident_report는 기존 서비스의 점검 리포트·사고 평가·신고서 초안을 제공합니다. 신고 자동 제출·계정 관리·과금·임의 셸 실행·배포 도구는 제공하지 않습니다.
기존 /mcp/connect는 웹에서 이미 검사한 결과의 전용 연결 기능으로 유지됩니다. 전체 서비스 MCP는 브라우저 결과를 신뢰하거나 업로드받지 않고, 자기가 접수한 서버 작업의 실제 저장소·커밋·FindingInput을 연결합니다. GPU 키는 전달받지 않습니다.
운영 실행은 기존 live_server.py --database /absolute/private/links.sqlite3 --public-origin https://HOST 명령을 사용합니다. --public-origin은 쉼표로 여러 주소를 받으며 첫 주소(대표, 고정 주소)로 연결 주소·안내문을 만들고 나머지 주소의 요청도 받습니다. 같은 디렉터리의 workspaces.sqlite3에 만료 시간·capability 해시·접수 ID만 보관하며, 원본 코드·분석 전문·비밀키는 저장하지 않습니다. backend는 고정 loopback 127.0.0.1:8000을 호출하고 기존 인증·allowlist·queue 정책을 그대로 따릅니다. 인증이 필요한 환경에서는 정책 오류를 반환하며 우회하지 않습니다. 이 구성은 인증 없는 공개 데모 API가 이미 허용된 배포용입니다.
capability는 24시간, 작업 공간은 최대 128개, 전체 접수 256건, 공간별 16건입니다 (WorkspaceStore 운영 설정). 같은 scan request_id 및 같은 분석 입력은 중복 접수하지 않습니다. 응답이 불명확한 POST는 not_confirmed로 남겨 자동 재접수를 막습니다. 서버가 접수했을 가능성이 있으므로 운영자가 확인하기 전 새 request_id로 무작정 반복하지 마세요. 폐기는 MCP 접근을 제거하며 이미 백엔드에 접수된 작업을 취소하지는 않습니다. DB를 유지한 프로세스 재시작 후에도 ID가 유지되지만, backend 결과 보관 기간이 지나면 새 검사가 필요합니다.
검증: python -m unittest discover -s integrations/mcp-handoff/tests -v. HTTP MCP 초기화·전체 API 계약·두 작업 공간 격리·동시 중복 요청·만료/폐기·인증/오류·Red 게이트를 합성 테스트로 확인하고, 배포 후 공개 HTTPS에서 실제 검사→GPU 분석→리포트→재검사를 별도 확인합니다.
기존 서비스 옆에서 별도 프로세스로 실행하는 읽기 전용 MCP 서버입니다. 로컬 LLM이 이미 만든 ai_fix_prompt에 저장소 확인·최소 수정·테스트·재검사 지침을 붙여 사용자 AI 코딩 에이전트에 제공합니다. 백엔드를 import하지 않고 API·DB·GPU·compose·서비스 의존성을 바꾸지 않습니다.
기존 로컬 LLM → 결과 JSON 저장 → 이 MCP 서버 (stdio)
↑ 사용자 AI 에이전트가 조회 ↓ 수정 제안 + 실제 검증 지침 사용자 저장소에서 수정·테스트·재검사
MCP가 사용자 에이전트에 먼저 push하거나 자동으로 수정시키지는 않습니다. 사용자가 MCP를 연결하고 작업을 요청하면 에이전트가 tool을 호출합니다. 공식 SDK 문서의 tools와 prompts를 제공하며, 지원 클라이언트의 사용자 메뉴에서는 fix_finding prompt를 직접 선택할 수도 있습니다. SDK v1 유지보수 API를 사용하며 mcp==1.30.0으로 고정했습니다.
저장소 루트에서 PowerShell로 실행합니다. 기존 backend/.venv에 설치하지 않습니다.
python -m venv integrations/mcp-handoff/.venv
integrations/mcp-handoff/.venv/Scripts/python.exe -m pip install -r integrations/mcp-handoff/requirements.txt integrations/mcp-handoff/.venv/Scripts/python.exe -m unittest discover -s integrations/mcp-handoff/tests -v
macOS/Linux에서는 .venv/Scripts/python.exe를 .venv/bin/python으로 바꿉니다. 테스트는 GPU·네트워크·서비스 실행 없이 합성 결과와 실제 stdio 클라이언트로 수행합니다. 차단된 prompt 요청의 오류 로그는 의도한 거부 경로입니다.
입력은 진행 중인 #16의 다음 두 출력 계약을 지원합니다. 해당 기능이 main에 머지되지 않아도 MCP 자체 설치와 합성 데이터 테스트는 독립적으로 가능합니다.
| 입력 | 구조 | 실행 인자 |
|---|---|---|
/api/llm/explain 응답을 저장한 JSON | {"mode":"red_blue","results":[...]} | --results |
python -m app.llm.check가 저장한 JSON | {"model":"...","runs":[{"mode":"red_blue","results":[...]}]} | --results와 명시적 `--run-index` |
--run-index는 0부터 시작합니다. Blue와 Red–Blue가 둘 다 있는 실측 보고서는 실제 runs를 확인해서 선택하세요. 가장 최신 파일이나 이전 pass 결과를 자동 선택하지 않습니다. 한 번에 1~50건, 파일 최대 2 MiB입니다. 운영자가 지정한 파일만 시작 시 한 번 읽고 메모리에 필요한 필드만 보관하므로 새 결과를 연결하려면 MCP 프로세스를 재시작해야 합니다. 파일 작성 완료 후 연결하세요.
integrations/mcp-handoff/.venv/Scripts/python.exe integrations/mcp-handoff/server.py `
--results C:/private/scan-results.json --repository owner/scanned-app --revision <검사한_사용자_저장소의_40자리_SHA>
repository와 revision은 72hours 서비스 저장소가 아니라 검사 대상 사용자 저장소입니다. 현재 상위 출력에는 이 정보가 없어 운영자가 지정합니다. MCP가 이 연결 관계나 파일의 진위를 인증하지는 않습니다. LLM 실측 fixture는 실제 사용자 저장소의 검사 결과가 아니므로 운영 결과로 연결하지 마세요.
직접 실행하면 입력을 기다리는 것이 정상입니다. stdout은 MCP JSON-RPC 전용입니다. 일반적으로 클라이언트가 서버 프로세스를 실행하게 합니다.
웹(대시보드)에서 검사하면 결과 파일을 자동으로 덮어쓰고, MCP는 `--revision` 없이 실행해 호출할 때마다 최신 파일을 읽습니다. 재검사로 커밋이 바뀌어도 설정을 고치거나 MCP를 재시작할 필요가 없습니다.
72hours-mcp- - .json) 위치를 한 번 고릅니다. 이후 검사·해석이 끝날 때마다 같은 파일에 저장됩니다(크롬·엣지). 다른 브라우저는 MCP용 결과 내려받기로 같은 파일 이름에 저장합니다.server.py --results <결과 파일 절대 경로> --repository <owner/repo>
--repository는 생략할 수 있지만 함께 주는 것을 권장합니다. 생략하면 그 경로에 어떤 저장소의 결과 파일이 저장돼도 그대로 전달합니다. 웹의 설정 복사는 항상 --repository를 넣습니다.
| 동작 | 내용 |
|---|---|
| 최신 결과 | 호출할 때 파일 내용(sha256)이 바뀌었으면 다시 읽습니다. 같은 시각·같은 크기로 덮어써도 반영됩니다 |
| 저장소·커밋 | 파일 안의 source.repository·source.revision·source.generated_at을 씁니다. list_findings의 source에 나옵니다 |
| 저장소 고정 | --repository와 파일의 저장소가 다르면 그 파일은 받지 않고 직전 결과를 유지합니다 |
| 깨진 파일 | 저장 도중·형식 오류면 직전 정상 결과를 유지하고 notice로 알립니다 |
| 파일 없음 | 서버는 뜨고 list_findings가 빈 목록과 "자동 저장을 켜 주세요" 안내를 돌려줍니다 |
| 파일 삭제 | 한 번 읽은 뒤 파일이 사라지면 직전 결과를 유지하고 notice로 알립니다 |
--revision을 주면 기존처럼 시작할 때 한 번 읽는 고정 방식입니다. 이때 파일의 source.revision이 다르면 거부합니다.
live_server.py 배포에서는 /mcp/connect가 같은 브라우저의 실제 검사 결과를 읽습니다. 사용자가 확인 후 전용 연결을 만들고, 수정 요청 복사 문장을 자기 AI 에이전트에게 전달합니다. 파일 설치 없이 해당 검사에만 연결하며 24시간 만료와 직접 폐기를 지원합니다. 공용 샘플은 자동 대체하지 않습니다. 브라우저 export임을 명시하고 에이전트가 저장소·커밋·코드 근거를 확인합니다. 자세한 데이터 경계·배포·검증은 실제 검사 MCP 안내를 참고하세요.
공개 허용된 결과를 운영자가 http_server.py로 배포하면 사용자는 ZIP/Python 설치 없이 https://<공개호스트>/mcp/connect의 문장을 AI 에이전트에게 전달합니다. 에이전트는 /mcp/agent.txt를 읽고 호스트의 지원 방식으로 /mcp를 등록합니다. 호스트가 설정 수정 권한을 주지 않으면 사용자가 MCP 추가 화면에서 URL을 등록해야 합니다. 실행 권한·연결 승인이나 클라이언트 재접속을 우회하지 않습니다.
list_findings, get_fix_prompt, fix_finding의 전달 조건은 동일합니다.--publish-approved-snapshot으로 공개 허용을 명시해야 합니다.일반 서버 배포는 원격 MCP 배포 안내를 따릅니다. 실제 공개 결과는 저장소에 커밋하지 않습니다. 테스트는 합성 결과만 사용합니다.
client.example.json은 mcpServers 형식을 사용하는 클라이언트용 Windows 설정 예시입니다. 실행 파일·서버 파일·결과 파일 경로를 모두 절대 경로로 바꾸고 검사 대상 저장소와 커밋을 입력하세요. 실측 보고서는 args에 "--run-index", "0" 등을 추가합니다. 이 파일은 자동 적용되지 않으며 기존 클라이언트 설정이나 실행 중인 Claude 세션을 변경하지 않습니다. 다른 설정 형식의 호스트에서도 같은 command와 args를 등록하면 됩니다.
연결한 뒤 사용자 에이전트에 요청할 문장:
72hours-handoff의 list_findings로 현재 연결된 검사 결과를 확인해 줘. ready=true인 항목의 get_fix_prompt를 가져오고, 대상 저장소와 검사 커밋이 현재 작업 대상인지 확인해 줘. 기존 변경을 보존하면서 관련 취약점만 수정하고, 정상 기능 테스트와 보안 재검사 결과를 알려 줘. 차단된 항목은 임의로 수정하지 말고 확인이 필요한 이유를 알려 줘.
| MCP 기능 | 입력 | 출력 |
|---|---|---|
tool list_findings | 없음 | 저장소·커밋·파일 SHA-256·run index, fingerprint별 ready와 차단 이유 |
tool get_fix_prompt | fingerprint | 제안과 검증 지침을 포함한 텍스트; 차단·미존재 항목은 tool error |
prompt fix_finding | fingerprint | 같은 내용을 user 메시지로 제공; 같은 차단 규칙 적용 |
status=done, variant=D, red_verdict=pass, 마지막 red_rounds의 판정도 pass이며 issues가 비어 있어야 합니다.needs_manual_review=false, false_positive_suspect=false가 명시적 boolean이어야 합니다. 누락·문자열·실패·오탐 의심 결과의 수정 지시는 전달하지 않습니다.http_server.py는 공개 허용된 고정 스냅샷만 원격으로 제공합니다. 파일 내용은 연결한 AI 클라이언트에 전달되므로 클라우드 모델을 쓰는 호스트에서는 외부로 전달될 수 있습니다. 결과 파일 접근 권한은 운영자가 관리합니다.현재 범위는 파일 기반 전달입니다. 실시간 대시보드/DB 조회나 다중 사용자 원격 MCP는 구현하지 않았습니다. 그 단계에서는 기존 인증 경계 안에서 사용자·프로젝트별 읽기 전용 조회, 검사 대상 커밋·scan ID의 서버 측 결합, 최신 상태 및 재검사 이력 확인을 먼저 추가해야 합니다. 지금 서버를 그대로 공개 HTTP 서비스로 노출하면 안 됩니다.
새 검사 결과에는 사용자 저장소·검사 커밋·검사 시각을 상위 시스템에서 함께 기록하는 것이 좋습니다. 이 PR은 그 계약을 강제로 바꾸지 않고 운영자 인자로 연결합니다. 외부 자원은 저장소 규칙에 따라 docs/external-resources.md에 기록합니다.