Skip to main content
Glama
Dhi13man
by Dhi13man

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool targets a distinct resource and action: two search tools (repertory vs materia medica), a remedy info retrieval tool, and two list tools (repertories vs materia medicas). There is clear separation between discovery (list_*) and usage (search_*, get_*) functions.

    Naming Consistency4/5

    Nearly all tools follow a verb_noun pattern (search_repertory, search_materia_medica, get_remedy_info, list_available_*). Minor inconsistency: two tools use singular (search_repertory, search_materia_medica) while their corresponding list tools use plural (repertories, materia_medicas), which is slightly inconsistent but understandable.

    Tool Count5/5

    Five tools is a well-scoped count for a homeopathic reference server. Each tool serves a distinct purpose covering search, lookup, and discovery without redundancy or bloat.

    Completeness4/5

    The tool surface covers the core workflows: discover available repertories/materia medicas, search for symptoms in repertories, search detailed materia medica texts, and retrieve individual remedy info. A minor gap is the lack of a dedicated search-within-remedy or remedy comparison tool, but the primary use cases are covered.

  • Average 3.8/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
    • 9 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is failing
  • 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 provided, the description carries full behavioral disclosure burden. It indicates this is a read/discovery operation ('Get a complete list'), which signals non-mutating behavior. However, it doesn't describe the output format, potential pagination/limits, or whether the 'complete list' could be large. The description adds some behavioral context (metadata contents) but lacks depth.

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

    Conciseness4/5

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

    Two efficient sentences with no wasted words. The description is front-loaded with the primary purpose and appends a brief usage note. It could arguably trim the final clause, but overall it's well-structured and appropriately compact.

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

    Completeness3/5

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

    Given an output schema exists and one simple optional parameter with full schema coverage, the description is reasonably complete. However, for a discovery tool that lists all items, it doesn't mention potential scale, ordering, or navigation behavior. For the tool's low complexity, it's adequate but leaves some behavioral gaps.

    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 single parameter 'language' has 100% schema description coverage, with the schema already explaining it's an optional filter by language code with examples. The description says 'returns all materia medicas' if unspecified, which adds slight context about default behavior beyond the schema. However, this mainly restates what the schema already conveys, so baseline 3 is appropriate.

    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 verb ('Get a complete list'), the resource ('all available homeopathic materia medicas'), and the metadata returned (title, author, language). It partially distinguishes itself from siblings by noting it's about discovery rather than searching, which differentiates it from search_materia_medica and search_repertory. However, it doesn't explicitly contrast with list_available_repertories, a close sibling.

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

    Usage Guidelines3/5

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

    The description notes it is 'Useful for discovering which materia medicas are available for searching,' implying usage in a discovery/discovery-before-search workflow. However, it lacks explicit when-to-use vs when-not-to-use guidance or explicit exclusion of alternatives like search_materia_medica. The implied guidance is helpful but not explicit.

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

  • Behavior3/5

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

    No annotations are provided, so the annotation bar is lowered but the description still carries the disclosure burden. The description is a read operation ('Retrieve... learn') which is implied but not explicitly declared as read-only. It doesn't mention error behavior for unknown remedies, normalization of abbreviations, or response structure. The description adds the 'full name, abbreviations, and alternative names' scope, which is useful but modest.

    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 sentences, front-loaded with the core purpose immediately. No wasted words or redundancy. The final sentence is a mild filler ('Useful for learning about individual remedies') but not egregious. Appropriately compact for what it conveys.

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

    Completeness3/5

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

    The tool is relatively simple (1 parameter, clear schema, output schema present). The description covers the purpose and the scope of returned info (name, abbreviations, alternative names). However, it doesn't note behavior for invalid/unknown remedy names, which would be helpful given lookups commonly encounter typos. Output schema exists so return-value documentation isn't required. Adequate but not rich.

    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 description coverage is 100%, so the blueprint for the remedy parameter is well documented with examples (Aconite, Acon., Aconitum napellus) and case-insensitivity. The description adds that it covers 'full name, abbreviations, and alternative names' which maps to the remedy parameter meaning, but the schema already provides the format and examples. Baseline 3 is appropriate.

    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 verb+resource: "Retrieve comprehensive information about a specific homeopathic remedy" including its full name, abbreviations, and alternative names. It distinguishes from siblings (search_repertory, search_materia_medica) since it's about remedy identity data rather than searching content, though it doesn't explicitly name alternatives.

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

    Usage Guidelines3/5

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

    The description implies usage ('Useful for learning about individual remedies') but doesn't explicitly state when to use this vs search_materia_medica or search_repertory. The distinction is inferable—this retrieves remedy identity/name info, while siblings search remedy content—but no clear 'use this when' or 'use that instead' guidance is given.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the behavioral burden. The description explains what materia medicas are and the tool's purpose but doesn't disclose return behavior, volume of results, or what happens when no matches are found. The output schema exists which helps, but for a search tool with no annotations, richer behavioral context (e.g., result format, default filtering) would help.

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

    Conciseness4/5

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

    Three sentences, reasonably compact, and front-loaded with the core purpose. The second sentence ('Materia medicas provide detailed descriptions...') adds helpful context for a knowledge domain that may be unfamiliar. Slightly redundant but not wasteful.

    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?

    With a 100% schema coverage, an output schema, and a reasonable description that orients the agent to the domain, this is fairly complete. The description explains the domain value, the parameters are well-documented in the schema, and an output schema exists. The main gap is the lack of alternative-tool guidance (search_repertory contrast).

    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 description coverage is 100%, so the schema already documents all four parameters thoroughly with clear descriptions and examples. The tool description adds minimal parameter context beyond the schema. Baseline 3 is appropriate since the schema does the heavy lifting and the description doesn't need to duplicate it.

    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 states the verb (search), resource (materia medica texts), and outcome (matching remedy sections). It adds context about what materia medicas provide ('detailed descriptions of remedy characteristics, symptoms, clinical applications'). However, it could better distinguish from sibling search_repertory - the description notes it's 'useful for in-depth remedy study and comparison' but doesn't explicitly contrast with a repertory search.

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

    Usage Guidelines3/5

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

    No explicit when-to-use or when-not-to-use guidance, and no alternative tools are named. The description implies usage through context ('useful for in-depth remedy study and comparison') but doesn't tell the agent when to prefer this over search_repertory or get_remedy_info. Sibling differentiation must be inferred rather than stated.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the burden of behavioral disclosure. It's a read-only listing operation that is non-destructive, and the description's non-mutating language ('Get', 'discovering') is consistent. However, it doesn't describe pagination, ordering, or any limits, though as a listing tool with output schema present, the bar is moderate.

    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 sentences, zero waste. The description front-loads the primary purpose and metadata fields, then adds the discoverability use-case. 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 simple single-optional-parameter listing tool with a full input schema and an output schema present, the description is complete. It conveys purpose, schema covers the parameter, and the return metadata (title, author, language) is stated.

    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 100% (the single optional 'language' parameter is fully documented). The description reinforces that language is optional and clarifies its default behavior ('If not specified, returns all repertories'), adding meaning beyond the schema's format constraint.

    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?

    Clear verb+resource: 'Get a complete list of all available homeopathic repertories with their metadata including title, author, and language.' The description explicitly names what metadata is returned and distinguishes this from sibling tools like list_available_materia_medicas and the search tools.

    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?

    States it is 'useful for discovering which repertories are available for searching,' implying it should be used as a precursor to search_repertory. It doesn't explicitly exclude sibling tools (list_available_materia_medicas), though the 'repertories' vs 'materia_medicas' contrast is implicit.

    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?

    No annotations are provided, so the description carries the full burden. It discloses that results are sorted by relevance, that remedies come with weights, and describes the default repertory behavior when repertory param is omitted. However, it doesn't describe pagination behavior or what the detailed output schema contains beyond rubrics/remedies/weights, which is partially covered by the output schema existing.

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

    Conciseness4/5

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

    Two sentences, both informative. The first establishes purpose and the search syntax; the second describes output format and behavior. No wasted words, though it could add a brief note about when to use this vs search_materia_medica without breaking its economy.

    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 the presence of an output schema, the description doesn't need to detail return values. However, with 5 parameters, no annotations, and a moderately complex query language, the description captures the essentials but leaves gaps around result size behavior, pagination, and error handling when no matches are found. Slightly above minimal viable given the output schema exists.

    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 description coverage is 100%, so the schema does substantial work for all 5 parameters. The description adds value by explaining the overall search syntax (wildcards, exclusions, exact phrases) and the output structure (rubrics with remedies sorted by relevance). It supplements rather than duplicates the schema's parameter documentation.

    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?

    Uses specific verb 'search' with a clear resource 'homeopathic repertories', states what it returns (matching rubrics with remedies), and explains output ordering (by relevance with weights). Distinguishes from siblings by specifying repertories specifically vs. materia medica, making it clear which sibling to use.

    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 clearly states what the tool does and the input syntax (wildcards, exclusions, exact phrases). However, it doesn't explicitly say when NOT to use it or mention that search_materia_medica is the alternative for materia medica searches. The repertory parameter references list_available_repertories for discovery, providing some guidance.

    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

oorep-mcp MCP server

Copy to your README.md:

Score Badge

oorep-mcp MCP server

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/Dhi13man/oorep-mcp'

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