hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Offers ESLint configuration integration for code quality enforcement within the krep MCP server environment
Provides testing infrastructure integration with Jest for unit and integration testing of the krep MCP server
Includes a Python integration client that allows Python applications to interact with the krep MCP server
Servidor Krep MCP
Una utilidad de búsqueda de cadenas de alto rendimiento con integración con MCP (Protocolo de Contexto de Modelo) para el entorno infinity-topos. Es un complemento de krep , una utilidad ultrarrápida de coincidencia de patrones que supera considerablemente a herramientas tradicionales como grep.
Descripción general
El servidor Krep MCP proporciona una interfaz unificada para el binario krep, una utilidad de búsqueda de cadenas de alto rendimiento similar a grep, pero con algoritmos optimizados y capacidades multihilo. Expone la funcionalidad de krep a través del Protocolo de Contexto de Modelo, lo que permite a los asistentes de IA realizar búsquedas de patrones eficientes en archivos y cadenas.
Características
- Búsqueda de alto rendimiento : utiliza algoritmos optimizados (KMP, Boyer-Moore-Horspool, Rabin-Karp) seleccionados en función de la longitud del patrón
- Aceleración de hardware : aprovecha las instrucciones SIMD (SSE4.2/AVX2 en x86/x64, NEON en ARM) cuando están disponibles
- Subprocesos múltiples optimizados : utiliza automáticamente todos los núcleos de CPU disponibles para obtener el máximo rendimiento de búsqueda paralela
- Interfaz unificada : función única con múltiples modos (búsqueda de archivos, búsqueda de cadenas, solo conteo)
- Integración MCP : Integración perfecta con asistentes de IA a través del Protocolo de Contexto de Modelo
Por qué este código base es trágico
Esta base de código demuestra cómo una herramienta simple (un contenedor para una utilidad de búsqueda de cadenas) se volvió inflada con una complejidad innecesaria:
- Núcleo simple, implementación compleja : la funcionalidad real es sencilla, pero está oculta bajo capas de ingeniería excesiva.
- Sobrecarga de documentación : 15 archivos de documentación para una herramienta que podrían explicarse en un único README bien estructurado
- Locura de integración : 3 sistemas de integración independientes (Cline, Claude Desktop, SDK), cada uno con scripts y documentación redundantes
- Proliferación de scripts de instalación : 7 scripts de instalación cuando uno configurable sería suficiente
- Duplicación en el manejo de errores : manejo de errores duplicado en múltiples niveles en lugar de tener un enfoque unificado
- Fragmentación de pruebas : los archivos de prueba están dispersos en el código base en lugar de estar organizados sistemáticamente
- Redundancia de configuración : archivos de configuración y variables de entorno duplicados en varios componentes
- Exceso de rutas binarias : busca 37 rutas diferentes para un único binario que debería estar en una ubicación predecible
Lo que debería haber sido:
Estructura del proyecto
Aquí está la estructura real del proyecto:
Instalación
- Asegúrese de tener instalado el binario krep:Copy
- Configure el servidor MCP en su archivo de configuración de MCP:Copy
Uso
El servidor MCP krep expone una única función unificada:
Parámetros
- patrón (obligatorio): El patrón a buscar
- objetivo (obligatorio): Ruta del archivo o cadena en la que buscar
- modo (opcional): Modo de búsqueda
file
(predeterminado): Buscar en un archivostring
: Buscar en una cadenacount
: Cuenta solo las ocurrencias
- caseSensitive (opcional): si la búsqueda distingue entre mayúsculas y minúsculas (valor predeterminado: verdadero)
- subprocesos (opcional): Número de subprocesos a utilizar (predeterminado: detectado automáticamente en función de los núcleos de la CPU)
Ejemplos
Consulte examples.md para obtener ejemplos de uso y patrones detallados.
Cómo funciona
El servidor krep MCP funciona de la siguiente manera:
- Recepción de solicitudes a través del Protocolo de Contexto de Modelo
- Analizando los parámetros de la solicitud
- Construyendo el comando krep apropiado según el modo y los parámetros
- Ejecutando el comando usando el binario krep
- Analizar los resultados y devolverlos en un formato estructurado
Actuación
Krep está diseñado para la búsqueda de patrones de alto rendimiento:
- Selección de algoritmo : selecciona automáticamente el algoritmo óptimo según la longitud del patrón
- KMP (Knuth-Morris-Pratt) para patrones muy cortos (<3 caracteres)
- Boyer-Moore-Horspool para patrones de longitud media (3-16 caracteres)
- Rabin-Karp para patrones más largos (> 16 caracteres)
- Aceleración de hardware : utiliza instrucciones SIMD cuando están disponibles
- Subprocesos múltiples dinámicos : utiliza automáticamente todos los núcleos de CPU disponibles para un rendimiento de búsqueda paralela óptimo
Integración de la extensión Cline VSCode
El servidor krep-mcp se puede integrar con la extensión Cline VSCode, lo que le permite utilizar capacidades de búsqueda de cadenas de alto rendimiento directamente en su entorno VSCode.
Instalación con Cline
Proporcionamos un script de instalación automática para configurar la integración de Cline:
Usando krep en Cline
Una vez integrado, puedes usar krep directamente en las conversaciones de Cline:
Para obtener instrucciones detalladas y ejemplos de uso, consulte:
- CLINE_SETUP.md - Instrucciones de configuración
- CLINE_README.md - Guía de uso
Integración con Infinity Topos
Krep MCP Server está diseñado para funcionar sin problemas dentro del entorno infinity-topos:
- Integración de Babashka : utilice Babashka para procesar los resultados de búsqueda
- Integración de Say : vocalice los resultados de búsqueda utilizando el servidor Say MCP
- Integración de lanzamiento de moneda : utilice la aleatorización para determinar estrategias de búsqueda
Desarrollo
Variables de entorno
CLAUDE_MCP
: Establézcalo en "verdadero" para ejecutarse en modo MCPKREP_PATH
: Ruta al binario krepDEBUG
: Establezca en "verdadero" para el registro detalladoKREP_TEST_MODE
: Establézcalo en "verdadero" para ejecutarlo en modo de prueba con respuestas simuladasKREP_SKIP_CHECK
: Establézcalo en "verdadero" para omitir la verificación de si existe el binario krep
Modo de servidor HTTP
Cuando no se ejecuta en modo MCP, el servidor inicia un servidor HTTP con los siguientes puntos finales:
GET /health
: Punto final de comprobación de estadoGET /
: Información del servidorPOST /search
: Buscar patrones en archivosPOST /match
: Coincide con patrones en cadenasGET /performance
: Información de rendimientoGET /algorithm-selection
: Guía de selección de algoritmos
Licencia
Instituto Tecnológico de Massachusetts (MIT)
This server cannot be installed
Una utilidad de búsqueda de cadenas de alto rendimiento con integración del Protocolo de Contexto de Modelo que permite a los asistentes de IA realizar búsquedas de patrones eficientes en archivos y cadenas.