Skip to content

History of OpenGrok MCP Server

io.github.IcyHot09/opengrok-mcp-server · Registry status: active

Report data on this entry

Every published change to this entry, most recent first.

Changes
2026-09-17Declared version: 9.0.1 → 9.6.0
2026-09-17Last changed in the registry (raw): 2026-03-31 → 2026-09-16
2026-09-17First listed in the registry (raw): 2026-03-31 → 2026-09-16
2026-09-17Environment variable descriptions (raw): OPENGROK_BASE_URL=OpenGrok server base URL (e.g. https://opengrok.example.com/source/) · OPENGROK_CODE_MODE=Enable Code Mode: 5-tool sandbox interface with env.opengrok.* JavaScript API. Saves 80-95% tokens on large codebases. · OPENGROK_CONTEXT_BUDGET=Response size tier controlling token usage. · OPENGROK_DEFAULT_PROJECT=Default project to scope all searches. Can be overridden per call. · OPENGROK_ENABLE_ELICITATION=Enable interactive project picker at session start and env.opengrok.elicit() in Code Mode sandbox. Requires a supporting MCP client. · OPENGROK_PASSWORD=OpenGrok authentication password. Prefer storing via OS keychain using 'npx opengrok-mcp-server setup'. · OPENGROK_SAMPLING_MODEL=Model preference for MCP Sampling (used for error explanation and query reformulation). · OPENGROK_USERNAME=OpenGrok authentication username · OPENGROK_VERIFY_SSL=Verify TLS certificates. Set to false for self-signed or internal CA certs. → 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.
2026-09-17Connection paths (source structure): {"packages":[{"registryType":"npm","identifier":"opengrok-mcp-server","version":"9.0.1","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","format":"string","required":true,"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: 5-tool sandbox interface with env.opengrok.* JavaScript API. Saves 80-95% tokens on large codebases.","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_ENABLE_ELICITATION","description":"Enable interactive project picker at session start and env.opengrok.elicit() in Code Mode sandbox. Requires a supporting MCP client.","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}],"additional_arguments_declared":false}],"remotes":[]} → {"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":[]}
2026-09-17Package versions (raw): 9.0.1 → 9.6.0
2026-09-17Environment variables (raw): OPENGROK_BASE_URL, OPENGROK_USERNAME, OPENGROK_PASSWORD, OPENGROK_VERIFY_SSL, OPENGROK_CODE_MODE, OPENGROK_DEFAULT_PROJECT, OPENGROK_CONTEXT_BUDGET, OPENGROK_ENABLE_ELICITATION, OPENGROK_SAMPLING_MODEL → 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
2026-09-08Connection paths (source structure): – → {"packages":[{"registryType":"npm","identifier":"opengrok-mcp-server","version":"9.0.1","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","format":"string","required":true,"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: 5-tool sandbox interface with env.opengrok.* JavaScript API. Saves 80-95% tokens on large codebases.","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_ENABLE_ELICITATION","description":"Enable interactive project picker at session start and env.opengrok.elicit() in Code Mode sandbox. Requires a supporting MCP client.","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}],"additional_arguments_declared":false}],"remotes":[]}
2026-08-26Description (raw): – → MCP server bridging OpenGrok search engine with AI for instant context across massive codebases.
2026-08-16Last changed in the registry (raw): – → 2026-03-31
2026-08-16First listed in the registry (raw): – → 2026-03-31
2026-08-16Registry status message (raw): – → –
2026-08-16Schema version of the raw record (raw): – → https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json
2026-08-16Icon formats (raw): – → –
2026-08-16Environment variable descriptions (raw): – → OPENGROK_BASE_URL=OpenGrok server base URL (e.g. https://opengrok.example.com/source/) · OPENGROK_CODE_MODE=Enable Code Mode: 5-tool sandbox interface with env.opengrok.* JavaScript API. Saves 80-95% tokens on large codebases. · OPENGROK_CONTEXT_BUDGET=Response size tier controlling token usage. · OPENGROK_DEFAULT_PROJECT=Default project to scope all searches. Can be overridden per call. · OPENGROK_ENABLE_ELICITATION=Enable interactive project picker at session start and env.opengrok.elicit() in Code Mode sandbox. Requires a supporting MCP client. · OPENGROK_PASSWORD=OpenGrok authentication password. Prefer storing via OS keychain using 'npx opengrok-mcp-server setup'. · OPENGROK_SAMPLING_MODEL=Model preference for MCP Sampling (used for error explanation and query reformulation). · OPENGROK_USERNAME=OpenGrok authentication username · OPENGROK_VERIFY_SSL=Verify TLS certificates. Set to false for self-signed or internal CA certs.
2026-08-16Environment variable formats (raw): – → boolean, string
2026-08-16Delivery form (raw): – → package
2026-08-16Remote hosts (raw): – → –
2026-08-16Remote URLs (raw): – → –
2026-08-16Runtime hints (raw): – → npx
2026-08-16Package versions (raw): – → 9.0.1
2026-08-16Package identifiers (raw): – → opengrok-mcp-server
2026-08-16Repository subfolder (raw): – → –
2026-08-16Repository platform (raw): – → github
2026-08-16Path environment variables (raw): – → –
2026-08-16Required secret headers (raw): – → –
2026-08-06Declared version: – → 9.0.1
2026-08-06Repository URL listed: – → yes
2026-08-06Path argument present: – → no
2026-08-06Execution location: – → local
2026-08-06Required secrets declared: – → no
2026-08-06Package registries (raw): – → npm
2026-08-06Repository (raw): – → https://github.com/IcyHot09/opengrok-mcp-server
2026-08-06Path arguments (raw): – → –
2026-08-06Transports (raw): – → stdio
2026-08-06Required secret variables (raw): – → –
2026-08-06Environment variables (raw): – → OPENGROK_BASE_URL, OPENGROK_USERNAME, OPENGROK_PASSWORD, OPENGROK_VERIFY_SSL, OPENGROK_CODE_MODE, OPENGROK_DEFAULT_PROJECT, OPENGROK_CONTEXT_BUDGET, OPENGROK_ENABLE_ELICITATION, OPENGROK_SAMPLING_MODEL

tracevero · https://tracevero.com/mcp/io-github-icyhot09-opengrok-mcp-server/aenderungen