一个通过模型上下文协议(MCP)提供grep功能的服务器实现。
要通过 Smithery 自动安装 Grep 服务器:
npx -y @smithery/cli install @erniebrodeur/mcp-grep --client claude
pip install mcp-grep
MCP-Grep 作为一个服务器运行,可以被兼容 MCP 的客户端使用:
# 启动 MCP-Grep 服务器
mcp-grep-server
# 或者使用 MCP Inspector 进行交互式调试和测试
mcp-grep-inspector
该服务器提供了以下 MCP 功能:
grep://info - 返回系统 grep 二进制文件的信息grep - 使用系统 grep 二进制文件在文件中搜索模式使用 MCP Python 客户端:
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 理解自然语言提示,使其更容易与大型语言模型(LLMs)结合使用。示例:
# 基本搜索
在 log.txt 中搜索 'error'
# 不区分大小写的搜索
在 system.log 中查找所有 'WARNING' 的实例,不考虑大小写
# 包含内容行
在 error.log 中搜索 'exception' 并显示每个匹配前后的 3 行
# 递归搜索
在 src 目录及其子目录中查找所有 'deprecated' 的出现
# 固定字符串搜索(非正则表达式)
在 config.js 中搜索确切字符串 '.*'
# 限制结果
只显示项目文件中 'TODO' 的前 5 次出现
# 多个选项
在所有 .php 文件中不区分大小写地查找 'password',显示 2 行内容,并限制到 10 个结果
MCP-Grep 包括 MCP Inspector 集成,用于交互式调试和测试:
# 启动带有 MCP-Grep 的 MCP Inspector
mcp-grep-inspector
这会打开一个基于 Web 的用户界面,在这里你可以:
# 克隆仓库
git clone https://github.com/erniebrodeur/mcp-grep.git
cd mcp-grep
# 安装开发模式
pip install -e ".[dev]"
# 运行测试
pytest
MIT