Skip to main content
Glama
tschoonj

Repology MCP Server

by tschoonj

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose: get_maintainer_problems and get_repository_problems focus on problem reporting for different entities, get_project retrieves detailed project information, list_projects provides filtered listings, and search_projects enables name-based searching. There is no overlap in functionality that would cause confusion.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern with snake_case: get_maintainer_problems, get_project, get_repository_problems, list_projects, search_projects. The naming is predictable and follows the same convention throughout.

    Tool Count5/5

    With 5 tools, this server is well-scoped for a Repology interface. Each tool serves a specific purpose in querying projects, problems, and repositories, making the count appropriate without being too sparse or bloated.

    Completeness4/5

    The toolset covers core Repology operations well: retrieving projects (get_project, list_projects, search_projects) and problem reporting (get_maintainer_problems, get_repository_problems). Minor gaps might include updating or managing data, but these are likely read-only operations for this domain, so coverage is good.

  • Average 3.4/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
    • 0 commits in the last 12 weeks
    • No stable releases found
    • 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

  • Behavior2/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 of behavioral disclosure. It mentions that the tool returns a 'JSON formatted list of problems' and implies pagination via 'start_from', but it doesn't cover critical aspects like whether this is a read-only operation (likely, but not stated), potential rate limits, authentication requirements, error handling, or what constitutes a 'problem'. For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.

    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 well-structured and concise, with zero wasted words. It starts with a clear purpose statement, followed by bullet-point-like sections for 'Args' and 'Returns' that are easy to parse. Every sentence adds value, and the information is front-loaded, making it efficient for an AI agent to understand quickly.

    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 the tool's moderate complexity (3 parameters, no annotations, but with an output schema), the description is partially complete. It covers the purpose and parameters adequately, and the presence of an output schema means it doesn't need to detail return values. However, it lacks behavioral context (e.g., safety, limits) and usage guidelines relative to siblings, which are important for a tool with no annotations. This makes it minimally viable but with clear gaps.

    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 description adds meaningful context beyond the input schema, which has 0% description coverage. It explains that 'maintainer' is an email address, 'repository' is optional to limit results, and 'start_from' is for pagination starting from a project name. This clarifies the purpose and usage of all three parameters, compensating well for the lack of schema descriptions. However, it doesn't specify formats (e.g., email validation) or pagination details, keeping it from a perfect score.

    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: 'Get problems reported for packages maintained by a specific person.' It specifies the verb ('Get'), resource ('problems'), and scope ('for packages maintained by a specific person'), which is more specific than just restating the name. However, it doesn't explicitly differentiate from sibling tools like 'get_repository_problems' or 'search_projects', which might also retrieve problems in different contexts.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_repository_problems' (which might fetch problems by repository instead of maintainer) or 'search_projects' (which could involve problem searches). There are no explicit when-to-use or when-not-to-use instructions, leaving usage context implied at best.

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

  • Behavior2/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 behavioral disclosure. It mentions pagination behavior ('start_from' for pagination) and the return format ('JSON formatted list'), but doesn't cover important aspects like whether this is a read-only operation, rate limits, authentication requirements, or error handling. For a tool with no annotation coverage, this leaves significant gaps.

    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 efficiently structured with clear sections (purpose, args, returns) and every sentence adds value. The three-sentence format is front-loaded with the core purpose, followed by parameter explanations, then return format - all without any wasted words.

    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 tool's moderate complexity (2 parameters, 1 required), no annotations, but with an output schema present, the description provides adequate coverage. It explains the purpose, parameters, and return format, though it could benefit from more behavioral context (like pagination details or error cases) since annotations are absent.

    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 description adds meaningful context for both parameters beyond the schema's 0% coverage. It explains that 'repository' is a repository name with examples ('freebsd', 'debian'), and clarifies that 'start_from' is 'for pagination' with a project name. This compensates well for the schema's lack of descriptions, though it doesn't fully explain the pagination mechanism.

    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 with a specific verb ('Get') and resource ('problems reported for a specific repository'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'get_maintainer_problems' or 'search_projects', which prevents a perfect score.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like 'get_maintainer_problems' or 'search_projects'. It mentions pagination with 'start_from', but doesn't explain when pagination is needed or how this tool differs from other problem-related tools in the server.

    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?

    With no annotations provided, the description carries full burden. It discloses the return format (JSON list with packages) and default/max values for 'limit', which is useful behavioral context. However, it doesn't mention pagination behavior, rate limits, authentication requirements, or error conditions that would be important for a search operation.

    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?

    Well-structured with a clear purpose statement followed by organized parameter documentation and return format. Every sentence earns its place, with no redundant information. The description is appropriately sized for a 6-parameter search tool.

    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 tool has an output schema (true), the description doesn't need to explain return values in detail. It provides adequate parameter documentation and behavioral context for a search operation. The main gap is lack of guidance on when to use versus sibling tools, but otherwise fairly complete for its complexity.

    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 0%, so the description must compensate. It provides clear explanations for all 6 parameters, including the required 'query' parameter, default values, optional filters, and clarifies what 'inrepo' and 'notinrepo' mean. This adds significant meaning beyond the bare 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 searches for projects by name substring, providing a specific verb (search) and resource (projects). It distinguishes from siblings like 'list_projects' by specifying substring matching, but doesn't explicitly contrast with other search-related siblings like 'get_project'.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives like 'list_projects' or 'get_project' is provided. The description only states what the tool does, not when it's appropriate versus other available tools on the server.

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

  • Behavior2/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 behavioral disclosure. It states this is a read operation ('Get'), but doesn't mention authentication requirements, rate limits, error conditions, or whether this is a real-time query versus cached data. The description adds minimal behavioral context beyond the basic operation.

    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?

    The description is well-structured with clear sections (Args, Returns) and front-loaded the core purpose. Every sentence earns its place, though the 'Returns' section could be slightly more detailed given there's an output schema. Overall efficient but not perfectly concise.

    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 tool has an output schema (which handles return value documentation) and the description provides good parameter semantics, this is reasonably complete. However, for a tool with no annotations, it could benefit from more behavioral context about authentication, errors, or performance characteristics to be fully complete.

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

    Parameters5/5

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

    The description provides excellent parameter semantics despite 0% schema description coverage. It clearly explains that 'project_name' requires an exact name and 'repository' is an optional filter to show only packages from that repository. This adds significant value beyond the bare schema, fully compensating for the lack of schema descriptions.

    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 with 'Get detailed information about a specific project' - a specific verb ('Get') and resource ('project'). It distinguishes from siblings like 'list_projects' (which likely lists multiple projects) and 'search_projects' (which searches rather than retrieves a specific one). However, it doesn't explicitly mention how it differs from 'get_maintainer_problems' or 'get_repository_problems'.

    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 context through the parameter descriptions - you need an exact project name and can optionally filter by repository. However, it doesn't provide explicit guidance on when to use this tool versus alternatives like 'list_projects' or 'search_projects', nor does it mention prerequisites or exclusions.

    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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It clarifies this is a listing operation with filtering, and specifies return format ('JSON formatted dictionary of projects and their packages'), which is helpful. However, it lacks details on pagination behavior (beyond the 'start_from' parameter), rate limits, authentication requirements, or whether this is a read-only operation—critical context for a tool with 11 parameters.

    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?

    The description is well-structured with a clear purpose statement followed by categorized parameter explanations and return format. While comprehensive for 11 parameters, it remains efficient—each sentence serves a purpose. Minor improvement could be front-loading more critical behavioral context before parameter details.

    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 complexity (11 parameters, 0% schema coverage, no annotations) and presence of an output schema (implied by 'Returns' section), the description does well. It explains all parameters semantically and specifies the return format. However, it lacks context on operational constraints (e.g., rate limits, side effects) which would be valuable for a filtering-heavy tool.

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

    Parameters5/5

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

    Schema description coverage is 0%, so the description must fully compensate. It provides clear semantic explanations for all 11 parameters, including examples for complex ones like 'repos' (e.g., '1', '5-', '-5', '2-7') and clarifying boolean filters like 'newest,' 'outdated,' and 'problematic.' This adds significant value beyond the bare schema, making parameter purposes understandable.

    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: 'List projects with optional filtering.' This specifies the verb ('List') and resource ('projects') with mention of filtering capability. However, it doesn't distinguish this tool from sibling tools like 'search_projects' or 'get_project,' which likely have different scopes or approaches to project retrieval.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like 'search_projects' or 'get_project.' It mentions filtering capabilities but doesn't specify scenarios where this listing approach is preferred over searching or direct retrieval, leaving the agent to guess based on tool names alone.

    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

repology-mcp-server MCP server

Copy to your README.md:

Score Badge

repology-mcp-server 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/tschoonj/repology-mcp-server'

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