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.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っている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メニューの名前は、プランや時期によって少し違うことがあります。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。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スターi3つの柱:レビュー · チェック · 利用状況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에 기록합니다.