MCP server that exposes OpenGrok code search as tools for LLM agents
OpenGrok MCP provides three read-only tools with clear verb-noun naming (search, list_projects, get_file). Tool descriptions are present and adequate (50-100 chars). Input schemas are visible with type definitions and parameter descriptions. However, output schemas are not documented, LLMs cannot predict response structure. Parameter descriptions lack detail on constraints (e.g., maxResults range, file path format). Error handling is minimal; no recovery guidance or actionable error messages. The search tool's complex filtering (full/def/symbol/path/type) lacks mutual-exclusivity documentation. Overall solid foundation but missing output documentation and error guidance expected of production tools.
Get the content of a file from OpenGrok
List all available projects in OpenGrok
Search for text, definitions, or symbols in OpenGrok
Output schemas not documented. LLMs cannot predict response structure (fields, types, pagination). search() returns OpenGrokSearchResponse but this is not visible in tool definition; list_projects() and get_file() output types are undocumented.
search() parameter constraints undocumented. maxResults accepts 1 - 500 but description only says 'default 20, max 500', no minimum stated. Mutual exclusivity of full/def/symbol not documented; LLM may pass multiple simultaneously.
No error handling guidance. If OpenGrok is unreachable, project not found, or file missing, the tool returns raw HTTP errors. LLM receives no recovery hint (e.g., 'Try list_projects() to see available projects').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
get_file() startLine/endLine parameters lack format documentation. Are they 1-indexed or 0-indexed? What happens if startLine > endDocument? No validation or error message guidance.
list_projects() returns no pagination or count. If OpenGrok has thousands of projects, response could exhaust context window. No limit or offset parameters offered.