greply MCP Server
An MCP server that wraps the greply
CLI (Node wrapper for the greppy
search tool). This allows you to use greply
directly from an MCP-compatible client such as the Gemini CLI.
Features
greply.search
โ rungreply
with query, before/after context, and flags.greply.help
โ printgreply
usage text.
Requirements
- Node.js 20 or newer (22 LTS recommended)
npm
orpnpm
for dependency installationgreply
CLI available on PATH, or specifygreply_CMD
env var
Installation
Clone and install dependencies:
git clone https://github.com/your-org/greply-mcp-server.git
cd greply-mcp-server
# Make sure Node version is >= 20
node -v
# If needed:
# curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# source ~/.nvm/nvm.sh
# nvm install 22 && nvm use 22
npm install
Usage
Run the server directly:
node server.mjs
Or with npm
:
npm start
Gemini CLI Configuration
Add this to your ~/.gemini/settings.json
:
{
"mcpServers": {
"greply": {
"command": "node",
"args": ["/absolute/path/to/greply-mcp-server/server.mjs"],
"env": {
"greply_CMD": "/usr/local/bin/greppy"
}
}
}
}
greply_CMD
is optional โ only set it if the server cannot findgreply
automatically.- Use an absolute path for
server.mjs
.
Tools
greply.search
Search files or directories with the given query and optional flags.
Input schema:
Field | Type | Description |
---|---|---|
query |
string | Search term (required) |
target |
string | File or directory (default "." ) |
before |
integer | Lines of context before match (-B ) |
after |
integer | Lines of context after match (-A ) |
recursive |
boolean | Recurse directories (-R ) |
wholeWord |
boolean | Match whole words (-w ) |
matchCase |
boolean | Case-sensitive match (-c ) |
fixedStrings |
boolean | Fixed-string match (-F ) |
suppressErrors |
boolean | Return stdout/stderr on non-zero exit |
greply.help
Display greply
usage information.