Skip to main content
Glama
jenkeeri
by jenkeeri

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
OPENGROK_URLYesBase URL, e.g. https://opengrok.example.com
OPENGROK_TOKENNoBearer token, if the instance needs one.
OPENGROK_PASSWORDNoBasic auth password, if the instance needs it.
OPENGROK_USERNAMENoBasic auth username, if the instance needs it.
OPENGROK_TIMEOUT_MSNoPer-request timeout (default 30000).30000
OPENGROK_INSTRUCTIONSNoFree text appended to the server instructions the agent sees. Use it to describe your project layout (what each project is, naming conventions).
OPENGROK_DEFAULT_PROJECTNoComma-separated default project(s). Empty means all projects.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
opengrok_searchA

Search source code. Provide at least one of full, def, symbol, path, hist; fields combine with AND.

  • full: full-text Lucene query. Supports wildcards (foo*), phrases ("a b"), AND/OR/NOT (uppercase), fuzzy (word~), regex (/re/).

  • def: where a symbol is DEFINED. symbol: where a symbol is referenced or defined. Both need language-aware indexing, so they return nothing for file types OpenGrok cannot parse; fall back to full.

  • path: restrict by file path (e.g. "src/net", "*.cpp").

  • hist: search commit messages.

  • type: OpenGrok analyzer name, e.g. c, cxx, java, python, sh, xml, json, yaml, plain. An unknown name yields zero results. Default scope: none (all projects). Results list files with matching lines (line numbers where available).

opengrok_find_fileA

Find files by path or file name. Returns file paths only. Examples: "main.cpp" (name), "*.sql" (wildcard), "src/net" (directory), "/.test..py/" (regex). Default scope: none (all projects).

opengrok_get_fileA

Read a file's content (line-numbered) by the full path returned from search, e.g. "//dir/file.c". Use start_line/end_line for large files; output is cut at 30000 characters.

opengrok_list_projectsA

List the project names available on the OpenGrok instance (valid values for the projects argument).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 4 tools

Disambiguation4/5

Each tool targets a distinct action: search content, read a file, find files by path, list projects. The only overlap is that opengrok_search's 'path' parameter can also filter by path, which could be confused with opengrok_find_file, but the descriptions clarify that search returns matching lines while find_file returns only paths.

Naming Consistency4/5

All tools use the opengrok_ prefix and snake_case. Three follow verb_noun (get_file, find_file, list_projects), while search is just a verb, a minor deviation from the otherwise consistent pattern.

Tool Count5/5

Four tools is well-scoped for a read-only code search server. Each tool has a clear, non-redundant role: search content, retrieve file contents, find files, and list projects.

Completeness4/5

The core read-only workflows (search, read, find, list projects) are covered. Minor gaps exist, such as no direct file history/blame tool and no explicit directory listing beyond find_file patterns, but agents can work around these with existing tools.

Maintenance

ActivityMaintained
ResponsivenessNo issues