Skip to main content
Glama
devladinci
by devladinci

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.3.0

  • Disambiguation4/5

    Each tool has a distinct primary purpose: map exploration, dependency analysis, symbol lookup, reference lookup, and index refresh. The only mild overlap is between get_map and get_deps, both of which expose import/who-imports information, but their descriptions clarify different intents.

    Naming Consistency5/5

    All tool names are lowercase snake_case with a clear action-first pattern: get_*, find_*, and reindex. The naming is predictable and easy to scan, and the maintenance action reindex is appropriately distinct.

    Tool Count5/5

    Five tools is an ideal size for a focused code-indexing/exploration server. Each tool covers a distinct need without redundancy, and the set feels neither bloated nor thin.

    Completeness5/5

    The server covers the core lifecycle of codebase exploration: discover structure, analyze dependencies, locate definitions, find usages, and refresh the index. There are no obvious dead ends or missing operations for its stated purpose.

  • Average 4.2/5 across 5 of 5 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • No commit activity data available
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description carries the behavioral disclosure burden. It usefully discloses that results come from the symbol index and are exact file:line locations, implying a read-only lookup. However, it does not mention potential multiple matches, index staleness, or what happens when a symbol is not found.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is compact and information-dense. Each sentence earns its place: what it returns, when to prefer it, and the follow-up action for the agent. No filler or redundant schema repetition.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The tool has no output schema, but the description provides the essential return contract ('Exact file:line') and a practical next step. It is complete enough for straightforward definition lookups, though it could mention disambiguation behavior around multiple matches or how the symbol index stays current.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema already describes all four parameters with 100% coverage, so the description need not repeat them. The description adds little beyond naming some symbol kinds, while the schema already covers exact/fallback matching, file_glob, and exported_only.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's job: return the exact file:line where a symbol is defined, sourced from the symbol index. It includes a specific resource ('symbol index') and output type, but it does not explicitly differentiate from sibling tools like get_references.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description gives practical guidance: use this instead of grepping for definitions, and then read only the returned line range. This is clear context, though it does not explicitly name sibling alternatives or state when not to use the tool.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description carries the burden, and it explains important behavior: directory mode aggregates edges (N files -> target) and the graph includes both imports and importers. It doesn't detail result shape or directory-scale caveats, but for a non-mutating read tool it is fairly transparent.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three tight sentences; core behavior is front-loaded, then the special directory-mode behavior, then one practical use case. No repetition or filler.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a two-parameter read-only graph query with no output schema, the description plus schema covers the caller's main needs: path semantics, edge direction options, directory aggregation, and a motivating scenario. The main gap is that no explicit return structure or size/performance caveat is given.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is already 100%, so the baseline is 3; the description adds extra meaning by explaining that 'what it imports' corresponds to outgoing edges and 'who imports it' to incoming edges, and by clarifying directory mode as an aggregation behavior for the file parameter.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly identifies the tool as an import-graph query covering both outgoing and incoming edges for a file or directory/package. It is specific about what it does, though it doesn't explicitly contrast it with siblings like get_references or find_symbol.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    It gives a concrete use case ('impact analysis before refactoring') and when directory mode applies, which orients the agent toward selecting this tool. It doesn't state when not to use it or name alternatives, so it falls just short of full guidance.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations present, the description carries the full burden of behavioral disclosure. It transparently explains what the tool returns, what it excludes ('NO bodies'), the fact it uses a prebuilt index, and that it is cheaper than alternatives. It could add detail about index freshness or error behavior, but the core behavior is clearly disclosed.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise and front-loaded: it states the resource, the exact content of the result, and the key exclusion in the first sentence. The second sentence adds file-specific behavior, and the final sentence gives the practical usage timing. Every sentence earns its place.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a single-parameter tool with no output schema, the description is complete enough: it explains the returned symbols, line numbers, signatures, imports, importers, and the exclusion of bodies. It also provides guidance on when to call it. This gives an agent sufficient context to invoke it correctly.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100%, and the single 'target' parameter is already fully documented in the schema, including the '.' special value. The description reinforces the file-or-directory target concept and the prebuilt-index context, but it does not add meaningful param semantics beyond the schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's purpose: returning the structure of a file or directory from a prebuilt index, including symbols, line numbers, and one-line signatures while explicitly excluding bodies. It is specific about the resource and content, but it does not explicitly distinguish itself from sibling tools like get_deps, find_symbol, or get_references, some of which may overlap with the reported imports/importers.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description gives an explicit usage directive: 'Use BEFORE reading any file to decide which exact lines you need.' It also frames when it is better than reading files or globbing directories. However, it does not state when not to use it or mention alternatives among the sibling tools, so it stops short of full routing guidance.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries the full burden of disclosing behavior. It discloses the heuristic nature of the tool ('Heuristic'), what kinds of usages are found, and that line numbers are included. It does not discuss error behavior or potential omissions, but the key behavioral traits are stated.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Three sentences, all informative and non-redundant. The main purpose is front-loaded, followed by a crisp alternative and a useful tip. No filler or repetition of parameter details from the schema.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given no output schema and no annotations, the description does enough: it states what is returned semantically and how to use the tool. It could specify the exact return format, but for a simple two-parameter lookup the coverage is adequate.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Input schema already describes both parameters fully (100% coverage), so baseline is 3. The description adds extra meaning by advising to use the file parameter for narrowing common names, which is practical guidance beyond the schema. This lifts it one point above baseline.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Description clearly states what the tool does: finds where a symbol is used, enumerating JSX component usages, call sites with line numbers, and named imports. It explicitly contrasts with grep, and the concrete output list implicitly differentiates it from siblings like get_deps or find_symbol, so an agent will not mistake its purpose.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Gives an explicit alternative (grep) and says to use this tool instead, plus a practical tip to narrow with file for common names. However, it does not mention when to prefer or avoid sibling tools like find_symbol or get_deps, so the usage guidance is clear but not fully exclusionary.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations, the description carries the behavioral disclosure burden. It discloses the incremental nature ('only changed files are re-parsed') and the fact that tools auto-refresh, which informs the agent that this is an exceptional maintenance action rather than a routine one.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two short sentences convey the mechanism, scope, rarity, and necessity. Every word earns its place, and the key guidance ('Rarely needed') is positioned after the core behavior without clutter.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a zero-parameter maintenance tool with no output schema, the description is complete: it explains what it does, how it works, and when it should be used. No critical information is missing for an agent to decide whether to invoke it.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The tool has zero parameters, and the schema coverage is effectively complete. The description adds meaningful context by implying the refresh uses the git history rather than requiring any input, which is sufficient for a parameterless tool.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a specific verb ('refresh') with a clear resource ('index') and explains the mechanism ('git-based refresh'). It is immediately distinguishable from the query-oriented sibling tools like get_map and find_symbol.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description explicitly tells the agent when not to use the tool: 'Rarely needed — tools auto-refresh.' This gives clear context that manual invocation is usually unnecessary, though it does not name specific alternatives for when manual refresh would be appropriate.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

hebros-mcp MCP server – quality and maintenance score on Glama

Copy to your README.md:

Score Badge

hebros-mcp MCP server – quality and maintenance score on Glama

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/devladinci/hebros-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server