返回市场
MCP-过滤器

MCP-过滤器

作者:erniebrodeur20 星标更新:2025-04-09

项目介绍

MCP-Grep

smithery 徽章

一个通过模型上下文协议(MCP)提供grep功能的服务器实现。

安装

通过 Smithery 安装

要通过 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 二进制文件在文件中搜索模式

特性

  • 提供系统 grep 二进制文件的信息(路径、版本、支持的功能)
  • 使用正则表达式在文件中搜索模式
  • 支持常见的 grep 选项:
    • 不区分大小写的匹配
    • 匹配前后的内容行
    • 最大匹配数量
    • 固定字符串匹配(非正则表达式)
    • 递归目录搜索
  • 通过自然语言提示理解,便于与大型语言模型(LLMs)结合使用
  • 通过 MCP Inspector 进行交互式调试和测试

示例 API 使用

使用 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 Inspector 集成

MCP-Grep 包括 MCP Inspector 集成,用于交互式调试和测试:

# 启动带有 MCP-Grep 的 MCP Inspector
mcp-grep-inspector

这会打开一个基于 Web 的用户界面,在这里你可以:

  • 探索可用的资源和工具
  • 使用不同的参数测试 grep 操作
  • 查看格式化的结果
  • 调试你的 grep 查询问题

开发

# 克隆仓库
git clone https://github.com/erniebrodeur/mcp-grep.git
cd mcp-grep

# 安装开发模式
pip install -e ".[dev]"

# 运行测试
pytest

许可证

MIT