Skip to main content
Glama
by rossja

IR Toolshed MCP 서버

보안 전문가에게 사고 대응 및 네트워크 분석 도구를 제공하는 포괄적인 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버를 통해 Claude와 같은 AI 에이전트는 다양한 네트워크 관련 조회 및 분석을 수행하여 보안 조사를 지원할 수 있습니다.

개요

IR Toolshed MCP 서버는 모델 컨텍스트 프로토콜(Model Context Protocol)을 통해 접근 가능한 네트워킹 및 보안 도구 모음을 제공합니다. 네트워크 사고 대응 담당자를 위한 범용 서비스로 설계되었으며, 다음을 사용하여 기본적인 조회를 수행할 수 있습니다.

  • ASN(자율 시스템 번호) 조회

  • DNS 조회 및 분석

  • WHOIS 레코드 검색

  • IP 지리적 위치

  • 그리고 더 많은 네트워크 분석 기능이 추가될 예정입니다.

각 도구에는 자세한 설명서가 함께 제공되어 AI 시스템이 도구를 사용하는 방법과 예상되는 결과를 쉽게 이해할 수 있습니다.

Related MCP server: Wireshark MCP

현재 도구

ASN 조회 도구

ASN 조회 도구는 다음을 포함한 IP 주소에 대한 정보를 반환합니다.

  • 쿼리된 IP 주소

  • IP 주소와 연관된 AS 번호

  • AS번호를 소유한 조직의 이름

DNS 조회 도구

DNS 조회 도구는 도메인에 대한 DNS 레코드 정보를 제공합니다.

  • 다양한 레코드 유형(A, AAAA, MX, NS, TXT)을 지원합니다.

  • 포맷된 DNS 레코드를 반환합니다.

  • IPv4 및 IPv6 쿼리를 모두 처리합니다.

WHOIS 조회 도구

WHOIS 조회 도구는 도메인 등록 정보를 검색합니다.

  • 도메인 소유권 세부 정보

  • 등록 날짜

  • 네임서버 정보

  • 등록자 세부 정보

지리적 위치 도구

IP 지리위치 도구는 MaxMind의 GeoLite2 데이터베이스를 사용하여 위치 정보를 제공합니다.

  • 국가 및 도시 수준의 위치 데이터

  • 위도와 경도 좌표

  • 네트워크 정보

  • 시간대 데이터

참고: 위치 정보 도구를 사용하려면 MaxMind 라이선스 키가 필요합니다. 다음 작업을 수행할 수 있습니다.

  1. https://dev.maxmind.com/geoip/geolite2-free-geolocation-data 에서 무료 키를 받으세요.

  2. 어느 하나:

    • MAXMIND_LICENSE_KEY 환경 변수를 설정합니다.

    • 도구를 사용할 때 매개변수로 제공하세요

    • 메시지가 표시되면 입력하세요

향후 릴리스에서는 더 많은 도구가 추가될 예정입니다.

필수 조건

  • Python 3.8 이상(3.13+ 권장)

  • uv Python 패키지 관리자

설치

  1. 이 저장소를 복제하세요:

지엑스피1

  1. 가상 환경 만들기:

uv venv
  1. 가상 환경을 활성화합니다.

Windows의 경우:

.venv\Scripts\activate

macOS/Linux의 경우:

source .venv/bin/activate
  1. 개발 모드에서 패키지를 설치하세요:

uv pip install -e .

서버 실행

다음을 사용하여 MCP 서버를 시작합니다.

uv run mcp dev src/mcp_server.py

이렇게 하면 서버가 개발 모드로 시작되어 Claude Desktop과 같은 MCP 클라이언트에서 사용할 수 있습니다.

도구 사용

ASN 조회 도구

Claude Desktop과 같은 MCP 클라이언트에 연결된 경우 IP 주소를 제공하여 ASN 조회 도구를 사용할 수 있습니다.

asnlookup("8.8.8.8")

출력 예:

{ "ip_addr": "8.8.8.8", "as_number": "15169", "as_name": "GOOGLE - Google LLC" }

DNS 조회 도구

Claude Desktop과 같은 MCP 클라이언트에 연결하면 도메인을 제공하여 DNS 조회 도구를 사용할 수 있습니다.

dnslookup("example.com")

출력 예:

{ "domain": "example.com", "record_type": "A", "record_value": "93.184.216.34" }

WHOIS 조회 도구

Claude Desktop과 같은 MCP 클라이언트에 연결하면 도메인을 제공하여 WHOIS 조회 도구를 사용할 수 있습니다.

whoislookup("example.com")

출력 예:

{ "domain": "example.com", "ownership_details": "Google LLC", "registration_date": "2004-04-26", "nameserver_information": "ns1.google.com", "registrar_details": "MarkMonitor Inc." }

지리적 위치 도구

Claude Desktop과 같은 MCP 클라이언트에 연결하면 IP 주소를 제공하여 지리적 위치 도구를 사용할 수 있습니다.

geolocation("8.8.8.8")

출력 예:

{ "ip_addr": "8.8.8.8", "country": "US", "city": "Mountain View", "latitude": 37.40599, "longitude": -122.078514, "network": "AS15169 Google LLC", "timezone": "America/Los_Angeles" }

오류 처리

각 도구는 일관된 오류 처리 패턴을 따릅니다.

일반 오류 응답 형식:

{ "status": "error", "error": "Detailed error message", "query": "Original query value" }

도구별 오류 예:

ASN 조회:

{ "ip_addr": "<queried-ip>", "status": "error", "error": "Invalid IP address format" }

DNS 조회:

{ "domain": "<queried-domain>", "record_type": "<requested-type>", "status": "error", "error": "DNS resolution failed" }

WHOIS 조회:

{ "domain": "<queried-domain>", "status": "error", "error": "WHOIS server not available" }

지리적 위치:

{ "ip_addr": "<queried-ip>", "status": "error", "error": "MaxMind database not found or license key invalid" }

프로젝트 구조

이 프로젝트는 표준 Python 패키지 구조를 따릅니다.

irtoolshed_mcp_server/ # Main package directory ├── __init__.py # Package initialization ├── asnlookup.py # ASN lookup functionality ├── dnslookup.py # DNS lookup functionality ├── geolookup.py # Geolocation functionality ├── mcp_server.py # Main MCP server implementation └── whoislookup.py # WHOIS lookup functionality tests/ # Test directory ├── test_asnlookup.py # ASN lookup tests ├── test_dnslookup.py # DNS lookup tests ├── test_geolookup.py # Geolocation tests └── test_whoislookup.py # WHOIS lookup tests

개발

개발 환경 설정

  1. 이 저장소를 복제하세요:

git clone <repository-url> cd ir-toolshed-mcp-server
  1. 가상 환경을 만들고 종속성을 설치합니다.

uv venv source .venv/bin/activate # On Windows use: .venv\Scripts\activate uv pip install -e ".[dev]"

테스트 실행

테스트 모음을 실행하려면:

uv run pytest

이렇게 하면:

  • tests/ 디렉토리의 모든 테스트를 실행합니다.

  • 테스트 범위 정보 표시

  • 모든 실패에 대한 자세한 출력을 표시합니다.

참고: 일부 테스트에는 추가 구성이 필요합니다.

  • 지리적 위치 테스트에는 MaxMind GeoLite2 데이터베이스와 라이선스 키가 필요합니다.

  • WHOIS 서비스를 사용할 수 없는 경우 WHOIS 테스트가 실패할 수 있습니다.

코드 품질

이 프로젝트에서는 코드 품질을 유지하기 위해 여러 도구를 사용합니다.

  • 검은색으로 코드 형식 지정:

uv run black .
  • isort로 가져오기 정렬:

uv run isort .
  • mypy로 유형 검사를 실행합니다.

uv run mypy .
  • ruff로 린팅 실행:

uv run ruff .

로드맵

완료됨: ✓ ASN 조회 ✓ DNS 레코드 조회(A, AAAA, MX 등) ✓ WHOIS 레코드 검색 ✓ IP 지리적 위치 서비스

향후 포함될 도구:

  • 도메인 평판 점수

  • SSL 인증서 분석

  • 네트워크 포트 스캐닝

  • 위협 인텔리전스 통합

  • 수동 DNS 기록

  • 이메일 보안 분석(SPF, DKIM, DMARC)

  • BGP 경로 분석

  • 네트워크 트래픽 시각화

  • 맬웨어 해시 조회

  • URL 평판 검사

기여하다

새로운 IR 도구를 추가하거나 기존 도구를 개선하는 데 기여해 주세요. 다음 단계를 따르세요.

  1. 저장소를 포크하세요

  2. 기능 브랜치 생성

  3. mcp_server.py에 있는 기존 패턴에 따라 도구를 추가하세요.

  4. 적절한 문서를 리소스로 포함하세요

  5. 변경 사항에 대한 명확한 설명과 함께 풀 리퀘스트를 제출하세요.

특허

아파치 2.0

보안 고려 사항

이 서버는 합법적인 보안 연구 및 사고 대응을 위해 설계되었습니다. 사용자는 이 도구를 사용할 때 모든 관련 법률 및 규정을 준수해야 합니다.

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rossja/irtoolshed-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server