MCP server bridging OpenGrok search engine with AI for instant context across massive codebases.
To add OpenGrok MCP Server to Claude, run the install command below or copy the ready-made config for Claude Code, Claude Desktop, Cursor and VS Code further down. Restart your client after adding it and its tools show up in your next conversation. It needs 31 environment variables, listed below.
Install
npx -y opengrok-mcp-server@9.6.0Environment variables
OPENGROK_BASE_URLSet in your MCP configOPENGROK_USERNAMESet in your MCP configOPENGROK_PASSWORDSet in your MCP configOPENGROK_VERIFY_SSLSet in your MCP configOPENGROK_CODE_MODESet in your MCP configOPENGROK_ENABLE_MEMORY_TOOLSSet in your MCP configOPENGROK_DEFAULT_PROJECTSet in your MCP configOPENGROK_CONTEXT_BUDGETSet in your MCP configOPENGROK_API_VERSIONSet in your MCP configHTTP_PROXYSet in your MCP configOPENGROK_RESPONSE_FORMAT_OVERRIDESet in your MCP configOPENGROK_MEMORY_BANK_DIRSet in your MCP configOPENGROK_LOCAL_COMPILE_DB_PATHSSet in your MCP configOPENGROK_ENABLE_ELICITATIONSet in your MCP configOPENGROK_ENABLE_SAMPLINGSet in your MCP configOPENGROK_SAMPLING_MODELSet in your MCP configOPENGROK_ENABLE_FILES_APISet in your MCP configOPENGROK_ENABLE_OBSERVATION_MASKERSet in your MCP configOPENGROK_OBSERVATION_MASKER_TURNSSet in your MCP configOPENGROK_SAMPLING_MAX_TOKENSSet in your MCP configOPENGROK_AUDIT_LOG_FILESet in your MCP configOPENGROK_RATELIMIT_RPMSet in your MCP configOPENGROK_PER_TOOL_RATELIMITSet in your MCP configOPENGROK_TIMEOUTSet in your MCP configOPENGROK_DEFAULT_MAX_RESULTSSet in your MCP configOPENGROK_PASSWORD_FILESet in your MCP configOPENGROK_MAX_RESPONSE_BYTESSet in your MCP configOPENGROK_SEARCH_AND_READ_CAPSet in your MCP configOPENGROK_STRICT_SSRFSet in your MCP configOPENGROK_JWT_ISSUERSet in your MCP configOPENGROK_GRAMMAR_DIRSet in your MCP configInstall with your client
claude mcp add opengrok --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_ENABLE_MEMORY_TOOLS=<YOUR_OPENGROK_ENABLE_MEMORY_TOOLS> --env OPENGROK_DEFAULT_PROJECT=<YOUR_OPENGROK_DEFAULT_PROJECT> --env OPENGROK_CONTEXT_BUDGET=<YOUR_OPENGROK_CONTEXT_BUDGET> --env OPENGROK_API_VERSION=<YOUR_OPENGROK_API_VERSION> --env HTTP_PROXY=<YOUR_HTTP_PROXY> --env OPENGROK_RESPONSE_FORMAT_OVERRIDE=<YOUR_OPENGROK_RESPONSE_FORMAT_OVERRIDE> --env OPENGROK_MEMORY_BANK_DIR=<YOUR_OPENGROK_MEMORY_BANK_DIR> --env OPENGROK_LOCAL_COMPILE_DB_PATHS=<YOUR_OPENGROK_LOCAL_COMPILE_DB_PATHS> --env OPENGROK_ENABLE_ELICITATION=<YOUR_OPENGROK_ENABLE_ELICITATION> --env OPENGROK_ENABLE_SAMPLING=<YOUR_OPENGROK_ENABLE_SAMPLING> --env OPENGROK_SAMPLING_MODEL=<YOUR_OPENGROK_SAMPLING_MODEL> --env OPENGROK_ENABLE_FILES_API=<YOUR_OPENGROK_ENABLE_FILES_API> --env OPENGROK_ENABLE_OBSERVATION_MASKER=<YOUR_OPENGROK_ENABLE_OBSERVATION_MASKER> --env OPENGROK_OBSERVATION_MASKER_TURNS=<YOUR_OPENGROK_OBSERVATION_MASKER_TURNS> --env OPENGROK_SAMPLING_MAX_TOKENS=<YOUR_OPENGROK_SAMPLING_MAX_TOKENS> --env OPENGROK_AUDIT_LOG_FILE=<YOUR_OPENGROK_AUDIT_LOG_FILE> --env OPENGROK_RATELIMIT_RPM=<YOUR_OPENGROK_RATELIMIT_RPM> --env OPENGROK_PER_TOOL_RATELIMIT=<YOUR_OPENGROK_PER_TOOL_RATELIMIT> --env OPENGROK_TIMEOUT=<YOUR_OPENGROK_TIMEOUT> --env OPENGROK_DEFAULT_MAX_RESULTS=<YOUR_OPENGROK_DEFAULT_MAX_RESULTS> --env OPENGROK_PASSWORD_FILE=<YOUR_OPENGROK_PASSWORD_FILE> --env OPENGROK_MAX_RESPONSE_BYTES=<YOUR_OPENGROK_MAX_RESPONSE_BYTES> --env OPENGROK_SEARCH_AND_READ_CAP=<YOUR_OPENGROK_SEARCH_AND_READ_CAP> --env OPENGROK_STRICT_SSRF=<YOUR_OPENGROK_STRICT_SSRF> --env OPENGROK_JWT_ISSUER=<YOUR_OPENGROK_JWT_ISSUER> --env OPENGROK_GRAMMAR_DIR=<YOUR_OPENGROK_GRAMMAR_DIR> -- npx -y opengrok-mcp-server@9.6.0
Run this in a terminal to add the server to Claude Code.
What this does
OpenGrok MCP Server exposes a set of tools to Claude over the Model Context Protocol. After you add it to claude_desktop_config.json (snippet above) and restart Claude Desktop, those tools become callable inside any conversation.
Requirements
This server needs the following environment variables to be set before it can run:
OPENGROK_BASE_URL OPENGROK_USERNAME OPENGROK_PASSWORD OPENGROK_VERIFY_SSL OPENGROK_CODE_MODE OPENGROK_ENABLE_MEMORY_TOOLS OPENGROK_DEFAULT_PROJECT OPENGROK_CONTEXT_BUDGET OPENGROK_API_VERSION HTTP_PROXY OPENGROK_RESPONSE_FORMAT_OVERRIDE OPENGROK_MEMORY_BANK_DIR OPENGROK_LOCAL_COMPILE_DB_PATHS OPENGROK_ENABLE_ELICITATION OPENGROK_ENABLE_SAMPLING OPENGROK_SAMPLING_MODEL OPENGROK_ENABLE_FILES_API OPENGROK_ENABLE_OBSERVATION_MASKER OPENGROK_OBSERVATION_MASKER_TURNS OPENGROK_SAMPLING_MAX_TOKENS OPENGROK_AUDIT_LOG_FILE OPENGROK_RATELIMIT_RPM OPENGROK_PER_TOOL_RATELIMIT OPENGROK_TIMEOUT OPENGROK_DEFAULT_MAX_RESULTS OPENGROK_PASSWORD_FILE OPENGROK_MAX_RESPONSE_BYTES OPENGROK_SEARCH_AND_READ_CAP OPENGROK_STRICT_SSRF OPENGROK_JWT_ISSUER OPENGROK_GRAMMAR_DIR
Set these via the env object in your MCP config (see claude_desktop_config.json snippet above).
Frequently asked questions
How do I install OpenGrok MCP Server?
Run the Claude Code command in the install section to add OpenGrok MCP Server to Claude Code, or copy the ready-made config for your client from the install section on this page. Restart your client afterwards and the tools appear in your next conversation.
Which clients work with OpenGrok MCP Server?
This page carries setup and config for Claude Code, Claude Desktop, Cursor and VS Code. Any other MCP client that accepts a standard server config can connect to OpenGrok MCP Server as well.
Does OpenGrok MCP Server need an API key?
Yes. Before it can run, set these environment variables: OPENGROK_BASE_URL, OPENGROK_USERNAME, OPENGROK_PASSWORD, OPENGROK_VERIFY_SSL, OPENGROK_CODE_MODE, OPENGROK_ENABLE_MEMORY_TOOLS, OPENGROK_DEFAULT_PROJECT, OPENGROK_CONTEXT_BUDGET, OPENGROK_API_VERSION, HTTP_PROXY, OPENGROK_RESPONSE_FORMAT_OVERRIDE, OPENGROK_MEMORY_BANK_DIR, OPENGROK_LOCAL_COMPILE_DB_PATHS, OPENGROK_ENABLE_ELICITATION, OPENGROK_ENABLE_SAMPLING, OPENGROK_SAMPLING_MODEL, OPENGROK_ENABLE_FILES_API, OPENGROK_ENABLE_OBSERVATION_MASKER, OPENGROK_OBSERVATION_MASKER_TURNS, OPENGROK_SAMPLING_MAX_TOKENS, OPENGROK_AUDIT_LOG_FILE, OPENGROK_RATELIMIT_RPM, OPENGROK_PER_TOOL_RATELIMIT, OPENGROK_TIMEOUT, OPENGROK_DEFAULT_MAX_RESULTS, OPENGROK_PASSWORD_FILE, OPENGROK_MAX_RESPONSE_BYTES, OPENGROK_SEARCH_AND_READ_CAP, OPENGROK_STRICT_SSRF, OPENGROK_JWT_ISSUER, OPENGROK_GRAMMAR_DIR. They go in the env block of your MCP config.
Imported from the Official MCP Registry. The details above come from the registry entry; the maker can claim this listing to correct them, add docs, and see its traffic.
Is this your MCP server?
Claim this listing to see its traffic, fix details yourself, and skip the review queue on future updates.
Add this badge to your README
Show visitors this server is listed in the ClaudeRules directory. The badge links straight to this listing.
[](https://clauderules.net/mcp/io-github-icyhot09-opengrok-mcp-server)<a href="https://clauderules.net/mcp/io-github-icyhot09-opengrok-mcp-server" target="_blank" rel="noopener noreferrer"><img src="https://clauderules.net/api/badge/io-github-icyhot09-opengrok-mcp-server" alt="Listed on clauderules.net" /></a>More Search MCP servers
GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Serena MCP: the IDE for your agent
A powerful toolkit for coding, providing semantic retrieval and editing capabilities.
mediar-ai/screenpipe
🎖️ 🦀 🏠 🍎 Local-first system capturing screen/audio with timestamped indexing, SQL/embedding storage, semantic search, LLM-powered history analysis, and event-triggered actions - enables building c
MCP Toolbox for Databases
MCP Toolbox for Databases enables your agent to connect to your database.
