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

@itapi-core/mcp-critical

v0.1.3

Published

AI가 Web/WAS 서버의 도메인/IP/포트를 입력받아 보안 취약점과 성능 개선점을 진단하고 조치 정보를 제공받을 수 있도록 하는 MCP 서버

Readme

mcp-critical

AI가 Web/WAS 서버의 도메인·IP·포트 정보를 입력받아 보안 취약점과 성능 개선점을 진단하고, 바로 적용 가능한 조치(코드/설정 스니펫 포함) 정보를 제공받을 수 있도록 하는 MCP 서버입니다.

안전 사용 원칙

이 도구는 본인이 소유했거나 서면으로 점검을 인가받은 자산에만 사용해야 합니다. analyze_server/analyze_performance는 지정한 포트에만(기본 최대 10개, 대역 스캔 불가) 정확히 1회씩 비침습적으로 연결하며, 사설망/클라우드 메타데이터 주소는 기본적으로 차단됩니다. 네트워크 레벨 점검이 필요한 scan_activeauthorization.confirmedOwnerOrAuthorized를 명시적으로 true로 전달해야만 동작하며, 익스플로잇 페이로드는 전송하지 않습니다(포트 연결 확인 + 일반 브라우저 수준의 HEAD 요청만 수행). 인가되지 않은 시스템에 사용하는 것은 관련 법령 위반이 될 수 있습니다.

제공 도구

| 도구 | 설명 | |---|---| | analyze_server | 도메인/IP + 포트를 받아 HTTP 보안 헤더·쿠키·TLS·배너를 점검 (대표 진입점, 인가 불필요) | | analyze_performance | 도메인/IP + 포트를 받아 압축·캐싱·HTTP/2·Keep-Alive·리다이렉트·응답지연(TTFB) 등 성능 개선점을 점검 (인가 불필요) | | scan_active | 지정 포트에 순차 연결해 열림 여부/배너를 확인, 관리 콘솔·AJP 노출 등 진단 (옵트인, 인가 필수) | | analyze_config | Nginx/Apache/Tomcat/JEUS/WebLogic/WebToB 설정 파일 텍스트 하드닝 분석 | | analyze_dependencies | npm/Maven/Gradle/PyPI/Go 의존성을 OSV.dev와 대조 (SCA) | | check_software_vulnerabilities | 배너로 식별된 소프트웨어/버전의 최신 CVE를 OSV.dev에서 조회 | | get_remediation_guide | 룰 ID/CWE/OWASP 또는 자유 텍스트로 조치 가이드 조회 | | generate_report | 여러 스캔 결과를 Markdown/JSON 리포트로 병합 |

모든 스캔 결과는 정적 룰 매칭 결과(findings)와 함께 수집된 원본 근거(rawEvidence)를 반환해, 정적 룰이 아직 다루지 못하는 최신/신규 취약점 패턴을 AI가 직접 판단할 수 있게 합니다.

Claude에서 설정하기

Claude Code (CLI)

claude mcp add mcp-critical -- npx -y @itapi-core/mcp-critical

여러 프로젝트에서 공용으로 쓰려면 -s user를, 스캔 대상 화이트리스트 등 환경변수를 함께 설정하려면 -e KEY=VALUE를 반복 사용한다(예: -e ALLOWED_SCAN_TARGETS=example.com). 등록 확인은 claude mcp list, 제거는 claude mcp remove mcp-critical. 정확한 플래그는 설치된 버전에 따라 다를 수 있으니 claude mcp add --help로 확인하는 것을 권장한다.

프로젝트 저장소에 팀 공용 설정을 커밋하고 싶다면 루트에 .mcp.json을 추가한다.

{
  "mcpServers": {
    "mcp-critical": {
      "command": "npx",
      "args": ["-y", "@itapi-core/mcp-critical"],
      "env": {
        "ALLOWED_SCAN_TARGETS": "",
        "ALLOW_PRIVATE_TARGETS": "false"
      }
    }
  }
}

Claude Desktop

Settings → Developer → Edit Config에서 claude_desktop_config.json을 열고 아래를 추가한다(설정 후 앱 재시작 필요).

{
  "mcpServers": {
    "mcp-critical": {
      "command": "npx",
      "args": ["-y", "@itapi-core/mcp-critical"],
      "env": {
        "ALLOWED_SCAN_TARGETS": "",
        "ALLOW_PRIVATE_TARGETS": "false"
      }
    }
  }
}

설치 확인

새 대화에서 "mcp-critical의 analyze_server 도구로 example.com의 443 포트를 점검해줘"처럼 요청해 AI가 도구를 호출하고 보안 헤더/TLS 점검 결과와 조치 가이드를 반환하는지 확인한다. scan_active처럼 인가가 필요한 도구는 AI가 먼저 "본인 소유/인가된 자산이 맞는지" 확인을 요청하는 것이 정상 동작이다.

환경변수

| 변수 | 설명 | 기본값 | |---|---|---| | MCP_TRANSPORT | stdio | http | stdio | | HTTP_PORT | HTTP transport 사용 시 포트 | 3333 | | ALLOWED_SCAN_TARGETS | analyze_server/scan_active 대상 화이트리스트(CIDR/도메인, 콤마 구분) | 미설정 | | ALLOW_PRIVATE_TARGETS | 사설 대역 스캔 허용 여부 | false | | ACTIVE_SCAN_TIMEOUT_MS | scan_active 전체 스캔 타임아웃(ms) | 30000 | | OSV_API_BASE | OSV.dev API 엔드포인트 | https://api.osv.dev | | AUDIT_LOG_PATH | 감사 로그(JSONL) 파일 경로 | ./data/audit.log.jsonl |

로컬에서 실행 (개발/기여용)

npm install
npm run build
npm start        # stdio로 MCP 서버 실행

개발 중에는 npm run dev(tsx, 빌드 없이 즉시 실행)를 사용한다.

npm run typecheck
npm run lint
npm test              # 네트워크 없이 실행되는 단위 테스트
RUN_LIVE_TESTS=true npm test   # 실제 네트워크를 사용하는 회귀 테스트 포함
npm audit

Docker

docker build -t mcp-critical:local .
docker run --rm -i --env-file .env mcp-critical:local

라이선스

MIT