PluginBench
MCP Server
Maintained

OpenGrok MCP Server MCP Server

io.github.IcyHot09/opengrok-mcp-server

What is the OpenGrok MCP Server MCP server?

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

How to install OpenGrok MCP Server

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • OPENGROK_BASE_URL
    required

    OpenGrok server base URL (e.g. https://opengrok.example.com/source/)

  • OPENGROK_USERNAME
    required

    OpenGrok authentication username

  • OPENGROK_PASSWORD
    secret

    OpenGrok authentication password. Prefer storing via OS keychain using 'npx opengrok-mcp-server setup'.

  • OPENGROK_VERIFY_SSL

    Verify TLS certificates. Set to false for self-signed or internal CA certs.

  • OPENGROK_CODE_MODE

    Enable Code Mode: 5-tool sandbox interface with env.opengrok.* JavaScript API. Saves 80-95% tokens on large codebases.

  • OPENGROK_DEFAULT_PROJECT

    Default project to scope all searches. Can be overridden per call.

  • OPENGROK_CONTEXT_BUDGET

    Response size tier controlling token usage.

  • OPENGROK_ENABLE_ELICITATION

    Enable interactive project picker at session start and env.opengrok.elicit() in Code Mode sandbox. Requires a supporting MCP client.

  • OPENGROK_SAMPLING_MODEL

    Model preference for MCP Sampling (used for error explanation and query reformulation).

Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "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_DEFAULT_PROJECT": "<YOUR_OPENGROK_DEFAULT_PROJECT>",
        "OPENGROK_CONTEXT_BUDGET": "<YOUR_OPENGROK_CONTEXT_BUDGET>",
        "OPENGROK_ENABLE_ELICITATION": "<YOUR_OPENGROK_ENABLE_ELICITATION>",
        "OPENGROK_SAMPLING_MODEL": "<YOUR_OPENGROK_SAMPLING_MODEL>"
      }
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "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_DEFAULT_PROJECT": "<YOUR_OPENGROK_DEFAULT_PROJECT>",
        "OPENGROK_CONTEXT_BUDGET": "<YOUR_OPENGROK_CONTEXT_BUDGET>",
        "OPENGROK_ENABLE_ELICITATION": "<YOUR_OPENGROK_ENABLE_ELICITATION>",
        "OPENGROK_SAMPLING_MODEL": "<YOUR_OPENGROK_SAMPLING_MODEL>"
      }
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "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_DEFAULT_PROJECT": "<YOUR_OPENGROK_DEFAULT_PROJECT>",
        "OPENGROK_CONTEXT_BUDGET": "<YOUR_OPENGROK_CONTEXT_BUDGET>",
        "OPENGROK_ENABLE_ELICITATION": "<YOUR_OPENGROK_ENABLE_ELICITATION>",
        "OPENGROK_SAMPLING_MODEL": "<YOUR_OPENGROK_SAMPLING_MODEL>"
      }
    }
  }
}
VS Code
.vscode/mcp.json
{
  "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_DEFAULT_PROJECT": "<YOUR_OPENGROK_DEFAULT_PROJECT>",
        "OPENGROK_CONTEXT_BUDGET": "<YOUR_OPENGROK_CONTEXT_BUDGET>",
        "OPENGROK_ENABLE_ELICITATION": "<YOUR_OPENGROK_ENABLE_ELICITATION>",
        "OPENGROK_SAMPLING_MODEL": "<YOUR_OPENGROK_SAMPLING_MODEL>"
      }
    }
  }
}
Claude Code
claude mcp add opengrok-mcp-server --env OPENGROK_BASE_URL=<YOUR_OPENGROK_BASE_URL> --env OPENGROK_USERNAME=<YOUR_OPENGROK_USERNAME> --env OPENGROK_PASSWORD=<YOUR_OPENGROK_PASSWORD> --env OPENGROK_VERIFY_SSL=<YOUR_OPENGROK_VERIFY_SSL> --env OPENGROK_CODE_MODE=<YOUR_OPENGROK_CODE_MODE> --env OPENGROK_DEFAULT_PROJECT=<YOUR_OPENGROK_DEFAULT_PROJECT> --env OPENGROK_CONTEXT_BUDGET=<YOUR_OPENGROK_CONTEXT_BUDGET> --env OPENGROK_ENABLE_ELICITATION=<YOUR_OPENGROK_ENABLE_ELICITATION> --env OPENGROK_SAMPLING_MODEL=<YOUR_OPENGROK_SAMPLING_MODEL> -- npx -y opengrok-mcp-server

Related MCP servers

Give your AI agent stealth web scraping with Cloudflare bypass and CSS selection, powered by Scrapling.

67k
Python
BSD-3-Clause
View repository →

Give your AI coding agent full control of a live Chrome browser for automation, debugging, and performance analysis.

45k
TypeScript
Apache-2.0
View repository →

Let AI agents manage your Puter files, websites, and serverless workers over MCP.

43k
TypeScript
AGPL-3.0
View repository →

Browser automation for AI agents via MCP, powering ByteDance's Agent TARS hybrid GUI/DOM browser control.

37k
TypeScript
Apache-2.0
View repository →

Run arbitrary shell commands from an MCP-connected AI agent.

37k
TypeScript
Apache-2.0
View repository →

Filesystem access MCP server from ByteDance's UI-TARS/Agent TARS ecosystem.

37k
TypeScript
Apache-2.0
View repository →