Skip to content
Grok

OpenGrok MCP Server for Grok

io.github.icyhot09/opengrok-mcp-server

MCP server bridging OpenGrok search engine with AI for instant context across massive codebases.

client:Grok transport:stdio runtime:npm

Install OpenGrok MCP Server in Grok

.mcp.json (in your project root)

Held in this page only — never stored, logged, or sent anywhere but back to your screen.

{
  "mcpServers": {
    "opengrok-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "opengrok-mcp-server"
      ],
      "env": {
        "OPENGROK_BASE_URL": "<OPENGROK_BASE_URL>",
        "OPENGROK_USERNAME": "<OPENGROK_USERNAME>",
        "OPENGROK_PASSWORD": "<OPENGROK_PASSWORD>",
        "OPENGROK_VERIFY_SSL": "<OPENGROK_VERIFY_SSL>",
        "OPENGROK_CODE_MODE": "<OPENGROK_CODE_MODE>",
        "OPENGROK_ENABLE_MEMORY_TOOLS": "<OPENGROK_ENABLE_MEMORY_TOOLS>",
        "OPENGROK_DEFAULT_PROJECT": "<OPENGROK_DEFAULT_PROJECT>",
        "OPENGROK_CONTEXT_BUDGET": "<OPENGROK_CONTEXT_BUDGET>",
        "OPENGROK_API_VERSION": "<OPENGROK_API_VERSION>",
        "HTTP_PROXY": "<HTTP_PROXY>",
        "OPENGROK_RESPONSE_FORMAT_OVERRIDE": "<OPENGROK_RESPONSE_FORMAT_OVERRIDE>",
        "OPENGROK_MEMORY_BANK_DIR": "<OPENGROK_MEMORY_BANK_DIR>",
        "OPENGROK_LOCAL_COMPILE_DB_PATHS": "<OPENGROK_LOCAL_COMPILE_DB_PATHS>",
        "OPENGROK_ENABLE_ELICITATION": "<OPENGROK_ENABLE_ELICITATION>",
        "OPENGROK_ENABLE_SAMPLING": "<OPENGROK_ENABLE_SAMPLING>",
        "OPENGROK_SAMPLING_MODEL": "<OPENGROK_SAMPLING_MODEL>",
        "OPENGROK_ENABLE_FILES_API": "<OPENGROK_ENABLE_FILES_API>",
        "OPENGROK_ENABLE_OBSERVATION_MASKER": "<OPENGROK_ENABLE_OBSERVATION_MASKER>",
        "OPENGROK_OBSERVATION_MASKER_TURNS": "<OPENGROK_OBSERVATION_MASKER_TURNS>",
        "OPENGROK_SAMPLING_MAX_TOKENS": "<OPENGROK_SAMPLING_MAX_TOKENS>",
        "OPENGROK_AUDIT_LOG_FILE": "<OPENGROK_AUDIT_LOG_FILE>",
        "OPENGROK_RATELIMIT_RPM": "<OPENGROK_RATELIMIT_RPM>",
        "OPENGROK_PER_TOOL_RATELIMIT": "<OPENGROK_PER_TOOL_RATELIMIT>",
        "OPENGROK_TIMEOUT": "<OPENGROK_TIMEOUT>",
        "OPENGROK_DEFAULT_MAX_RESULTS": "<OPENGROK_DEFAULT_MAX_RESULTS>",
        "OPENGROK_PASSWORD_FILE": "<OPENGROK_PASSWORD_FILE>",
        "OPENGROK_MAX_RESPONSE_BYTES": "<OPENGROK_MAX_RESPONSE_BYTES>",
        "OPENGROK_SEARCH_AND_READ_CAP": "<OPENGROK_SEARCH_AND_READ_CAP>",
        "OPENGROK_STRICT_SSRF": "<OPENGROK_STRICT_SSRF>",
        "OPENGROK_JWT_ISSUER": "<OPENGROK_JWT_ISSUER>",
        "OPENGROK_GRAMMAR_DIR": "<OPENGROK_GRAMMAR_DIR>"
      }
    }
  }
}

Grok Build reads Claude Code's .mcp.json and Claude Desktop's config unchanged, so a server you have already set up there needs nothing new. The Grok web app and X integration do not take custom servers. Grok docs

OpenGrok MCP Server in other clients