OpenGrok MCP Server
Rank #7,502io.github.IcyHot09/opengrok-mcp-server
MCP server bridging OpenGrok search engine with AI for instant context across massive codebases.
OpenGrok MCP Server is a Model Context Protocol (MCP) server published by IcyHot09. It ranks #7,502 of 132,046 servers tracked on MCP Toplist, and its repository has 7 GitHub stars. OpenGrok MCP Server is listed across 3 registries — Official MCP, Glama and mcp.so, with 6 tracked versions. It was first listed on Mar 14, 2026 and most recently updated on Sep 16, 2026.
Ranks ahead of 124,544 of 132,046 servers on MCP Toplist.
Use OpenGrok MCP Server
No credentials or required configuration declared — add it to your MCP client and go.
claude mcp add opengrok-mcp-server -e "OPENGROK_BASE_URL=<your OPENGROK_BASE_URL>" -e "OPENGROK_USERNAME=<your OPENGROK_USERNAME>" -e "OPENGROK_PASSWORD=<your OPENGROK_PASSWORD>" -e "OPENGROK_VERIFY_SSL=<your OPENGROK_VERIFY_SSL>" -e "OPENGROK_CODE_MODE=<your OPENGROK_CODE_MODE>" -e "OPENGROK_ENABLE_MEMORY_TOOLS=<your OPENGROK_ENABLE_MEMORY_TOOLS>" -e "OPENGROK_DEFAULT_PROJECT=<your OPENGROK_DEFAULT_PROJECT>" -e "OPENGROK_CONTEXT_BUDGET=<your OPENGROK_CONTEXT_BUDGET>" -e "OPENGROK_API_VERSION=<your OPENGROK_API_VERSION>" -e "HTTP_PROXY=<your HTTP_PROXY>" -e "OPENGROK_RESPONSE_FORMAT_OVERRIDE=<your OPENGROK_RESPONSE_FORMAT_OVERRIDE>" -e "OPENGROK_MEMORY_BANK_DIR=<your OPENGROK_MEMORY_BANK_DIR>" -e "OPENGROK_LOCAL_COMPILE_DB_PATHS=<your OPENGROK_LOCAL_COMPILE_DB_PATHS>" -e "OPENGROK_ENABLE_ELICITATION=<your OPENGROK_ENABLE_ELICITATION>" -e "OPENGROK_ENABLE_SAMPLING=<your OPENGROK_ENABLE_SAMPLING>" -e "OPENGROK_SAMPLING_MODEL=<your OPENGROK_SAMPLING_MODEL>" -e "OPENGROK_ENABLE_FILES_API=<your OPENGROK_ENABLE_FILES_API>" -e "OPENGROK_ENABLE_OBSERVATION_MASKER=<your OPENGROK_ENABLE_OBSERVATION_MASKER>" -e "OPENGROK_OBSERVATION_MASKER_TURNS=<your OPENGROK_OBSERVATION_MASKER_TURNS>" -e "OPENGROK_SAMPLING_MAX_TOKENS=<your OPENGROK_SAMPLING_MAX_TOKENS>" -e "OPENGROK_AUDIT_LOG_FILE=<your OPENGROK_AUDIT_LOG_FILE>" -e "OPENGROK_RATELIMIT_RPM=<your OPENGROK_RATELIMIT_RPM>" -e "OPENGROK_PER_TOOL_RATELIMIT=<your OPENGROK_PER_TOOL_RATELIMIT>" -e "OPENGROK_TIMEOUT=<your OPENGROK_TIMEOUT>" -e "OPENGROK_DEFAULT_MAX_RESULTS=<your OPENGROK_DEFAULT_MAX_RESULTS>" -e "OPENGROK_PASSWORD_FILE=<your OPENGROK_PASSWORD_FILE>" -e "OPENGROK_MAX_RESPONSE_BYTES=<your OPENGROK_MAX_RESPONSE_BYTES>" -e "OPENGROK_SEARCH_AND_READ_CAP=<your OPENGROK_SEARCH_AND_READ_CAP>" -e "OPENGROK_STRICT_SSRF=<your OPENGROK_STRICT_SSRF>" -e "OPENGROK_JWT_ISSUER=<your OPENGROK_JWT_ISSUER>" -e "OPENGROK_GRAMMAR_DIR=<your OPENGROK_GRAMMAR_DIR>" -- npx -y opengrok-mcp-serverReplace each placeholder with your own value before saving.
[mcp_servers.opengrok-mcp-server]
command = "npx"
args = ["-y", "opengrok-mcp-server"]
[mcp_servers.opengrok-mcp-server.env]
OPENGROK_BASE_URL = "<your OPENGROK_BASE_URL>"
OPENGROK_USERNAME = "<your OPENGROK_USERNAME>"
OPENGROK_PASSWORD = "<your OPENGROK_PASSWORD>"
OPENGROK_VERIFY_SSL = "<your OPENGROK_VERIFY_SSL>"
OPENGROK_CODE_MODE = "<your OPENGROK_CODE_MODE>"
OPENGROK_ENABLE_MEMORY_TOOLS = "<your OPENGROK_ENABLE_MEMORY_TOOLS>"
OPENGROK_DEFAULT_PROJECT = "<your OPENGROK_DEFAULT_PROJECT>"
OPENGROK_CONTEXT_BUDGET = "<your OPENGROK_CONTEXT_BUDGET>"
OPENGROK_API_VERSION = "<your OPENGROK_API_VERSION>"
HTTP_PROXY = "<your HTTP_PROXY>"
OPENGROK_RESPONSE_FORMAT_OVERRIDE = "<your OPENGROK_RESPONSE_FORMAT_OVERRIDE>"
OPENGROK_MEMORY_BANK_DIR = "<your OPENGROK_MEMORY_BANK_DIR>"
OPENGROK_LOCAL_COMPILE_DB_PATHS = "<your OPENGROK_LOCAL_COMPILE_DB_PATHS>"
OPENGROK_ENABLE_ELICITATION = "<your OPENGROK_ENABLE_ELICITATION>"
OPENGROK_ENABLE_SAMPLING = "<your OPENGROK_ENABLE_SAMPLING>"
OPENGROK_SAMPLING_MODEL = "<your OPENGROK_SAMPLING_MODEL>"
OPENGROK_ENABLE_FILES_API = "<your OPENGROK_ENABLE_FILES_API>"
OPENGROK_ENABLE_OBSERVATION_MASKER = "<your OPENGROK_ENABLE_OBSERVATION_MASKER>"
OPENGROK_OBSERVATION_MASKER_TURNS = "<your OPENGROK_OBSERVATION_MASKER_TURNS>"
OPENGROK_SAMPLING_MAX_TOKENS = "<your OPENGROK_SAMPLING_MAX_TOKENS>"
OPENGROK_AUDIT_LOG_FILE = "<your OPENGROK_AUDIT_LOG_FILE>"
OPENGROK_RATELIMIT_RPM = "<your OPENGROK_RATELIMIT_RPM>"
OPENGROK_PER_TOOL_RATELIMIT = "<your OPENGROK_PER_TOOL_RATELIMIT>"
OPENGROK_TIMEOUT = "<your OPENGROK_TIMEOUT>"
OPENGROK_DEFAULT_MAX_RESULTS = "<your OPENGROK_DEFAULT_MAX_RESULTS>"
OPENGROK_PASSWORD_FILE = "<your OPENGROK_PASSWORD_FILE>"
OPENGROK_MAX_RESPONSE_BYTES = "<your OPENGROK_MAX_RESPONSE_BYTES>"
OPENGROK_SEARCH_AND_READ_CAP = "<your OPENGROK_SEARCH_AND_READ_CAP>"
OPENGROK_STRICT_SSRF = "<your OPENGROK_STRICT_SSRF>"
OPENGROK_JWT_ISSUER = "<your OPENGROK_JWT_ISSUER>"
OPENGROK_GRAMMAR_DIR = "<your OPENGROK_GRAMMAR_DIR>"Add to ~/.codex/config.toml. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"opengrok-mcp-server": {
"command": "npx",
"args": [
"-y",
"opengrok-mcp-server"
],
"env": {
"OPENGROK_BASE_URL": "<your OPENGROK_BASE_URL>",
"OPENGROK_USERNAME": "<your OPENGROK_USERNAME>",
"OPENGROK_PASSWORD": "<your OPENGROK_PASSWORD>",
"OPENGROK_VERIFY_SSL": "<your OPENGROK_VERIFY_SSL>",
"OPENGROK_CODE_MODE": "<your OPENGROK_CODE_MODE>",
"OPENGROK_ENABLE_MEMORY_TOOLS": "<your OPENGROK_ENABLE_MEMORY_TOOLS>",
"OPENGROK_DEFAULT_PROJECT": "<your OPENGROK_DEFAULT_PROJECT>",
"OPENGROK_CONTEXT_BUDGET": "<your OPENGROK_CONTEXT_BUDGET>",
"OPENGROK_API_VERSION": "<your OPENGROK_API_VERSION>",
"HTTP_PROXY": "<your HTTP_PROXY>",
"OPENGROK_RESPONSE_FORMAT_OVERRIDE": "<your OPENGROK_RESPONSE_FORMAT_OVERRIDE>",
"OPENGROK_MEMORY_BANK_DIR": "<your OPENGROK_MEMORY_BANK_DIR>",
"OPENGROK_LOCAL_COMPILE_DB_PATHS": "<your OPENGROK_LOCAL_COMPILE_DB_PATHS>",
"OPENGROK_ENABLE_ELICITATION": "<your OPENGROK_ENABLE_ELICITATION>",
"OPENGROK_ENABLE_SAMPLING": "<your OPENGROK_ENABLE_SAMPLING>",
"OPENGROK_SAMPLING_MODEL": "<your OPENGROK_SAMPLING_MODEL>",
"OPENGROK_ENABLE_FILES_API": "<your OPENGROK_ENABLE_FILES_API>",
"OPENGROK_ENABLE_OBSERVATION_MASKER": "<your OPENGROK_ENABLE_OBSERVATION_MASKER>",
"OPENGROK_OBSERVATION_MASKER_TURNS": "<your OPENGROK_OBSERVATION_MASKER_TURNS>",
"OPENGROK_SAMPLING_MAX_TOKENS": "<your OPENGROK_SAMPLING_MAX_TOKENS>",
"OPENGROK_AUDIT_LOG_FILE": "<your OPENGROK_AUDIT_LOG_FILE>",
"OPENGROK_RATELIMIT_RPM": "<your OPENGROK_RATELIMIT_RPM>",
"OPENGROK_PER_TOOL_RATELIMIT": "<your OPENGROK_PER_TOOL_RATELIMIT>",
"OPENGROK_TIMEOUT": "<your OPENGROK_TIMEOUT>",
"OPENGROK_DEFAULT_MAX_RESULTS": "<your OPENGROK_DEFAULT_MAX_RESULTS>",
"OPENGROK_PASSWORD_FILE": "<your OPENGROK_PASSWORD_FILE>",
"OPENGROK_MAX_RESPONSE_BYTES": "<your OPENGROK_MAX_RESPONSE_BYTES>",
"OPENGROK_SEARCH_AND_READ_CAP": "<your OPENGROK_SEARCH_AND_READ_CAP>",
"OPENGROK_STRICT_SSRF": "<your OPENGROK_STRICT_SSRF>",
"OPENGROK_JWT_ISSUER": "<your OPENGROK_JWT_ISSUER>",
"OPENGROK_GRAMMAR_DIR": "<your OPENGROK_GRAMMAR_DIR>"
}
}
}
}Add to claude_desktop_config.json (Settings → Developer → Edit Config). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"opengrok-mcp-server": {
"command": "npx",
"args": [
"-y",
"opengrok-mcp-server"
],
"env": {
"OPENGROK_BASE_URL": "<your OPENGROK_BASE_URL>",
"OPENGROK_USERNAME": "<your OPENGROK_USERNAME>",
"OPENGROK_PASSWORD": "<your OPENGROK_PASSWORD>",
"OPENGROK_VERIFY_SSL": "<your OPENGROK_VERIFY_SSL>",
"OPENGROK_CODE_MODE": "<your OPENGROK_CODE_MODE>",
"OPENGROK_ENABLE_MEMORY_TOOLS": "<your OPENGROK_ENABLE_MEMORY_TOOLS>",
"OPENGROK_DEFAULT_PROJECT": "<your OPENGROK_DEFAULT_PROJECT>",
"OPENGROK_CONTEXT_BUDGET": "<your OPENGROK_CONTEXT_BUDGET>",
"OPENGROK_API_VERSION": "<your OPENGROK_API_VERSION>",
"HTTP_PROXY": "<your HTTP_PROXY>",
"OPENGROK_RESPONSE_FORMAT_OVERRIDE": "<your OPENGROK_RESPONSE_FORMAT_OVERRIDE>",
"OPENGROK_MEMORY_BANK_DIR": "<your OPENGROK_MEMORY_BANK_DIR>",
"OPENGROK_LOCAL_COMPILE_DB_PATHS": "<your OPENGROK_LOCAL_COMPILE_DB_PATHS>",
"OPENGROK_ENABLE_ELICITATION": "<your OPENGROK_ENABLE_ELICITATION>",
"OPENGROK_ENABLE_SAMPLING": "<your OPENGROK_ENABLE_SAMPLING>",
"OPENGROK_SAMPLING_MODEL": "<your OPENGROK_SAMPLING_MODEL>",
"OPENGROK_ENABLE_FILES_API": "<your OPENGROK_ENABLE_FILES_API>",
"OPENGROK_ENABLE_OBSERVATION_MASKER": "<your OPENGROK_ENABLE_OBSERVATION_MASKER>",
"OPENGROK_OBSERVATION_MASKER_TURNS": "<your OPENGROK_OBSERVATION_MASKER_TURNS>",
"OPENGROK_SAMPLING_MAX_TOKENS": "<your OPENGROK_SAMPLING_MAX_TOKENS>",
"OPENGROK_AUDIT_LOG_FILE": "<your OPENGROK_AUDIT_LOG_FILE>",
"OPENGROK_RATELIMIT_RPM": "<your OPENGROK_RATELIMIT_RPM>",
"OPENGROK_PER_TOOL_RATELIMIT": "<your OPENGROK_PER_TOOL_RATELIMIT>",
"OPENGROK_TIMEOUT": "<your OPENGROK_TIMEOUT>",
"OPENGROK_DEFAULT_MAX_RESULTS": "<your OPENGROK_DEFAULT_MAX_RESULTS>",
"OPENGROK_PASSWORD_FILE": "<your OPENGROK_PASSWORD_FILE>",
"OPENGROK_MAX_RESPONSE_BYTES": "<your OPENGROK_MAX_RESPONSE_BYTES>",
"OPENGROK_SEARCH_AND_READ_CAP": "<your OPENGROK_SEARCH_AND_READ_CAP>",
"OPENGROK_STRICT_SSRF": "<your OPENGROK_STRICT_SSRF>",
"OPENGROK_JWT_ISSUER": "<your OPENGROK_JWT_ISSUER>",
"OPENGROK_GRAMMAR_DIR": "<your OPENGROK_GRAMMAR_DIR>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project). Replace each placeholder with your own value before saving.
{
"servers": {
"opengrok-mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"opengrok-mcp-server"
],
"env": {
"OPENGROK_BASE_URL": "<your OPENGROK_BASE_URL>",
"OPENGROK_USERNAME": "<your OPENGROK_USERNAME>",
"OPENGROK_PASSWORD": "<your OPENGROK_PASSWORD>",
"OPENGROK_VERIFY_SSL": "<your OPENGROK_VERIFY_SSL>",
"OPENGROK_CODE_MODE": "<your OPENGROK_CODE_MODE>",
"OPENGROK_ENABLE_MEMORY_TOOLS": "<your OPENGROK_ENABLE_MEMORY_TOOLS>",
"OPENGROK_DEFAULT_PROJECT": "<your OPENGROK_DEFAULT_PROJECT>",
"OPENGROK_CONTEXT_BUDGET": "<your OPENGROK_CONTEXT_BUDGET>",
"OPENGROK_API_VERSION": "<your OPENGROK_API_VERSION>",
"HTTP_PROXY": "<your HTTP_PROXY>",
"OPENGROK_RESPONSE_FORMAT_OVERRIDE": "<your OPENGROK_RESPONSE_FORMAT_OVERRIDE>",
"OPENGROK_MEMORY_BANK_DIR": "<your OPENGROK_MEMORY_BANK_DIR>",
"OPENGROK_LOCAL_COMPILE_DB_PATHS": "<your OPENGROK_LOCAL_COMPILE_DB_PATHS>",
"OPENGROK_ENABLE_ELICITATION": "<your OPENGROK_ENABLE_ELICITATION>",
"OPENGROK_ENABLE_SAMPLING": "<your OPENGROK_ENABLE_SAMPLING>",
"OPENGROK_SAMPLING_MODEL": "<your OPENGROK_SAMPLING_MODEL>",
"OPENGROK_ENABLE_FILES_API": "<your OPENGROK_ENABLE_FILES_API>",
"OPENGROK_ENABLE_OBSERVATION_MASKER": "<your OPENGROK_ENABLE_OBSERVATION_MASKER>",
"OPENGROK_OBSERVATION_MASKER_TURNS": "<your OPENGROK_OBSERVATION_MASKER_TURNS>",
"OPENGROK_SAMPLING_MAX_TOKENS": "<your OPENGROK_SAMPLING_MAX_TOKENS>",
"OPENGROK_AUDIT_LOG_FILE": "<your OPENGROK_AUDIT_LOG_FILE>",
"OPENGROK_RATELIMIT_RPM": "<your OPENGROK_RATELIMIT_RPM>",
"OPENGROK_PER_TOOL_RATELIMIT": "<your OPENGROK_PER_TOOL_RATELIMIT>",
"OPENGROK_TIMEOUT": "<your OPENGROK_TIMEOUT>",
"OPENGROK_DEFAULT_MAX_RESULTS": "<your OPENGROK_DEFAULT_MAX_RESULTS>",
"OPENGROK_PASSWORD_FILE": "<your OPENGROK_PASSWORD_FILE>",
"OPENGROK_MAX_RESPONSE_BYTES": "<your OPENGROK_MAX_RESPONSE_BYTES>",
"OPENGROK_SEARCH_AND_READ_CAP": "<your OPENGROK_SEARCH_AND_READ_CAP>",
"OPENGROK_STRICT_SSRF": "<your OPENGROK_STRICT_SSRF>",
"OPENGROK_JWT_ISSUER": "<your OPENGROK_JWT_ISSUER>",
"OPENGROK_GRAMMAR_DIR": "<your OPENGROK_GRAMMAR_DIR>"
}
}
}
}Save as .vscode/mcp.json in your workspace. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"opengrok-mcp-server": {
"command": "npx",
"args": [
"-y",
"opengrok-mcp-server"
],
"env": {
"OPENGROK_BASE_URL": "<your OPENGROK_BASE_URL>",
"OPENGROK_USERNAME": "<your OPENGROK_USERNAME>",
"OPENGROK_PASSWORD": "<your OPENGROK_PASSWORD>",
"OPENGROK_VERIFY_SSL": "<your OPENGROK_VERIFY_SSL>",
"OPENGROK_CODE_MODE": "<your OPENGROK_CODE_MODE>",
"OPENGROK_ENABLE_MEMORY_TOOLS": "<your OPENGROK_ENABLE_MEMORY_TOOLS>",
"OPENGROK_DEFAULT_PROJECT": "<your OPENGROK_DEFAULT_PROJECT>",
"OPENGROK_CONTEXT_BUDGET": "<your OPENGROK_CONTEXT_BUDGET>",
"OPENGROK_API_VERSION": "<your OPENGROK_API_VERSION>",
"HTTP_PROXY": "<your HTTP_PROXY>",
"OPENGROK_RESPONSE_FORMAT_OVERRIDE": "<your OPENGROK_RESPONSE_FORMAT_OVERRIDE>",
"OPENGROK_MEMORY_BANK_DIR": "<your OPENGROK_MEMORY_BANK_DIR>",
"OPENGROK_LOCAL_COMPILE_DB_PATHS": "<your OPENGROK_LOCAL_COMPILE_DB_PATHS>",
"OPENGROK_ENABLE_ELICITATION": "<your OPENGROK_ENABLE_ELICITATION>",
"OPENGROK_ENABLE_SAMPLING": "<your OPENGROK_ENABLE_SAMPLING>",
"OPENGROK_SAMPLING_MODEL": "<your OPENGROK_SAMPLING_MODEL>",
"OPENGROK_ENABLE_FILES_API": "<your OPENGROK_ENABLE_FILES_API>",
"OPENGROK_ENABLE_OBSERVATION_MASKER": "<your OPENGROK_ENABLE_OBSERVATION_MASKER>",
"OPENGROK_OBSERVATION_MASKER_TURNS": "<your OPENGROK_OBSERVATION_MASKER_TURNS>",
"OPENGROK_SAMPLING_MAX_TOKENS": "<your OPENGROK_SAMPLING_MAX_TOKENS>",
"OPENGROK_AUDIT_LOG_FILE": "<your OPENGROK_AUDIT_LOG_FILE>",
"OPENGROK_RATELIMIT_RPM": "<your OPENGROK_RATELIMIT_RPM>",
"OPENGROK_PER_TOOL_RATELIMIT": "<your OPENGROK_PER_TOOL_RATELIMIT>",
"OPENGROK_TIMEOUT": "<your OPENGROK_TIMEOUT>",
"OPENGROK_DEFAULT_MAX_RESULTS": "<your OPENGROK_DEFAULT_MAX_RESULTS>",
"OPENGROK_PASSWORD_FILE": "<your OPENGROK_PASSWORD_FILE>",
"OPENGROK_MAX_RESPONSE_BYTES": "<your OPENGROK_MAX_RESPONSE_BYTES>",
"OPENGROK_SEARCH_AND_READ_CAP": "<your OPENGROK_SEARCH_AND_READ_CAP>",
"OPENGROK_STRICT_SSRF": "<your OPENGROK_STRICT_SSRF>",
"OPENGROK_JWT_ISSUER": "<your OPENGROK_JWT_ISSUER>",
"OPENGROK_GRAMMAR_DIR": "<your OPENGROK_GRAMMAR_DIR>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"opengrok-mcp-server": {
"command": "npx",
"args": [
"-y",
"opengrok-mcp-server"
],
"env": {
"OPENGROK_BASE_URL": "<your OPENGROK_BASE_URL>",
"OPENGROK_USERNAME": "<your OPENGROK_USERNAME>",
"OPENGROK_PASSWORD": "<your OPENGROK_PASSWORD>",
"OPENGROK_VERIFY_SSL": "<your OPENGROK_VERIFY_SSL>",
"OPENGROK_CODE_MODE": "<your OPENGROK_CODE_MODE>",
"OPENGROK_ENABLE_MEMORY_TOOLS": "<your OPENGROK_ENABLE_MEMORY_TOOLS>",
"OPENGROK_DEFAULT_PROJECT": "<your OPENGROK_DEFAULT_PROJECT>",
"OPENGROK_CONTEXT_BUDGET": "<your OPENGROK_CONTEXT_BUDGET>",
"OPENGROK_API_VERSION": "<your OPENGROK_API_VERSION>",
"HTTP_PROXY": "<your HTTP_PROXY>",
"OPENGROK_RESPONSE_FORMAT_OVERRIDE": "<your OPENGROK_RESPONSE_FORMAT_OVERRIDE>",
"OPENGROK_MEMORY_BANK_DIR": "<your OPENGROK_MEMORY_BANK_DIR>",
"OPENGROK_LOCAL_COMPILE_DB_PATHS": "<your OPENGROK_LOCAL_COMPILE_DB_PATHS>",
"OPENGROK_ENABLE_ELICITATION": "<your OPENGROK_ENABLE_ELICITATION>",
"OPENGROK_ENABLE_SAMPLING": "<your OPENGROK_ENABLE_SAMPLING>",
"OPENGROK_SAMPLING_MODEL": "<your OPENGROK_SAMPLING_MODEL>",
"OPENGROK_ENABLE_FILES_API": "<your OPENGROK_ENABLE_FILES_API>",
"OPENGROK_ENABLE_OBSERVATION_MASKER": "<your OPENGROK_ENABLE_OBSERVATION_MASKER>",
"OPENGROK_OBSERVATION_MASKER_TURNS": "<your OPENGROK_OBSERVATION_MASKER_TURNS>",
"OPENGROK_SAMPLING_MAX_TOKENS": "<your OPENGROK_SAMPLING_MAX_TOKENS>",
"OPENGROK_AUDIT_LOG_FILE": "<your OPENGROK_AUDIT_LOG_FILE>",
"OPENGROK_RATELIMIT_RPM": "<your OPENGROK_RATELIMIT_RPM>",
"OPENGROK_PER_TOOL_RATELIMIT": "<your OPENGROK_PER_TOOL_RATELIMIT>",
"OPENGROK_TIMEOUT": "<your OPENGROK_TIMEOUT>",
"OPENGROK_DEFAULT_MAX_RESULTS": "<your OPENGROK_DEFAULT_MAX_RESULTS>",
"OPENGROK_PASSWORD_FILE": "<your OPENGROK_PASSWORD_FILE>",
"OPENGROK_MAX_RESPONSE_BYTES": "<your OPENGROK_MAX_RESPONSE_BYTES>",
"OPENGROK_SEARCH_AND_READ_CAP": "<your OPENGROK_SEARCH_AND_READ_CAP>",
"OPENGROK_STRICT_SSRF": "<your OPENGROK_STRICT_SSRF>",
"OPENGROK_JWT_ISSUER": "<your OPENGROK_JWT_ISSUER>",
"OPENGROK_GRAMMAR_DIR": "<your OPENGROK_GRAMMAR_DIR>"
}
}
}
}Replace each placeholder with your own value before saving.
Show your rank
Maintain this server? Add the live rank badge to your README — it updates automatically as the leaderboard changes.
[](https://mcptoplist.com/server/io.github.IcyHot09%2Fopengrok-mcp-server)<a href="https://mcptoplist.com/server/io.github.IcyHot09%2Fopengrok-mcp-server"><img src="https://mcptoplist.com/badge/io.github.IcyHot09%2Fopengrok-mcp-server.svg" alt="MCP Toplist: Top 10% of 132,046" /></a>Variants: append ?metric=score or ?metric=stars to the image URL.
Listed on 4 registries
IcyHot09
Available versions (6)
| Version | Published |
|---|---|
| 9.6.0 | Sep 16, 2026 |
| 9.0.1 | Mar 31, 2026 |
| 4.0.0 | Mar 15, 2026 |
| 3.3.5 | Mar 15, 2026 |
| 3.3.4 | Mar 14, 2026 |
| 0.1.0 | Nov 25, 2024 |
Frequently asked questions
- Who maintains OpenGrok MCP Server?
- OpenGrok MCP Server is maintained by IcyHot09, which publishes 1 MCP server (6 total versions) tracked on MCP Toplist.
- Is OpenGrok MCP Server listed on the Official MCP Registry?
- Yes — OpenGrok MCP Server is listed on the Official MCP Registry, alongside Glama and mcp.so.
- How many versions does OpenGrok MCP Server have?
- MCP Toplist tracks 6 versions of OpenGrok MCP Server, most recently published on Sep 16, 2026.
- Where can I find the source code for OpenGrok MCP Server?
- The source code for OpenGrok MCP Server is hosted at github.com/IcyHot09/opengrok-mcp-server.
Do you run this server?
Community projects list the MCP servers behind real agents and apps. Publish yours and this page will link to it.