OpenGrok MCP Server
Local package path declaredNo credentials listedRepository declared by sourceUpdated 2026-09-16
io.github.IcyHot09/opengrok-mcp-server · Registry status: active
At a glance
MCP server bridging OpenGrok search engine with AI for instant context across massive codebases.
Vendor's own description, untranslated and unverified
- Execution location
- Local package path declaredMCP-Register · 2026-08-06
- Required secrets declared
- No credentials listedMCP-Register · 2026-08-06
- Declared version and change
9.6.0· Source-reported change date 2026-09-16MCP-Register · 2026-09-17- Repository as declared
- github.com/IcyHot09/opengrok-mcp-serverMCP-Register · 2026-08-06
- Configuration
- can be built from the disclosed start template
Inspect connection paths and prerequisites
Related categories
- MCP servers without declared required secrets36,126
- Locally executed MCP servers17,143
- MCP servers with a repository URL30,309
- Local MCP servers without declared required secrets13,303
- Local MCP servers with a repository URL16,232
- MCP servers over stdio only13,770
6 of 12 categories. All categories in the segment catalogue
What this entry shares with others
Same package, another registry entry
Same repository
Page last changed:
Sources and collection
- Runs
- Local package path declared
- Credentials
- No credentials listed
- Registry record changed
- 2026-09-16
- Setup
- Template available
- Registry name
io.github.IcyHot09/opengrok-mcp-server- Package coordinate
npm:opengrok-mcp-server- Declared version
9.6.0- Source-reported listing date
- 2026-09-16
- Source-reported change date
- 2026-09-16
- First seen by tracevero
- 2026-08-06
- Vendor's website
- https://github.com/IcyHot09/opengrok-mcp-server
Evidence for this page: The values on this page come from several collections. Each row therefore states its own origin. What the confidence levels mean
Measured values
| Required secrets declared | No credentials listed no Original data – Required secret variables (raw): confirmed absent Original data – Required secret headers (raw): confirmed absent Source: MCP-Register · collected on 2026-08-06 · derived |
|---|---|
| Execution location | Local package path declared local Original data – Transports (raw): stdio Source: MCP-Register · collected on 2026-08-06 · derived |
| Path argument present | no Original data – Path arguments (raw): confirmed absent Original data – Path environment variables (raw): confirmed absent Source: MCP-Register · collected on 2026-08-06 · derived |
| Repository URL listed | Repository declared by source yes Original data – Repository (raw): https://github.com/IcyHot09/opengrok-mcp-server Source: MCP-Register · collected on 2026-08-06 · derived |
| Declared version | 9.6.0 Source: MCP-Register · collected on 2026-09-17 · self-declared |
What is measured is what a manifest declares, not what a piece of software does. This registry fetches no repository URL, no endpoint and no package index; nothing here is verified. Which value comes from which source, and by which rule it was formed, is set out in the Methodology.
Source data25
Evidence for this page: The values on this page come from several collections. Each row therefore states its own origin.
| Description (raw) | MCP server bridging OpenGrok search engine with AI for instant context across massive codebases. Source: MCP-Register · collected on 2026-08-26 · self-declared |
|---|---|
| Environment variables (raw) | 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 Source: MCP-Register · collected on 2026-09-17 · self-declared |
| Required secret variables (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-06 · self-declared |
| Transports (raw) | stdio Source: MCP-Register · collected on 2026-08-06 · self-declared |
| Path arguments (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-06 · self-declared |
| Repository (raw) | https://github.com/IcyHot09/opengrok-mcp-server Source: MCP-Register · collected on 2026-08-06 · self-declared |
| Package registries (raw) | npm Source: MCP-Register · collected on 2026-08-06 · self-declared |
| Required secret headers (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Path environment variables (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Remote URLs (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Remote hosts (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Registry status message (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| First listed in the registry (raw) | 2026-09-16 Source: MCP-Register · collected on 2026-09-17 · self-declared |
| Last changed in the registry (raw) | 2026-09-16 Source: MCP-Register · collected on 2026-09-17 · self-declared |
| Schema version of the raw record (raw) | https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Delivery form (raw) | package Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Repository platform (raw) | github Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Repository subfolder (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Package identifiers (raw) | opengrok-mcp-server Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Package versions (raw) | 9.6.0 Source: MCP-Register · collected on 2026-09-17 · self-declared |
| Runtime hints (raw) | npx Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Environment variable formats (raw) | boolean, string Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Environment variable descriptions (raw) | HTTP_PROXY=HTTP/HTTPS proxy URL for all OpenGrok API requests (e.g. http://proxy.company.com:8080). Also set as HTTPS_PROXY. · OPENGROK_API_VERSION=OpenGrok REST API version. Use v2 for call graph features (requires OpenGrok 1.12+). · OPENGROK_AUDIT_LOG_FILE=Path to write structured audit events (CSV/JSON). Appends tool invocations, elicitation events, and errors. Leave unset to disable. · OPENGROK_BASE_URL=OpenGrok server base URL (e.g. https://opengrok.example.com/source/) · OPENGROK_CODE_MODE=Enable Code Mode: 2-tool sandbox interface with env.opengrok.* JavaScript API. Reduces AI token usage by ~90%. · OPENGROK_CONTEXT_BUDGET=Response size tier controlling token usage. · OPENGROK_DEFAULT_MAX_RESULTS=Default maximum number of results returned per search query. Default: 25. · OPENGROK_DEFAULT_PROJECT=Default project to scope all searches. Can be overridden per call. · OPENGROK_ENABLE_ELICITATION=Interactive AI Prompts — the AI pauses to ask questions during investigations (project selection, file disambiguation). Requires Claude Code v2.1.76+ or a client that supports MCP Elicitation. · OPENGROK_ENABLE_FILES_API=Files API Cache — avoids re-uploading unchanged investigation notes. Requires Files API support in the MCP client. · OPENGROK_ENABLE_MEMORY_TOOLS=Register the 3 memory tools in Code Mode (memory status, read, update). Off = api + execute only. · OPENGROK_ENABLE_OBSERVATION_MASKER=Observation Masker — prepend compact history summaries to opengrok_execute results after N turns. Disabled by default; has no benefit for clients that retain full context (Claude Code, Cursor). · OPENGROK_ENABLE_SAMPLING=AI Sampling — allow the server to request LLM completions for error explanations and summaries. Off by default to avoid consuming premium requests (e.g. GitHub Copilot). · OPENGROK_GRAMMAR_DIR=Directory containing tree-sitter WASM grammars. Overrides the bundled grammar lookup. · OPENGROK_JWT_ISSUER=Expected JWT issuer (iss claim) for HTTP transport OAuth. When set, JWTs from other issuers are rejected. · OPENGROK_LOCAL_COMPILE_DB_PATHS=Comma-separated paths to compile_commands.json for C/C++ compiler flag and include-path extraction. Leave unset for automatic workspace discovery. · OPENGROK_MAX_RESPONSE_BYTES=Hard cap on response payload size in bytes. Overrides the context-budget default. Non-positive values are ignored. · OPENGROK_MEMORY_BANK_DIR=Directory where the AI stores investigation notes (active-task.md, investigation-log.md). Defaults to ~/.config/opengrok-mcp/memory-bank/ or workspace-relative when set by the VS Code extension. · OPENGROK_OBSERVATION_MASKER_TURNS=Number of most-recent opengrok_execute results to keep as full text before masking older ones. Default: 10. · OPENGROK_PASSWORD=OpenGrok authentication password. Prefer storing via OS keychain using 'npx opengrok-mcp-server setup'. · OPENGROK_PASSWORD_FILE=Path to a file containing the OpenGrok password (file-mounted secret for containers). Takes precedence over the OS keychain when OPENGROK_PASSWORD is unset. · OPENGROK_PER_TOOL_RATELIMIT=Per-tool rate limits in requests per minute, as comma-separated tool:rpm pairs (e.g. opengrok_execute:15,opengrok_search_code:30). Overrides OPENGROK_RATELIMIT_RPM for specific tools. · OPENGROK_RATELIMIT_RPM=Maximum requests per minute to the OpenGrok server. Default: 60. · OPENGROK_RESPONSE_FORMAT_OVERRIDE=Force a specific response format for all tools. Leave unset for per-tool auto-selection (recommended). · OPENGROK_SAMPLING_MAX_TOKENS=Maximum tokens for AI sampling responses (error explanation, query reformulation). Range: 64–4096. · OPENGROK_SAMPLING_MODEL=Model preference for MCP Sampling (used for error explanation and query reformulation). · OPENGROK_SEARCH_AND_READ_CAP=Cap for the search_and_read compound tool in bytes. Overrides the context-budget default (2–8 KB depending on tier). Non-positive values are ignored. · OPENGROK_STRICT_SSRF=When true, reject OPENGROK_BASE_URL values pointing at private/loopback IPs at startup. Default: false (warn only; per-request guards still apply). · OPENGROK_TIMEOUT=HTTP request timeout in seconds for OpenGrok API calls. Increase for slow servers. Default: 30. · OPENGROK_USERNAME=OpenGrok authentication username. Leave unset for anonymous access. · OPENGROK_VERIFY_SSL=Verify TLS certificates. Set to false for self-signed or internal CA certs. Source: MCP-Register · collected on 2026-09-17 · self-declared |
| Icon formats (raw) | confirmed absent Source: MCP-Register · collected on 2026-08-16 · self-declared |
| Connection paths (source structure) | {"packages":[{"registryType":"npm","identifier":"opengrok-mcp-server","version":"9.6.0","runtimeHint":"npx","transport":"stdio","environment":[{"name":"OPENGROK_BASE_URL","description":"OpenGrok server base URL (e.g. https://opengrok.example.com/source/)","format":"string","required":true,"secret":false},{"name":"OPENGROK_USERNAME","description":"OpenGrok authentication username. Leave unset for anonymous access.","format":"string","required":false,"secret":false},{"name":"OPENGROK_PASSWORD","description":"OpenGrok authentication password. Prefer storing via OS keychain using 'npx opengrok-mcp-server setup'.","format":"string","required":false,"secret":true},{"name":"OPENGROK_VERIFY_SSL","description":"Verify TLS certificates. Set to false for self-signed or internal CA certs.","format":"boolean","required":false,"secret":false},{"name":"OPENGROK_CODE_MODE","description":"Enable Code Mode: 2-tool sandbox interface with env.opengrok.* JavaScript API. Reduces AI token usage by ~90%.","format":"boolean","required":false,"secret":false},{"name":"OPENGROK_ENABLE_MEMORY_TOOLS","description":"Register the 3 memory tools in Code Mode (memory status, read, update). Off = api + execute only.","format":"boolean","required":false,"secret":false},{"name":"OPENGROK_DEFAULT_PROJECT","description":"Default project to scope all searches. Can be overridden per call.","format":"string","required":false,"secret":false},{"name":"OPENGROK_CONTEXT_BUDGET","description":"Response size tier controlling token usage.","format":"string","required":false,"secret":false},{"name":"OPENGROK_API_VERSION","description":"OpenGrok REST API version. Use v2 for call graph features (requires OpenGrok 1.12+).","format":"string","required":false,"secret":false},{"name":"HTTP_PROXY","description":"HTTP/HTTPS proxy URL for all OpenGrok API requests (e.g. http://proxy.company.com:8080). Also set as HTTPS_PROXY.","format":"string","required":false,"secret":false},{"name":"OPENGROK_RESPONSE_FORMAT_OVERRIDE","description":"Force a specific response format for all tools. Leave unset for per-tool auto-selection (recommended).","format":"string","required":false,"secret":false},{"name":"OPENGROK_MEMORY_BANK_DIR","description":"Directory where the AI stores investigation notes (active-task.md, investigation-log.md). Defaults to ~/.config/opengrok-mcp/memory-bank/ or workspace-relative when set by the VS Code extension.","format":"string","required":false,"secret":false},{"name":"OPENGROK_LOCAL_COMPILE_DB_PATHS","description":"Comma-separated paths to compile_commands.json for C/C++ compiler flag and include-path extraction. Leave unset for automatic workspace discovery.","format":"string","required":false,"secret":false},{"name":"OPENGROK_ENABLE_ELICITATION","description":"Interactive AI Prompts — the AI pauses to ask questions during investigations (project selection, file disambiguation). Requires Claude Code v2.1.76+ or a client that supports MCP Elicitation.","format":"boolean","required":false,"secret":false},{"name":"OPENGROK_ENABLE_SAMPLING","description":"AI Sampling — allow the server to request LLM completions for error explanations and summaries. Off by default to avoid consuming premium requests (e.g. GitHub Copilot).","format":"boolean","required":false,"secret":false},{"name":"OPENGROK_SAMPLING_MODEL","description":"Model preference for MCP Sampling (used for error explanation and query reformulation).","format":"string","required":false,"secret":false},{"name":"OPENGROK_ENABLE_FILES_API","description":"Files API Cache — avoids re-uploading unchanged investigation notes. Requires Files API support in the MCP client.","format":"boolean","required":false,"secret":false},{"name":"OPENGROK_ENABLE_OBSERVATION_MASKER","description":"Observation Masker — prepend compact history summaries to opengrok_execute results after N turns. Disabled by default; has no benefit for clients that retain full context (Claude Code, Cursor).","format":"boolean","required":false,"secret":false},{"name":"OPENGROK_OBSERVATION_MASKER_TURNS","description":"Number of most-recent opengrok_execute results to keep as full text before masking older ones. Default: 10.","format":"string","required":false,"secret":false},{"name":"OPENGROK_SAMPLING_MAX_TOKENS","description":"Maximum tokens for AI sampling responses (error explanation, query reformulation). Range: 64–4096.","format":"string","required":false,"secret":false},{"name":"OPENGROK_AUDIT_LOG_FILE","description":"Path to write structured audit events (CSV/JSON). Appends tool invocations, elicitation events, and errors. Leave unset to disable.","format":"string","required":false,"secret":false},{"name":"OPENGROK_RATELIMIT_RPM","description":"Maximum requests per minute to the OpenGrok server. Default: 60.","format":"string","required":false,"secret":false},{"name":"OPENGROK_PER_TOOL_RATELIMIT","description":"Per-tool rate limits in requests per minute, as comma-separated tool:rpm pairs (e.g. opengrok_execute:15,opengrok_search_code:30). Overrides OPENGROK_RATELIMIT_RPM for specific tools.","format":"string","required":false,"secret":false},{"name":"OPENGROK_TIMEOUT","description":"HTTP request timeout in seconds for OpenGrok API calls. Increase for slow servers. Default: 30.","format":"string","required":false,"secret":false},{"name":"OPENGROK_DEFAULT_MAX_RESULTS","description":"Default maximum number of results returned per search query. Default: 25.","format":"string","required":false,"secret":false},{"name":"OPENGROK_PASSWORD_FILE","description":"Path to a file containing the OpenGrok password (file-mounted secret for containers). Takes precedence over the OS keychain when OPENGROK_PASSWORD is unset.","format":"string","required":false,"secret":false},{"name":"OPENGROK_MAX_RESPONSE_BYTES","description":"Hard cap on response payload size in bytes. Overrides the context-budget default. Non-positive values are ignored.","format":"string","required":false,"secret":false},{"name":"OPENGROK_SEARCH_AND_READ_CAP","description":"Cap for the search_and_read compound tool in bytes. Overrides the context-budget default (2–8 KB depending on tier). Non-positive values are ignored.","format":"string","required":false,"secret":false},{"name":"OPENGROK_STRICT_SSRF","description":"When true, reject OPENGROK_BASE_URL values pointing at private/loopback IPs at startup. Default: false (warn only; per-request guards still apply).","format":"boolean","required":false,"secret":false},{"name":"OPENGROK_JWT_ISSUER","description":"Expected JWT issuer (iss claim) for HTTP transport OAuth. When set, JWTs from other issuers are rejected.","format":"string","required":false,"secret":false},{"name":"OPENGROK_GRAMMAR_DIR","description":"Directory containing tree-sitter WASM grammars. Overrides the bundled grammar lookup.","format":"string","required":false,"secret":false}],"additional_arguments_declared":false}],"remotes":[]} Source: MCP-Register · collected on 2026-09-17 · self-declared |
Embed this badge
Paste this line into a README of your own. The badge states how many values the registry holds for the entry and when it last looked, and it links back to this page.
[](https://tracevero.com/mcp/io-github-icyhot09-opengrok-mcp-server)
The image is drawn again on every request, so it always reports the current state while the pasted line stays as it is. It carries no rating and no traffic light – only the two measured figures.
Changes
| 2026-09-17 | Declared version: 9.0.1 → 9.6.0 |
|---|---|
| 2026-09-17 | Last changed in the registry (raw): 2026-03-31 → 2026-09-16 |
| 2026-09-17 | First listed in the registry (raw): 2026-03-31 → 2026-09-16 |
These are the 3 most recent changes to this entry. Full history
tracevero · https://tracevero.com/mcp/io-github-icyhot09-opengrok-mcp-server