Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation4/5

    The tools cleanly separate project listing from entry operations, and get/create/update have distinct roles. publish_entry overlaps slightly with update_entry's ability to change status, but its specific 'publish now' semantics are clearly differentiated.

    Naming Consistency5/5

    All tools follow a consistent snake_case verb_noun pattern (list_, get_, create_, update_, publish_), making the set predictable and easy to navigate.

    Tool Count5/5

    Six tools is appropriately scoped for a changelog management server. Each tool maps to a core operation without unnecessary redundancy.

    Completeness4/5

    The core entry lifecycle is covered: list, get, create, update, and publish. The only notable gap is a delete_entry tool, which would make lifecycle coverage complete.

  • Average 4.1/5 across 6 of 6 tools scored. Lowest: 3.5/5.

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

    • No community issues in the last 6 months
    • 2 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • 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

  • Behavior4/5

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

    Annotations already carry readOnly=false, idempotent=true, and destructive=false, and the description adds value by revealing PATCH-like behavior and the side effect that setting status to draft unpublishes the entry. No contradiction with the annotations; the description complements them.

    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 short sentences, each with a distinct job: identify the scope, state the update semantics, and flag the notable side effect. No filler or repetition of schema contents.

    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 description covers the essential partial-update behavior and the unpublish nuance, but for a seven-parameter mutation with no output schema and a sibling publish_entry, it leaves invocation guidance somewhat thin. An agent would still need to inspect enum values and infer semantics for several parameters.

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

    Parameters2/5

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

    Schema description coverage is only 29%, yet the description provides almost no parameter-level detail except the semantic effect of the status field. Fields like type, title, content, and published_at are left to names/enums, so the description fails to compensate for the schema's sparse documentation.

    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?

    Description uses a clear verb-resource pair ('Update fields of an existing entry') and distinguishes the operation from creation via 'existing'. It does not explicitly differentiate from publish_entry, which could be used for status changes, but the broad update framing is still unambiguous.

    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?

    States partial-update semantics ('Only the fields you pass are changed') and calls out a key behavior for status changes. However, it gives no explicit guidance about when to prefer publish_entry for publishing or when create_entry is the right alternative, leaving the overlap with siblings unresolved.

    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?

    The description meaningfully extends the annotations by explaining default draft behavior, immediate publishing via status 'published', scheduling via a future published_at, and Markdown content. It does not mention response shape or error cases, but the non-idempotent, mutating nature is already signaled by annotations.

    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 short, front-loaded sentences deliver purpose, key status behavior, and content format with no filler. Every sentence earns its place.

    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 description covers the core creation workflow, defaults, scheduling, and Markdown content, while required parameters are captured in the schema. Minor gaps like return value and error behavior are acceptable for a simple creation tool with no output schema.

    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?

    With 67% schema coverage, the schema already documents several parameters, and the description adds the crucial interaction between status and published_at (draft by default, immediate publish, scheduled publish). It does not elaborate on the 'type' enum, but those values are self-descriptive.

    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 opens with a specific verb and resource: 'Create a changelog entry in a project.' This clearly separates create_entry from its siblings (list_projects, list_entries, get_entry, update_entry, publish_entry) without needing to inspect schemas.

    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?

    There is no guidance on when to choose create_entry versus update_entry or publish_entry, and no explicit when-not-to-use conditions. The description does explain status behavior, but that is parameter usage rather than tool-selection guidance.

    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?

    The annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds that the response includes Markdown content and status, which is useful, but it does not disclose error behavior, status values, or other runtime traits beyond what annotations and the schema imply.

    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?

    One sentence contains the essential information: the operation, target, and what is included. There is no filler or repetition of schema details, and the most important qualifier ('single ... by id') leads the description.

    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 simple read-only lookup with two fully documented parameters and readOnlyHint/openWorldHint annotations, the description gives enough context to invoke correctly and know what kind of content to expect. The only minor gap is the absence of any statement about not-found behavior or the exact response shape, but this is not critical given the simple get-by-id pattern.

    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%: both project_id and entry_id have descriptions in the schema, so the description does not need to repeat them. It adds no extra parameter-level meaning beyond 'by id', which is already captured by the schema.

    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 ('Fetch') with a clearly defined resource ('a single changelog entry by id') and states key returned fields (Markdown content and status). This clearly distinguishes it from siblings like list_entries, create_entry, update_entry, and publish_entry without needing to open the schema.

    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 phrase 'by id' and 'single' communicate that this is the correct tool when the agent already has an entry_id and needs the full entry content/status. It does not explicitly mention alternatives or state when not to use it, but the usage context is strongly implied.

    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?

    Annotations already mark this as a non-readonly, non-destructive, idempotent operation. The description adds useful behavioral context by stating that an already-live entry retains its original publish date, which clarifies the tool's idempotent behavior and helps an agent predict outcomes for different entry states.

    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 with no filler. The primary action is front-loaded, and the second sentence adds a meaningful edge-case behavior. Every word earns its place.

    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 simple two-parameter mutation with useful annotations, the description covers the key behavior: immediate publishing and the live-entry edge case. It does not describe the response format or error conditions, but the absence of an output schema and the low complexity make this acceptable.

    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 schema documents project_id but not entry_id, so description-level parameter coverage is partial. The description implies that entry_id identifies the entry to publish, but it does not add explicit detail about the id format, constraints, or how the two parameters interact beyond that.

    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 states a specific action ('Publish'), a specific resource ('a draft or scheduled entry'), and the timing ('right now'). It clearly distinguishes publish_entry from siblings like create_entry, update_entry, and get_entry because the operation is explicit and the target state is named.

    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 clear context for when to use the tool: to publish a draft or scheduled entry immediately. It does not explicitly name alternatives or exclusions, but the distinction from create/update/get/list is strongly implied by the verb and target states.

    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?

    Annotations already declare readOnlyHint=true, so the read-only safety profile is covered. The description adds useful context by stating the ownership scope and the exact fields returned, but it does not mention pagination, network interaction, or any other behavioral caveats. This is adequate given the low-risk read-only nature, but not rich.

    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?

    A single sentence that leads with the action and resource, then compacts all relevant output details into a short list. There is no repetition of the title or schema, and every phrase 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, zero-parameter, read-only listing tool, the description is complete: it states the resource, the ownership scope, and the returned fields. The annotations cover safety, and no output schema exists to add more. An agent has enough information to invoke the tool correctly and interpret the result.

    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, so there is nothing for the description to clarify beyond the schema, which already covers the parameter space completely. The description's mention of output fields is more relevant to behavior than to parameter semantics, so the baseline of 4 for a zero-parameter tool is appropriate.

    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 ('List') and a specific resource ('Patchlog projects'), and further narrows scope to those owned by the API token. It also enumerates the returned fields, making the tool's purpose unmistakable and distinct from the sibling entry-management 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?

    The description clearly establishes when to use the tool: to retrieve the projects associated with the API token. While it does not explicitly name alternatives or say when not to use it, the sibling tools are all entry-focused, so the intended context is clear enough without excluding edge cases.

    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?

    Annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds useful behavioral detail beyond annotations: default filtering to published entries and the meaning of the status values including scheduled entries in 'all'. This helps the agent predict results accurately.

    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, no filler, with the core purpose front-loaded. The second sentence efficiently adds the key behavioral nuance about status filtering without repeating schema 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?

    The description is largely complete for a simple read-only listing tool: it states the resource, default filtering, and how to use status. It does not mention pagination semantics for per_page or return value shape, but the schema bounds and tool name make those less critical.

    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 only 25%, but the description compensates by explaining the status parameter's default and allowed behaviors. The type and per_page parameters rely on their self-explanatory enums and numeric bounds, and project_id already has a helpful schema description pointing to list_projects.

    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 and resource — "List changelog entries for a project" — which clearly states what the tool does. It naturally differentiates from siblings like get_entry (singular), create_entry, update_entry, publish_entry, and list_projects.

    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 clear operational context by explaining the default behavior — only live published entries — and how to request drafts or all entries via the status parameter. It does not explicitly name alternatives or exclusion conditions, but the usage context is strong enough for an agent to decide when to call it.

    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

patchlog-mcp MCP server

Copy to your README.md:

Score Badge

patchlog-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/michaelyousrie/patchlog-mcp'

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