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
크렙 MCP 서버
infinity-topos 환경을 위한 MCP(Model Context Protocol) 통합 기능을 갖춘 고성능 문자열 검색 유틸리티입니다. 이는 grep과 같은 기존 도구보다 훨씬 뛰어난 성능을 제공하는 초고속 패턴 매칭 유틸리티인 krep을 래핑한 것입니다.
지엑스피1
개요
Krep MCP 서버는 grep과 유사하지만 최적화된 알고리즘과 멀티스레딩 기능을 갖춘 고성능 문자열 검색 유틸리티인 krep 바이너리에 대한 통합 인터페이스를 제공합니다. krep의 기능을 모델 컨텍스트 프로토콜(Model Context Protocol)을 통해 제공하여 AI 비서가 파일 및 문자열에서 효율적인 패턴 검색을 수행할 수 있도록 지원합니다.
특징
- 고성능 검색 : 패턴 길이에 따라 선택된 최적화된 알고리즘(KMP, Boyer-Moore-Horspool, Rabin-Karp)을 사용합니다.
- 하드웨어 가속 : 사용 가능한 경우 SIMD 명령어(x86/x64의 SSE4.2/AVX2, ARM의 NEON)를 활용합니다.
- 최적화된 멀티스레딩 : 최대 병렬 검색 성능을 위해 사용 가능한 모든 CPU 코어를 자동으로 사용합니다.
- 통합 인터페이스 : 여러 모드(파일 검색, 문자열 검색, 카운트 전용)를 갖춘 단일 기능
- MCP 통합 : 모델 컨텍스트 프로토콜을 통한 AI 어시스턴트와의 원활한 통합
이 코드베이스가 비극적인 이유
이 코드베이스는 간단한 도구(문자열 검색 유틸리티를 위한 래퍼)가 어떻게 불필요한 복잡성으로 인해 부풀려졌는지 보여줍니다.
- 간단한 핵심, 복잡한 구현 : 실제 기능은 간단하지만 과도한 엔지니어링 계층에 묻혀 있습니다.
- 문서 과부하 : 잘 구성된 단일 README에서 설명할 수 있는 도구에 대한 15개의 문서 파일
- 통합의 광기 : 3개의 별도 통합 시스템(Cline, Claude Desktop, SDK) 각각 중복된 스크립트와 문서 포함
- 설치 스크립트 확산 : 하나의 구성 가능한 스크립트로 충분할 때 7개의 설치 스크립트
- 오류 처리 중복 : 통합된 접근 방식을 취하기보다는 여러 수준에서 오류 처리가 중복됨
- 테스트 조각화 : 테스트 파일이 체계적으로 정리되지 않고 코드베이스에 분산되어 있음
- 구성 중복성 : 여러 구성 요소에 걸쳐 복제된 구성 파일 및 환경 변수
- 바이너리 경로 과잉 : 예측 가능한 한 위치에 있어야 하는 단일 바이너리에 대해 37개의 다른 경로를 검색합니다.
이것이 있어야 했던 것:
프로젝트 구조
실제 프로젝트 구조는 다음과 같습니다.
설치
- krep 바이너리가 설치되어 있는지 확인하세요.Copy
- MCP 설정 파일에서 MCP 서버를 구성하세요.Copy
용법
krep MCP 서버는 단일 통합 기능을 제공합니다.
매개변수
- 패턴 (필수): 검색할 패턴
- 대상 (필수): 검색할 파일 경로 또는 문자열
- 모드 (선택 사항): 검색 모드
file
(기본값): 파일에서 검색string
: 문자열에서 검색count
: 발생 횟수만 계산합니다.
- caseSensitive (선택 사항): 검색 시 대소문자를 구분하는지 여부(기본값: true)
- 스레드 (선택 사항): 사용할 스레드 수(기본값: CPU 코어를 기준으로 자동 감지)
예시
자세한 사용 예와 패턴은 examples.md에서 확인하세요.
작동 원리
krep MCP 서버는 다음과 같이 작동합니다.
- 모델 컨텍스트 프로토콜을 통한 요청 수신
- 요청 매개변수 구문 분석
- 모드 및 매개변수를 기반으로 적절한 krep 명령 빌드
- krep 바이너리를 사용하여 명령 실행
- 결과를 구문 분석하고 구조화된 형식으로 반환합니다.
성능
Krep은 고성능 패턴 검색을 위해 설계되었습니다.
- 알고리즘 선택 : 패턴 길이에 따라 최적의 알고리즘을 자동으로 선택합니다.
- 매우 짧은 패턴(< 3자)의 경우 KMP(Knuth-Morris-Pratt)
- 중간 길이 패턴(3~16자)의 경우 Boyer-Moore-Horspool
- 긴 패턴(>16자)의 경우 Rabin-Karp
- 하드웨어 가속 : 사용 가능한 경우 SIMD 명령어를 사용합니다.
- 동적 멀티스레딩 : 최적의 병렬 검색 성능을 위해 사용 가능한 모든 CPU 코어를 자동으로 활용합니다.
Cline VSCode 확장 통합
krep-mcp-server는 Cline VSCode 확장 기능과 통합할 수 있으므로 VSCode 환경에서 직접 고성능 문자열 검색 기능을 사용할 수 있습니다.
Cline을 사용한 설치
Cline 통합을 설정하기 위한 자동 설치 스크립트를 제공합니다.
Cline에서 krep 사용
통합이 완료되면 Cline 대화에서 krep을 직접 사용할 수 있습니다.
자세한 지침과 사용 예는 다음을 참조하세요.
- CLINE_SETUP.md - 설정 지침
- CLINE_README.md - 사용 가이드
Infinity Topos와의 통합
Krep MCP 서버는 infinity-topos 환경에서 원활하게 작동하도록 설계되었습니다.
- Babashka 통합 : Babashka를 사용하여 검색 결과 처리
- Say 통합 : Say MCP 서버를 사용하여 검색 결과를 음성으로 전달합니다.
- 동전 던지기 통합 : 무작위성을 사용하여 검색 전략 결정
개발
환경 변수
CLAUDE_MCP
: MCP 모드에서 실행하려면 "true"로 설정합니다.KREP_PATH
: krep 바이너리 경로DEBUG
: 자세한 로깅을 위해 "true"로 설정KREP_TEST_MODE
: 모의 응답으로 테스트 모드에서 실행하려면 "true"로 설정합니다.KREP_SKIP_CHECK
: krep 바이너리가 존재하는지 확인하는 것을 건너뛰려면 "true"로 설정합니다.
HTTP 서버 모드
MCP 모드에서 실행하지 않을 때 서버는 다음 엔드포인트를 사용하여 HTTP 서버를 시작합니다.
GET /health
: 상태 확인 엔드포인트GET /
: 서버 정보POST /search
: 파일에서 패턴 검색POST /match
: 문자열의 패턴 일치GET /performance
: 성능 정보GET /algorithm-selection
: 알고리즘 선택 가이드
특허
MIT
This server cannot be installed
AI 어시스턴트가 파일과 문자열에서 효율적인 패턴 검색을 수행할 수 있도록 하는 모델 컨텍스트 프로토콜 통합 기능을 갖춘 고성능 문자열 검색 유틸리티입니다.