whistle-mcp
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 claudeInstalación manual
Puede instalar Whistle MCP Server globalmente a través de npm:
npm install -g whistle-mcp-toolConstrucción desde el código fuente
Desde la raíz del repositorio:
npm install
npm run buildLa 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 |
|
|
| Puerto HTTP de MCP (por defecto 8085 al usar transporte HTTP) |
| Dirección de enlace (por defecto 0.0.0.0) |
| Ruta HTTP streamable (por defecto |
| 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 8899Use --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 mypassDetalles de configuración
host: Dirección IP del servidor Whistle; por defecto
localhostsi se omiteport: Puerto del servidor Whistle; por defecto
8899si se omiteusername (
-n/--username): Nombre de usuario de autenticación básica cuando Whistle se inició con-n; omitir si Whistle no tiene inicio de sesiónpassword (
-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
Cliente Claude: https://modelcontextprotocol.io/quickstart/user
Raycast: Requiere la instalación del plugin MCP
Cursor: https://docs.cursor.com/context/model-context-protocol#configuring-mcp-servers
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
Correo electrónico: gz7gugu@qq.com
Blog: https://7gugu.com
Maintenance
Appeared in Searches
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