Krep MCP 服务器
一个集成了 MCP(模型上下文协议)的高性能字符串搜索实用程序,适用于 infinity-topos 环境。它是krep的包装器,krep 是一个超快速的模式匹配实用程序,其性能显著优于 grep 等传统工具。
概述
Krep MCP 服务器为 krep 二进制文件提供了统一的接口。krep 是一款高性能字符串搜索工具,类似于 grep,但算法经过优化,并具备多线程功能。它通过模型上下文协议 (MCP) 公开 krep 的功能,使 AI 助手能够在文件和字符串中执行高效的模式搜索。
特征
高性能搜索:使用根据模式长度选择的优化算法(KMP、Boyer-Moore-Horspool、Rabin-Karp)
硬件加速:利用可用的 SIMD 指令(x86/x64 上的 SSE4.2/AVX2、ARM 上的 NEON)
优化的多线程:自动使用所有可用的 CPU 核心,以实现最大的并行搜索性能
统一界面:单一功能,多种模式(文件搜索、字符串搜索、仅计数)
MCP 集成:通过模型上下文协议与 AI 助手无缝集成
为什么这个代码库是悲剧
该代码库演示了一个简单的工具(字符串搜索实用程序的包装器)如何因不必要的复杂性而变得臃肿:
核心简单,实现复杂:实际功能简单,但却被过度工程层层掩盖
文档过载:一个工具的文档文件有 15 个,而这些文档可以在一个结构良好的 README 文件中解释清楚
集成疯狂:3 个独立的集成系统(Cline、Claude Desktop、SDK),每个系统都有冗余的脚本和文档
安装脚本激增:一个可配置脚本就足够了,但实际却有 7 个安装脚本
错误处理重复:错误处理在多个级别重复,而不是采用统一的方法
测试碎片化:测试文件分散在代码库中,没有系统地组织起来
配置冗余:配置文件和环境变量在多个组件之间重复
二进制路径过度杀伤:搜索 37 条不同的路径,以找到应该位于一个可预测位置的单个二进制文件
它应该是这样的:
项目结构
这是实际的项目结构:
安装
确保已安装 krep 二进制文件:
cd /path/to/krep-native make在您的 MCP 设置文件中配置 MCP 服务器:
{ "mcpServers": { "krep": { "command": "node", "args": [ "/path/to/krep-mcp-server/src/index.js" ], "env": { "CLAUDE_MCP": "true", "KREP_PATH": "/path/to/krep-native/krep", "DEBUG": "true" }, "description": "High-performance string search utility with unified interface", "disabled": false, "autoApprove": [ "krep" ] } } }
用法
krep MCP 服务器公开单一统一的功能:
参数
模式(必需):要搜索的模式
目标(必需):要搜索的文件路径或字符串
模式(可选):搜索模式
file(默认):在文件中搜索string:在字符串中搜索count:仅统计出现次数
caseSensitive (可选):搜索是否区分大小写(默认值:true)
线程(可选):要使用的线程数(默认值:根据 CPU 核心自动检测)
示例
有关详细使用示例和模式,请参阅examples.md 。
工作原理
krep MCP 服务器的工作原理如下:
通过模型上下文协议接收请求
解析请求参数
根据模式和参数构建适当的krep命令
使用 krep 二进制文件执行命令
解析结果并以结构化格式返回
表现
Krep 专为高性能模式搜索而设计:
算法选择:根据模式长度自动选择最佳算法
KMP(Knuth-Morris-Pratt)适用于非常短的模式(<3 个字符)
Boyer-Moore-Horspool 适用于中等长度模式(3-16 个字符)
Rabin-Karp 用于较长的模式(> 16 个字符)
硬件加速:使用可用的 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 Integration :使用 Say MCP 服务器将搜索结果语音化
抛硬币积分:使用随机化来确定搜索策略
发展
环境变量
CLAUDE_MCP:设置为“true”以在 MCP 模式下运行KREP_PATH:krep 二进制文件的路径DEBUG:设置为“true”以进行详细日志记录KREP_TEST_MODE:设置为“true”以在模拟响应的测试模式下运行KREP_SKIP_CHECK:设置为“true”以跳过检查 krep 二进制文件是否存在
HTTP 服务器模式
当不在 MCP 模式下运行时,服务器将启动具有以下端点的 HTTP 服务器:
GET /health:健康检查端点GET /:服务器信息POST /search:在文件中搜索模式POST /match:匹配字符串中的模式GET /performance:性能信息GET /algorithm-selection:算法选择指南
执照
麻省理工学院
This server cannot be installed
具有模型上下文协议集成的高性能字符串搜索实用程序,使 AI 助手能够在文件和字符串中执行高效的模式搜索。
Related MCP Servers
- AsecurityAlicenseAqualityEnables AI assistants to interact with Meilisearch via the Model Context Protocol, allowing comprehensive index, document, and search management through a standardized interface.Last updated -6809MIT License
- -securityFlicense-qualityA smart code retrieval tool based on Model Context Protocol that provides efficient and accurate code repository search capabilities for large language models.Last updated -25
- AsecurityAlicenseAqualityA Model Context Protocol server that integrates with Microsoft Bing Search API, allowing AI assistants to perform web, news, and image searches.Last updated -356MIT License
- -securityAlicense-qualityA Model Context Protocol server that provides real-time web search capabilities to AI assistants through pluggable search providers, currently integrated with the Brave Search API.Last updated -13MIT License