Skip to main content
Glama

Whistle MCP Server

Inglés | 中文

Introducción al proyecto

Whistle MCP Server es una herramienta de gestión de proxy Whistle basada en el protocolo Model Context Protocol (MCP), que permite a los asistentes de IA operar y controlar directamente servidores proxy Whistle locales. A través de esta herramienta, la IA puede ayudar a los usuarios a gestionar reglas, grupos, valores, monitorear solicitudes de red, repetir y modificar solicitudes, etc., sin necesidad de operar manualmente la interfaz de Whistle. Simplifica enormemente el proceso de depuración de red, pruebas de API y gestión de reglas de proxy, permitiendo a los usuarios completar tareas complejas de configuración de proxy de red mediante la interacción en lenguaje natural con la IA.

Related MCP server: MCP Server

Características

  • Gestión de reglas: Crear, actualizar, renombrar, eliminar y habilitar/deshabilitar reglas de Whistle

  • Gestión de grupos: Crear, renombrar, eliminar grupos y asociar operaciones entre reglas y grupos

  • Gestión de valores: Crear, actualizar, renombrar y eliminar valores, con soporte para gestión de grupos de valores

  • Control de proxy: Habilitar/deshabilitar proxy, interceptación HTTP/HTTPS, protocolo HTTP/2, etc.

  • Interceptación de solicitudes: Ver información de solicitudes de red interceptadas, con soporte de filtrado de URL

  • Repetición de solicitudes: Soporte para repetir solicitudes capturadas con parámetros de solicitud personalizados

  • Modo multirregla: Soporte para habilitar/deshabilitar el modo multirregla

Instalación

Requisitos

Se requiere Node.js 18.20.0 o superior (ver engines en package.json). Las versiones anteriores no son compatibles.

Instalación a través de Smithery

Para instalar Whistle MCP Server para Claude Desktop automáticamente a través de Smithery:

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

Instalación manual

Puede instalar Whistle MCP Server globalmente a través de npm:

npm install -g whistle-mcp-tool

Construcción desde el código fuente

Desde la raíz del repositorio:

npm install
npm run build

La entrada de salida de la construcción es dist/index.js (el mismo archivo utilizado por la CLI whistle-mcp después de una instalación global). También puede apuntar la configuración de MCP hacia él con node y la ruta a dist/index.js.

Configuración de MCP

Transporte (stdio vs HTTP)

Por defecto, el servidor utiliza stdio (adecuado para clientes MCP locales como Cursor).

Para exponer Streamable HTTP y SSE en el mismo proceso (para clientes remotos o compatibles con HTTP), utilice --transport http-stream. FastMCP escuchará entonces en --mcp-host / --mcp-port y servirá:

  • Streamable HTTP: http://<mcp-host>:<mcp-port><mcp-endpoint> (ruta por defecto /mcp)

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

Alias para http-stream: sse, streamable-http (mismo modo; ambas URLs están disponibles).

Flag / env

Significado

--transport / -t, FASTMCP_TRANSPORT

stdio (por defecto) o http-stream

--mcp-port, FASTMCP_PORT

Puerto HTTP de MCP (por defecto 8085 al usar transporte HTTP)

--mcp-host, FASTMCP_HOST

Dirección de enlace (por defecto 0.0.0.0)

--mcp-endpoint, FASTMCP_ENDPOINT

Ruta HTTP streamable (por defecto /mcp)

--stateless, FASTMCP_STATELESS=true

Modo HTTP sin estado (opcional)

Las opciones de conexión de Whistle no cambian: --host, --port, --username / --password (o -n / -w).

Ejemplo (transporte HTTP + Whistle local en 8899; MCP escucha en 8085 por defecto):

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

Use --mcp-port <port> para anular el 8085 por defecto.

Después de la instalación, puede configurar Whistle MCP en su archivo de configuración JSON de MCP:

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

Si inicia Whistle con autenticación básica (mismas flags que la CLI de Whistle: w2 start -n <username> -w <password>), pase las mismas credenciales a este servidor MCP para que las solicitudes HTTP a la API de Whistle tengan éxito:

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

Opciones cortas (alineadas con w2): -n / -w son equivalentes a --username / --password.

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

Detalles de configuración

  • host: Dirección IP del servidor Whistle; por defecto localhost si se omite

  • port: Puerto del servidor Whistle; por defecto 8899 si se omite

  • username (-n / --username): Nombre de usuario de autenticación básica cuando Whistle se inició con -n; omitir si Whistle no tiene inicio de sesión

  • password (-w / --password): Contraseña de autenticación básica cuando Whistle se inició con -w; si se establece el nombre de usuario pero se omite la contraseña, se envía una contraseña vacía

Configuración de JSON de MCP en clientes de IA

Descripción de las herramientas MCP

Whistle MCP Server proporciona las siguientes herramientas, que pueden ser llamadas a través del protocolo MCP:

Gestión de reglas

Nombre de la herramienta

Descripción

Función

getRules

Obtener todas las reglas

Listar todas las reglas creadas y su contenido

createRule

Crear nueva regla

Crear una nueva regla con el nombre especificado

updateRule

Actualizar contenido de regla

Modificar el contenido de una regla especificada

renameRule

Renombrar regla

Renombrar una regla a un nuevo nombre

deleteRule

Eliminar regla

Eliminar una regla con el nombre especificado

enableRule

Habilitar regla

Habilitar una regla con el nombre especificado

disableRule

Deshabilitar regla

Deshabilitar una regla con el nombre especificado

setAllRulesState

Establecer estado de todas las reglas

Habilitar o deshabilitar todas las reglas a la vez

Gestión de grupos

Nombre de la herramienta

Descripción

Función

createGroup

Crear grupo

Crear un nuevo grupo de reglas con el nombre especificado

renameGroup

Renombrar grupo

Renombrar un grupo de reglas a un nuevo nombre

deleteGroup

Eliminar grupo

Eliminar un grupo de reglas con el nombre especificado

addRuleToGroup

Añadir regla a grupo

Añadir una regla especificada a un grupo específico

removeRuleFromGroup

Eliminar regla de grupo

Eliminar una regla de su grupo al nivel superior

Gestión de valores

Nombre de la herramienta

Descripción

Función

getAllValues

Obtener todos los valores

Listar todos los valores y grupos de valores creados (nota: los datos pueden ser grandes, considere usar getValueList primero)

getValueList

Obtener lista de valores

Obtener lista de valores solo con índice y nombre (sin campo de datos, para evitar cargas útiles grandes)

getValue

Obtener valor único

Obtener información completa de un solo valor por nombre (incluyendo campo de datos)

createValue

Crear nuevo valor

Crear un nuevo valor con el nombre especificado

updateValue

Actualizar contenido de valor

Modificar el contenido de un valor especificado

renameValue

Renombrar valor

Renombrar un valor a un nuevo nombre

deleteValue

Eliminar valor

Eliminar un valor con el nombre especificado

createValuesGroup

Crear grupo de valores

Crear un nuevo grupo de valores con el nombre especificado

renameValueGroup

Renombrar grupo de valores

Renombrar un grupo de valores a un nuevo nombre

deleteValueGroup

Eliminar grupo de valores

Eliminar un grupo de valores con el nombre especificado

addValueToGroup

Añadir valor a grupo

Añadir un valor especificado a un grupo específico

removeValueFromGroup

Eliminar valor de grupo

Eliminar un valor de su grupo al nivel superior

Control de proxy

Nombre de la herramienta

Descripción

Función

getWhistleStatus

Obtener estado del servidor

Obtener la información de estado actual del servidor Whistle

toggleProxy

Habilitar/deshabilitar proxy

Alternar el estado habilitado del proxy Whistle

toggleHttpInterception

Habilitar/deshabilitar interceptación HTTP

Alternar el estado habilitado de la interceptación de solicitudes HTTP

toggleHttpsInterception

Habilitar/deshabilitar interceptación HTTPS

Alternar el estado habilitado de la interceptación de solicitudes HTTPS

toggleHttp2

Habilitar/deshabilitar HTTP2

Alternar el estado habilitado del soporte del protocolo HTTP/2

toggleMultiRuleMode

Habilitar/deshabilitar modo multirregla

Alternar si se permite habilitar múltiples reglas simultáneamente

Gestión de solicitudes

Nombre de la herramienta

Descripción

Función

getInterceptInfo

Obtener información de interceptación

Obtener información de solicitudes de red interceptadas por Whistle, con soporte de filtrado de URL y regex

replayRequest

Repetir solicitud

Reenviar una solicitud de red especificada con parámetros personalizables

Utilidad

Nombre de la herramienta

Descripción

Función

getCurrentTimestamp

Obtener marca de tiempo actual

Obtener la marca de tiempo local actual

Información de contacto

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