npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

consensus-mcp

v1.3.1

Published

MCP server for AI consensus between Claude Code and Gemini CLI

Readme

Consensus MCP

Claude Code와 Gemini CLI 간의 양방향 AI 합의 시스템을 위한 MCP 서버입니다.

왜 필요한가?

기존 방식의 문제점

단일 AI만 사용할 경우:

  • 편향된 관점: 하나의 AI 모델만으로는 다양한 시각을 얻기 어려움
  • 검증 부재: AI가 제안한 코드나 설계에 대한 교차 검증이 불가능
  • 수동 복사/붙여넣기: 다른 AI의 의견을 듣고 싶으면 직접 창을 오가며 복사해야 함
  • 컨텍스트 손실: AI 간 대화 히스토리가 유지되지 않음

Consensus MCP의 해결책

| 기존 방식 | Consensus MCP | |-----------|---------------| | Claude에서 코드 작성 → Gemini에 복사 → 검토 결과 다시 복사 | "이 코드 Gemini한테 검증받아줘" 한마디로 끝 | | 여러 창 오가며 수동으로 의견 취합 | 자동으로 양방향 토론 및 합의 도출 | | 대화 히스토리 관리 불가 | 세션 기반 멀티라운드 토론 지원 | | AI별로 따로 작업 | 하나의 인터페이스에서 두 AI 협업 |

사용 시 장점

  • 이중 검증: 보안, 성능, 설계를 두 AI가 교차 검토
  • 자연어 명령: "Gemini한테 물어봐", "Claude랑 합의해줘" 등 간단한 명령
  • 양방향 지원: Claude에서 Gemini 호출, Gemini에서 Claude 호출 모두 가능
  • 세션 유지: 멀티라운드 토론으로 심층적인 합의 도출
  • 추가 API 비용 없음: 기존 구독(Claude Pro/Max)과 무료(Gemini CLI) 내에서 사용

빠른 설정

Claude Code에 MCP 추가

~/.claude.json 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "consensus": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "consensus-mcp"]
    }
  }
}

Gemini CLI에 MCP 추가

~/.gemini/settings.json 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "consensus": {
      "command": "npx",
      "args": ["-y", "consensus-mcp"]
    }
  }
}

사전 요구사항

Claude Code에서 Gemini 호출 시

npm install -g @google/gemini-cli

Gemini CLI에서 Claude 호출 시

npm install -g @anthropic-ai/claude-code

사용 가능한 도구

Claude Code용 (Gemini 호출)

| 도구명 | 설명 | 필수 파라미터 | |--------|------|---------------| | validate_code | Gemini에게 코드 검증 요청 | code, description | | validate_design | Gemini에게 설계 검토 요청 | design, requirements | | reach_consensus | Gemini와 합의 도출 | topic, claudePosition |

Gemini CLI용 (Claude 호출)

| 도구명 | 설명 | 필수 파라미터 | |--------|------|---------------| | validate_code_with_claude | Claude에게 코드 검증 요청 | code, description | | validate_design_with_claude | Claude에게 설계 검토 요청 | design, requirements | | reach_consensus_with_claude | Claude와 합의 도출 | topic, geminiPosition |

공통 도구

| 도구명 | 설명 | |--------|------| | get_consensus_history | 세션 히스토리 조회 (파라미터: sessionId) | | list_sessions | 활성 세션 목록 조회 |

사용 예시

Claude Code에서

"이 코드를 Gemini한테 검증받아줘"
"이 설계를 Gemini가 어떻게 생각하는지 물어봐"
"Gemini랑 합의해서 최종 결정해줘"

Gemini CLI에서

"이 코드를 Claude한테 검증받아줘"
"이 설계를 Claude가 어떻게 생각하는지 물어봐"
"Claude랑 합의해서 최종 결정해줘"

도구 파라미터 상세

validate_code / validate_code_with_claude

{
  "code": "검증할 코드 (필수)",
  "description": "코드 변경 설명 (필수)",
  "context": "파일 경로, 프로젝트 정보 등 (선택)",
  "focusAreas": ["security", "performance", "readability"],
  "relatedFiles": [
    { "path": "src/utils.ts", "content": "파일 내용..." },
    { "path": "src/types.ts", "content": "타입 정의..." }
  ]
}

validate_design / validate_design_with_claude

{
  "design": "설계 제안 내용 (필수)",
  "requirements": "요구사항 (필수)",
  "constraints": "제약조건 (선택, 기본값: '없음')",
  "relatedFiles": [
    { "path": "src/architecture.md", "content": "현재 아키텍처..." }
  ]
}

reach_consensus / reach_consensus_with_claude

{
  "topic": "토론 주제 (필수)",
  "claudePosition": "Claude의 입장 (reach_consensus에서 필수)",
  "geminiPosition": "Gemini의 입장 (reach_consensus_with_claude에서 필수)",
  "sessionId": "세션 ID (선택, 빈 문자열이면 새 세션)",
  "maxRounds": 3,
  "projectContext": "React + TypeScript 프로젝트, REST API 사용",
  "relatedFiles": [
    { "path": "package.json", "content": "의존성 정보..." }
  ]
}

컨텍스트 공유: relatedFilesprojectContext 파라미터를 사용하면 상대 AI가 프로젝트의 전체 맥락을 이해하고 더 정확한 리뷰를 제공할 수 있습니다.

응답 형식

모든 검증 도구는 다음 형식으로 응답합니다:

{
  "validated": true,
  "summary": "✅ 승인 또는 ❌ 반대 메시지",
  "geminiResponse/claudeResponse": {
    "approved": true/false,
    "confidence": 0.0-1.0,
    "reason": "이유",
    "concerns": ["우려사항"],
    "suggestions": ["제안사항"],
    "alternativeApproach": "대안"
  }
}

라이선스

MIT