README
🚀 MCP-Grep 服务器
MCP-Grep 服务器通过模型上下文协议(MCP)暴露 grep 功能,为用户提供便捷的文件搜索服务,支持正则表达式搜索、常见 grep 选项,还能理解自然语言提示,与大语言模型结合使用更方便。
🚀 快速开始
MCP-Grep 作为服务器运行,可以通过 MCP 兼容客户端使用:
# 启动 MCP-Grep 服务器
mcp-grep-server
# 或通过 MCP 检查器进行交互式调试和测试
mcp-grep-inspector
✨ 主要特性
- 系统grep二进制文件信息(路径、版本、支持的功能)
- 使用正则表达式在文件中搜索模式
- 支持常见的grep选项:
- 不区分大小写的匹配
- 匹配上下文行(前缀和后缀)
- 最大匹配数
- 固定字符串匹配(非正则表达式)
- 递归目录搜索
- 大语言模型(LLM)自然语言提示理解,使用更方便
- 通过MCP检查器进行交互式调试和测试
📦 安装指南
通过 Smithery 安装
要自动为Claude Desktop安装Grep Server,可通过Smithery进行:
npx -y @smithery/cli install @erniebrodeur/mcp-grep --client claude
手动安装
pip install mcp-grep
💻 使用示例
基础用法
from mcp.client import MCPClient
# 连接到MCP-Grep服务器
client = MCPClient()
# 获取grep二进制文件信息
grep_info = client.get_resource("grep://info")
print(grep_info)
# 搜索文件中的模式
result = client.use_tool("grep", {
"pattern": "search_pattern",
"paths": ["file.txt", "directory/"],
"ignore_case": True,
"recursive": True
})
print(result)
自然语言提示用法
MCP-Grep 理解自然语言提示,使其与LLM结合使用更方便。示例:
# 基本搜索
在log.txt中搜索‘error’
# 不区分大小写的搜索
查找system.log中所有不区分大小写的‘WARNING’实例
# 带上下文行的搜索
在error.log中搜索‘exception’,并显示每个匹配前后的3行内容
# 递归搜索
在src目录及其子目录中查找所有‘deprecated’的出现
# 固定字符串搜索(非正则表达式)
在config.js中搜索精确字符串‘.*’
# 结果限制
显示项目文件中‘TODO’的前5个匹配项
# 多选项组合
在所有.php文件中不区分大小地查找‘password’,显示2行上下文,并限制为10个结果
MCP 检查器集成用法
MCP-Grep 包含一个MCP检查器集成,用于交互式调试和测试:
# 启动包含MCP-Grep的MCP检查器
mcp-grep-inspector
这将打开一个基于Web的UI界面,您可以:
- 探索可用资源和工具
- 使用不同参数测试grep操作
- 查看格式化结果
- 调试您的grep查询问题
📚 详细文档
该服务器暴露了以下MCP功能:
- 资源:
grep://info- 返回有关系统grep二进制文件的信息 - 工具:
grep- 使用系统grep二进制文件在文件中搜索模式
🔧 技术细节
开发步骤
# 克隆仓库
git clone https://github.com/your-repository.git # 请替换为实际仓库地址
cd mcp-grep
# 安装依赖项
pip install -r requirements.txt
# 运行测试
python -m pytest tests/
📄 许可证
[此处添加许可证信息,例如MIT License或其他适用的开源许可证]
此文档为MCP-Grep项目的参考指南,介绍了其安装、使用方法、功能特性以及开发指导。
Scan to contact