Skip to main content
Glama

Krep MCP 服务器

一个集成了 MCP(模型上下文协议)的高性能字符串搜索实用程序,适用于 infinity-topos 环境。它是krep的包装器,krep 是一个超快速的模式匹配实用程序,其性能显著优于 grep 等传统工具。

THE KREP-MCP-SERVER ABSURDITY DIAGRAM ==================================== +-----------------------------------------------------+ | | | The KREP MCP Redundancy Zone | | | +-----^--------------------+------------------------+-+ | | | +-----------+----------+ +------+-------------+ +------+-------+ | | | | | | | M E T A D A T A | | F U N C T I O N | | B I N A R Y | | E X P L O S I O N | | N A M E C H A O S| | H U N T | | | | | | | +-----+----------+-----+ +---+-----------+----+ +------+-------+ | | | | | v v v v v +--------+--+ +----+-----+ +---+----+ +---+-----+ +----+------+ | | | | | | | | | | | "Unified" | | 37 Paths | | krep | |krepSearch| | 5 Error | | Function | | To Find | | | |krepMatch | | Handlers | | That Does | | The Same | | | |krepCount | | For | | 3 Things | | Binary | | | | | | 1 Error | | | | | | | | | | | +-----------+ +----------+ +--------+ +----------+ +-----------+ +-----------------------------------------------------+ | | | Configuration & Shell Script Hell | | | +-----^--------------------+------------------------+-+ | | | +-----------+----------+ +------+-------------+ +------+-------+ | | | | | | | 3 Scripts to | | Integer | | Test Mode | | Install 1 Thing | | Arithmetic in | | that Mocks | | | | Shell that says | | Success When| | | | 0 + 0 = Syntax | | Everything | | | | Error | | Fails | +----------------------+ +--------------------+ +--------------+ "It's not redundant if it's resilient!" - MCP Engineer, probably

概述

Krep MCP 服务器为 krep 二进制文件提供了统一的接口。krep 是一款高性能字符串搜索工具,类似于 grep,但算法经过优化,并具备多线程功能。它通过模型上下文协议 (MCP) 公开 krep 的功能,使 AI 助手能够在文件和字符串中执行高效的模式搜索。

Related MCP server: MCP Code Indexer

特征

  • 高性能搜索:使用根据模式长度选择的优化算法(KMP、Boyer-Moore-Horspool、Rabin-Karp)

  • 硬件加速:利用可用的 SIMD 指令(x86/x64 上的 SSE4.2/AVX2、ARM 上的 NEON)

  • 优化的多线程:自动使用所有可用的 CPU 核心,以实现最大的并行搜索性能

  • 统一界面:单一功能,多种模式(文件搜索、字符串搜索、仅计数)

  • MCP 集成:通过模型上下文协议与 AI 助手无缝集成

为什么这个代码库是悲剧

该代码库演示了一个简单的工具(字符串搜索实用程序的包装器)如何因不必要的复杂性而变得臃肿:

  1. 核心简单,实现复杂:实际功能简单,但却被过度工程层层掩盖

  2. 文档过载:一个工具的文档文件有 15 个,而这些文档可以在一个结构良好的 README 文件中解释清楚

  3. 集成疯狂:3 个独立的集成系统(Cline、Claude Desktop、SDK),每个系统都有冗余的脚本和文档

  4. 安装脚本激增:一个可配置脚本就足够了,但实际却有 7 个安装脚本

  5. 错误处理重复:错误处理在多个级别重复,而不是采用统一的方法

  6. 测试碎片化:测试文件分散在代码库中,没有系统地组织起来

  7. 配置冗余:配置文件和环境变量在多个组件之间重复

  8. 二进制路径过度杀伤:搜索 37 条不同的路径,以找到应该位于一个可预测位置的单个二进制文件

它应该是这样的:

┌──────────────────────┐ │ krep-mcp-server │ │ ┌────────────────┐ │ │ │ index.js │ │ │ │ - one function│ │ │ └────────────────┘ │ │ ┌────────────────┐ │ │ │ README.md │ │ │ │ - clear docs │ │ │ └────────────────┘ │ │ ┌────────────────┐ │ │ │ install.sh │ │ │ │ - one script │ │ │ └────────────────┘ │ └──────────────────────┘

项目结构

这是实际的项目结构:

krep-mcp-server/ ├── CLINE_README.md ├── CLINE_SETUP.md ├── CLAUDE_DESKTOP_INTEGRATION.md ├── CLAUDE_DESKTOP_README.md ├── EXAMPLES.md ├── IMPLEMENTATION_SUMMARY.md ├── INSTALL_NOW.md ├── LIFECYCLE_DESIGN.md ├── MCP_COMPLIANCE.md ├── MCP_URIS.md ├── README.md ├── SETUP_CLAUDE_DESKTOP.md ├── TESTING_STRATEGY.md ├── THREAD_OPTIMIZATION.md ├── analysis/ │ └── index.tree.json ├── auto-install-claude.sh ├── cline-config.js ├── direct-install.sh ├── eslint.config.js ├── fix-claude-desktop.sh ├── go-integration/ │ ├── example/ │ └── krep.go ├── install-claude-desktop.sh ├── install-cline-integration.sh ├── install-sdk-integrations.sh ├── jest.config.js ├── just-krep.sh ├── mcp-config.json ├── package-lock.json ├── package.json ├── python-integration/ │ └── krep_mcp_client.py ├── run-claude-desktop.sh ├── run-claude-integration.sh ├── run-cline-mcp-server.sh ├── run-cline-test.sh ├── run-tests.sh ├── run.sh ├── sdk-integration.js ├── src/ │ ├── index.js │ ├── index.min.js │ ├── mcp_server.js │ └── mcp_server.min.js ├── Support/ │ └── Claude/ ├── test/ │ ├── benchmark.js │ ├── fixtures/ │ ├── integration/ │ ├── mcp_benchmark.js │ ├── mock-server.js │ ├── unit/ │ └── utils.js └── various test scripts...

安装

  1. 确保已安装 krep 二进制文件:

    cd /path/to/krep-native make
  2. 在您的 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 服务器公开单一统一的功能:

<use_mcp_tool> <server_name>krep</server_name> <tool_name>krep</tool_name> <arguments> { "pattern": "search pattern", "target": "file path or string to search", "mode": "file|string|count", "caseSensitive": true|false, "threads": null // Automatically uses all CPU cores if not specified } </arguments> </use_mcp_tool>

参数

  • 模式(必需):要搜索的模式

  • 目标(必需):要搜索的文件路径或字符串

  • 模式(可选):搜索模式

    • file (默认):在文件中搜索

    • string :在字符串中搜索

    • count :仅统计出现次数

  • caseSensitive (可选):搜索是否区分大小写(默认值:true)

  • 线程(可选):要使用的线程数(默认值:根据 CPU 核心自动检测)

示例

有关详细使用示例和模式,请参阅examples.md

工作原理

krep MCP 服务器的工作原理如下:

  1. 通过模型上下文协议接收请求

  2. 解析请求参数

  3. 根据模式和参数构建适当的krep命令

  4. 使用 krep 二进制文件执行命令

  5. 解析结果并以结构化格式返回

表现

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 集成:

# Install the integration ./install-cline-integration.sh # Test the integration before installing ./run-cline-test.sh # Uninstall the integration ./uninstall-cline-integration.sh

在 Cline 中使用 krep

一旦集成,您就可以在 Cline 对话中直接使用 krep:

/krep krep pattern="function" target="/path/to/search" mode="file"

有关详细说明和使用示例,请参阅:

与 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 :算法选择指南

执照

麻省理工学院

-
security - not tested
F
license - not found
-
quality - not tested

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/bmorphism/krep-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server