IR Toolshed MCP Server

by rossja
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Provides the ability to look up Google's ASN information and network details through the ASN lookup functionality.

IR Toolshed MCP 서버

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

개요

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

  • ASN(자율 시스템 번호) 조회
  • DNS 조회 및 분석
  • WHOIS 레코드 검색
  • IP 지리적 위치
  • 그리고 더 많은 네트워크 분석 기능이 추가될 예정입니다.

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

현재 도구

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

보안 전문가를 위한 네트워크 분석 도구를 제공하는 모델 컨텍스트 프로토콜 서버로, 클로드와 같은 AI 모델이 보안 조사를 위해 ASN 조회, DNS 분석, WHOIS 검색, IP 지리적 위치 등의 작업을 수행할 수 있도록 합니다.

  1. Overview
    1. Current Tools
      1. ASN Lookup Tool
      2. DNS Lookup Tool
      3. WHOIS Lookup Tool
      4. Geolocation Tool
    2. Prerequisites
      1. Installation
        1. On Windows:
        2. On macOS/Linux:
      2. Running the Server
        1. Using the Tools
          1. ASN Lookup Tool
          2. DNS Lookup Tool
          3. WHOIS Lookup Tool
          4. Geolocation Tool
        2. Error Handling
          1. Project Structure
            1. Development
              1. Setting Up Development Environment
              2. Running Tests
              3. Code Quality
            2. Roadmap
              1. Contributing
                1. License
                  1. Security Considerations
                    ID: aq6e8k0oyw