Skip to main content
Glama

Whistle MCP Server

영어 | 中文

프로젝트 소개

Whistle MCP Server는 모델 컨텍스트 프로토콜(MCP)을 기반으로 하는 Whistle 프록시 관리 도구로, AI 어시스턴트가 로컬 Whistle 프록시 서버를 직접 조작하고 제어할 수 있게 해줍니다. 이 도구를 통해 AI는 사용자가 Whistle 인터페이스를 수동으로 조작할 필요 없이 규칙, 그룹, 값을 관리하고, 네트워크 요청을 모니터링하며, 요청을 재전송 및 수정하도록 도울 수 있습니다. 이는 네트워크 디버깅, API 테스트 및 프록시 규칙 관리 과정을 크게 단순화하여, 사용자가 AI와의 자연어 상호작용을 통해 복잡한 네트워크 프록시 구성 작업을 완료할 수 있도록 합니다.

Related MCP server: MCP Server

주요 기능

  • 규칙 관리: Whistle 규칙 생성, 업데이트, 이름 변경, 삭제 및 활성화/비활성화

  • 그룹 관리: 그룹 생성, 이름 변경, 삭제 및 규칙과 그룹 간의 작업 연결

  • 값 관리: 값 생성, 업데이트, 이름 변경 및 삭제, 값 그룹 관리 지원

  • 프록시 제어: 프록시 활성화/비활성화, HTTP/HTTPS 가로채기, HTTP/2 프로토콜 등 제어

  • 요청 가로채기: URL 필터링을 지원하는 가로채기된 네트워크 요청 정보 보기

  • 요청 재전송: 사용자 지정 요청 매개변수를 사용하여 캡처된 요청 재전송 지원

  • 다중 규칙 모드: 다중 규칙 모드 활성화/비활성화 지원

설치

요구 사항

Node.js 18.20.0 이상이 필요합니다 (package.jsonengines 참조). 이전 버전은 지원되지 않습니다.

Smithery를 통한 설치

Smithery를 통해 Claude Desktop용 Whistle MCP Server를 자동으로 설치하려면:

npx -y @smithery/cli install @7gugu/whistle-mcp --client claude

수동 설치

npm을 통해 Whistle MCP Server를 전역으로 설치할 수 있습니다:

npm install -g whistle-mcp-tool

소스에서 빌드

저장소 루트에서:

npm install
npm run build

빌드 출력 항목은 **dist/index.js**입니다(전역 설치 후 whistle-mcp CLI에서 사용하는 파일과 동일). nodedist/index.js 경로를 사용하여 MCP 구성에서 이를 가리킬 수도 있습니다.

MCP 구성

전송 방식 (stdio vs HTTP)

기본적으로 서버는 **stdio**를 사용합니다(Cursor와 같은 로컬 MCP 클라이언트에 적합).

동일한 프로세스에서 Streamable HTTPSSE를 노출하려면(원격 또는 HTTP 지원 클라이언트의 경우) **--transport http-stream**을 사용하세요. FastMCP는 --mcp-host / **--mcp-port**에서 수신 대기하며 다음을 제공합니다:

  • Streamable HTTP: http://<mcp-host>:<mcp-port><mcp-endpoint> (기본 경로 /mcp)

  • SSE: http://<mcp-host>:<mcp-port>/sse

http-stream의 별칭: sse, streamable-http (동일 모드; 두 URL 모두 사용 가능).

플래그 / 환경 변수

의미

--transport / -t, FASTMCP_TRANSPORT

stdio (기본값) 또는 http-stream

--mcp-port, FASTMCP_PORT

MCP HTTP 포트 (HTTP 전송 사용 시 기본값 8085)

--mcp-host, FASTMCP_HOST

바인딩 주소 (기본값 0.0.0.0)

--mcp-endpoint, FASTMCP_ENDPOINT

Streamable HTTP 경로 (기본값 /mcp)

--stateless, FASTMCP_STATELESS=true

상태 비저장 HTTP 모드 (선택 사항)

Whistle 연결 옵션은 변경되지 않습니다: --host, --port, --username / --password (또는 -n / -w).

예시 (HTTP 전송 + 8899 포트의 로컬 Whistle; MCP는 기본적으로 8085에서 수신 대기):

whistle-mcp --transport http-stream --host 127.0.0.1 --port 8899

기본값 8085를 재정의하려면 --mcp-port <port>를 사용하세요.

설치 후 MCP JSON 구성 파일에서 Whistle MCP를 구성할 수 있습니다:

{
  "mcpServers": {
    "whistle-mcp": {
      "command": "whistle-mcp",
      "args": [
        "--host=<whistle server IP address>",
        "--port=<whistle server port number>"
      ]
    }
  }
}

기본 인증을 사용하여 Whistle을 시작한 경우(Whistle CLI와 동일한 플래그: w2 start -n <username> -w <password>), Whistle의 API에 대한 HTTP 요청이 성공하도록 이 MCP 서버에도 동일한 자격 증명을 전달하세요:

{
  "mcpServers": {
    "whistle-mcp": {
      "command": "whistle-mcp",
      "args": [
        "--host=localhost",
        "--port=8899",
        "--username=<username>",
        "--password=<password>"
      ]
    }
  }
}

단축 옵션(w2와 정렬됨): -n / -w--username / --password와 동일합니다.

whistle-mcp --host localhost --port 8899 -n myuser -w mypass

구성 세부 정보

  • host: Whistle 서버 IP 주소; 생략 시 localhost로 기본 설정

  • port: Whistle 서버 포트; 생략 시 8899로 기본 설정

  • username (-n / --username): Whistle이 -n으로 시작되었을 때의 기본 인증 사용자 이름; Whistle에 로그인이 없는 경우 생략

  • password (-w / --password): Whistle이 -w로 시작되었을 때의 기본 인증 비밀번호; 사용자 이름은 설정되었으나 비밀번호가 생략된 경우 빈 비밀번호가 전송됨

AI 클라이언트에서 MCP JSON 구성하기

MCP 도구 설명

Whistle MCP Server는 MCP 프로토콜을 통해 호출할 수 있는 다음 도구들을 제공합니다:

규칙 관리

도구 이름

설명

기능

getRules

모든 규칙 가져오기

생성된 모든 규칙과 그 내용을 나열

createRule

새 규칙 생성

지정된 이름으로 새 규칙 생성

updateRule

규칙 내용 업데이트

지정된 규칙의 내용 수정

renameRule

규칙 이름 변경

규칙의 이름을 새 이름으로 변경

deleteRule

규칙 삭제

지정된 이름의 규칙 삭제

enableRule

규칙 활성화

지정된 이름의 규칙 활성화

disableRule

규칙 비활성화

지정된 이름의 규칙 비활성화

setAllRulesState

모든 규칙 상태 설정

모든 규칙을 한 번에 활성화 또는 비활성화

그룹 관리

도구 이름

설명

기능

createGroup

그룹 생성

지정된 이름으로 새 규칙 그룹 생성

renameGroup

그룹 이름 변경

규칙 그룹의 이름을 새 이름으로 변경

deleteGroup

그룹 삭제

지정된 이름의 규칙 그룹 삭제

addRuleToGroup

규칙을 그룹에 추가

지정된 규칙을 특정 그룹에 추가

removeRuleFromGroup

규칙을 그룹에서 제거

규칙을 그룹에서 제거하여 최상위 레벨로 이동

값 관리

도구 이름

설명

기능

getAllValues

모든 값 가져오기

생성된 모든 값과 값 그룹 나열 (참고: 데이터가 클 수 있으므로 먼저 getValueList 사용 고려)

getValueList

값 목록 가져오기

인덱스와 이름만 포함된 값 목록 가져오기 (큰 페이로드를 피하기 위해 데이터 필드 제외)

getValue

단일 값 가져오기

이름으로 단일 값의 전체 정보 가져오기 (데이터 필드 포함)

createValue

새 값 생성

지정된 이름으로 새 값 생성

updateValue

값 내용 업데이트

지정된 값의 내용 수정

renameValue

값 이름 변경

값의 이름을 새 이름으로 변경

deleteValue

값 삭제

지정된 이름의 값 삭제

createValuesGroup

값 그룹 생성

지정된 이름으로 새 값 그룹 생성

renameValueGroup

값 그룹 이름 변경

값 그룹의 이름을 새 이름으로 변경

deleteValueGroup

값 그룹 삭제

지정된 이름의 값 그룹 삭제

addValueToGroup

값을 그룹에 추가

지정된 값을 특정 그룹에 추가

removeValueFromGroup

값을 그룹에서 제거

값을 그룹에서 제거하여 최상위 레벨로 이동

프록시 제어

도구 이름

설명

기능

getWhistleStatus

서버 상태 가져오기

Whistle 서버의 현재 상태 정보 가져오기

toggleProxy

프록시 활성화/비활성화

Whistle 프록시의 활성화 상태 전환

toggleHttpInterception

HTTP 가로채기 활성화/비활성화

HTTP 요청 가로채기의 활성화 상태 전환

toggleHttpsInterception

HTTPS 가로채기 활성화/비활성화

HTTPS 요청 가로채기의 활성화 상태 전환

toggleHttp2

HTTP2 활성화/비활성화

HTTP/2 프로토콜 지원의 활성화 상태 전환

toggleMultiRuleMode

다중 규칙 모드 활성화/비활성화

여러 규칙을 동시에 활성화할 수 있는지 여부 전환

요청 관리

도구 이름

설명

기능

getInterceptInfo

가로채기 정보 가져오기

URL 필터링 및 정규식 지원을 통해 Whistle이 가로챈 네트워크 요청 정보 가져오기

replayRequest

요청 재전송

사용자 지정 가능한 매개변수를 사용하여 지정된 네트워크 요청 재전송

유틸리티

도구 이름

설명

기능

getCurrentTimestamp

현재 타임스탬프 가져오기

현재 로컬 타임스탬프 가져오기

연락처 정보

Install Server
A
license - permissive license
C
quality
B
maintenance

Maintenance

Maintainers
2dResponse time
Release cycle
Releases (12mo)
Issues opened vs closed

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/7gugu/whistle-mcp'

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