Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation4/5

    Most tools target distinct operations: send, submit, get, list, download, cancel, delete, events, and status. pingen_get_letter and pingen_letter_events both relate to tracking, but the former gives current status while the latter gives history, so they are distinguishable with the provided descriptions.

    Naming Consistency4/5

    All tools share the 'pingen_' prefix and most follow verb_noun naming (e.g., pingen_send_letter, pingen_delete_letter). pingen_letter_events and pingen_status deviate from the verb pattern, but the overall convention is predictable and clear.

    Tool Count5/5

    Nine tools cover the full letter lifecycle—creating, submitting, tracking, downloading, cancelling, deleting—plus an org status check. The count is well-scoped and each tool serves a clear purpose without unnecessary bloat.

    Completeness5/5

    The tool set covers the complete workflow for sending physical letters: upload/create, submit, monitor events/status, download PDF, cancel sent letters, and delete drafts. No obvious gaps in the core domain of letter management.

  • Average 3.9/5 across 9 of 9 tools scored. Lowest: 3.2/5.

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

    • No community issues in the last 6 months
    • 71 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 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

  • Behavior2/5

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

    With no annotations, the description carries the full burden of behavioral disclosure. 'Get' implies a read operation, but there is no mention of error handling, read-only behavior, response structure, or limitations. The phrase 'status/tracking' only hints at the return content.

    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 a single, concise sentence with no redundant words. It is front-loaded with the action and resource.

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

    Completeness2/5

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

    For a simple tool with one parameter and no output schema, the description is far too sparse. It does not provide enough context about expected response, usage timing, or how it differs from related tools, leaving the agent potentially under-informed.

    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 has 0% description coverage, so the description must compensate. 'By id' tells the agent that the parameter is the letter identifier, but it lacks format details, examples, or where to obtain the ID. This is minimal but not entirely absent.

    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 clearly states the action ('Get'), the resource ('letter'), and the scope ('status/tracking by id'). This distinguishes it from sibling tools like pingen_list_letters (multiple letters) and pingen_cancel_letter (mutation).

    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 is provided on when to use this tool versus alternatives such as pingen_status or pingen_letter_events. The description does not mention any exclusions or scenarios where this tool is preferred.

    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, the description carries the full burden of behavioral disclosure. It adds value by enumerating event types (created, submitted, sent, delivered, undeliverable), giving a sense of what the tool returns. However, it does not explicitly state that the operation is read-only, nor does it describe response format, pagination, or ordering.

    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 a single sentence that is front-loaded with the core purpose and includes relevant examples. Every word contributes meaning, with no fluff or redundancy.

    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?

    For a simple tool with one parameter and no output schema, the description gives enough to understand the basic function. However, it omits details about the return structure (e.g., whether it returns a list of events, timestamps, or statuses) and potential error conditions. This is acceptable for basic use but leaves gaps for an agent.

    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 has 0% description coverage, so the description must compensate for the sole parameter 'letter_id'. The phrase 'of a letter' implicitly indicates that the parameter identifies the letter whose history is being retrieved, but it does not explicitly state the parameter name, type, or constraints. This is adequate for a single obvious parameter but not exemplary.

    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 this as a tracking/status history tool for letters, listing example event types. It distinguishes itself from sibling tools like pingen_status (which likely provides current status) by emphasizing 'history' and 'events'.

    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 is provided on when to use this tool versus alternatives. It does not mention that pingen_status is for current status or that pingen_get_letter is for details. The reader must infer usage from the tool name and description.

    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, the description carries the full burden for behavioral disclosure. It only adds that cancellation is possible 'where cancellable', but does not disclose side effects, reversibility, failure modes, or whether this is a destructive operation. The caveat is helpful but insufficient for a mutation-like 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?

    The description is a single, clear sentence that states the core purpose without extraneous words. It is front-loaded and efficiently conveys the essential information, making it highly concise and well-structured.

    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?

    This is a simple one-parameter tool, and the description covers the primary action. However, without annotations or an output schema, it lacks details on what happens after cancellation, error conditions, or what 'cancellable' entails. It is minimally adequate but leaves gaps for the agent to handle unknown edge cases.

    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?

    The schema has only letter_id with 0% description coverage. The description does not explicitly explain that letter_id identifies the letter to cancel, nor does it add format or source information. The parameter's meaning is inferable from context and the tool name, but the description adds no value beyond 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 clearly states the action ('Cancel') and the object ('a letter that has already been submitted/sent'), which distinguishes it from sibling tools like delete_letter (likely for drafts) or submit/send. The specificity of 'submitted/sent' and the conditional 'where cancellable' adds clear scope, making the purpose 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?

    The description implies this tool is used when a letter has already been submitted/sent, which hints at the appropriate scenario. However, it does not provide explicit when-to-use vs alternatives, nor does it mention any exclusions or prerequisites (e.g., do not use for drafts, use delete_letter instead).

    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, the description must carry the burden of disclosure. It mentions 'with status and tracking' and optional page size, which hints at output content and pagination. However, it does not explicitly state that it is a read-only operation, nor does it describe pagination behavior beyond the existence of a page size.

    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 extremely concise—two short sentences that immediately state the tool's purpose and its only parameter. No unnecessary words or redundancy.

    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 list tool with one optional parameter and no output schema, the description covers the essentials: what is listed and the page size. It lacks details on return structure or filtering, but given the low complexity and sibling context, it is reasonably complete.

    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% as the limit parameter is described as 'page size (default 20)'. The description's 'Optional page size' adds no additional meaning beyond what the schema already provides, so the baseline of 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 tool lists letters and includes status and tracking, using a specific verb and resource. It is distinguishable from siblings like send or delete, though it does not explicitly contrast with get_letter or status.

    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 is provided on when to use this tool versus alternatives such as pingen_get_letter or pingen_status. The description only states what the tool does, leaving the user to infer appropriate usage.

    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, the description carries the full burden. It discloses the key prerequisite (letter being processed/sent) but doesn't mention potential errors, file overwrite behavior, or that it saves to a local filesystem. This is minimal but sufficient for a simple download 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?

    The description is a single, highly informative sentence. It includes the action, target, destination, and a timing constraint without any redundancy 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 simple two-parameter tool with no output schema, the description covers the essential aspects: what it does, where it writes, and when it's available. It doesn't need to explain return values, and the lack of nested objects keeps it straightforward.

    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 0%, so the description must compensate. It explicitly explains output_path as the destination, but letter_id is left implicit, relying on the tool name for meaning. This partial clarification justifies a mid-range score.

    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 clearly states the action: 'Download the letter PDF to output_path'. It specifies the verb (download), the resource (letter PDF), and the destination (output_path), making it distinct from siblings like pingen_get_letter (which likely retrieves metadata) and pingen_list_letters.

    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 parenthetical '(available once the letter is processed/sent)' provides clear timing guidance for when this tool should be used. It doesn't explicitly name alternatives, but the context and sibling names imply the appropriate scenario, earning a score above baseline.

    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 must carry the burden. It states the tool verifies credentials and returns organisation details, but it does not disclose error behavior, side effects, or explicitly confirm that it is a read-only operation. The simplicity helps, but more detail on failure modes would improve transparency.

    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 a single, well-structured sentence that immediately presents the verb and expected output. It is front-loaded and contains no extraneous information, every word earning 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 status tool with no parameters and no output schema, the description sufficiently covers the key outputs (name, plan, id) and the primary action (credential verification). It could mention the response format or error handling, but the scope is simple enough that current 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?

    The tool has zero parameters, and the schema is empty, so schema coverage is 100%. The description correctly avoids adding parameter details since there are none, meeting the baseline for a no-parameter 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 clearly states the tool's purpose with specific verbs 'Verify' and 'show' naming both the credential check and the returned organisation fields (name, plan, id). This distinguishes it from the sibling tools, which all handle letter operations.

    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 usage context is implied through the description, as it indicates credential verification and organisation status, which is distinct from the letter-focused siblings. However, it does not explicitly state when to use this tool versus alternatives or any exclusions, leaving the agent to infer the appropriate scenario.

    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 discloses the key behavioral distinction between draft and immediate send, and importantly explains why delivery_product is required on the auto_send path ('it is the one route that never reaches pingen_submit_letter'). It does not cover return values or error behavior, but the core send semantics are 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?

    The description is two dense sentences. The first states the main action, the second explains the draft/send branching and product requirement. Every clause adds information without padding.

    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 has two distinct modes and 4 parameters, with no output schema. The description covers the modes and the parameter dependency, but omits what the operation returns (e.g., a letter ID) and any file validation details. This is a notable gap given there is no output schema to fill 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 schema already documents all 4 parameters, so the baseline is 3. The description adds valuable context connecting auto_send and delivery_product, explaining the logical reason for the dependency. This goes beyond the schema's individual field descriptions.

    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 'Upload a PDF and create a letter', a precise verb+resource statement. It clearly distinguishes the draft/send behavior from the sibling pingen_submit_letter by explaining that drafts are not mailed until that tool is called, and auto_send=true creates the letter immediately.

    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 explicitly explains the default draft workflow ('nothing is mailed until pingen_submit_letter') and the alternative immediate-send path (auto_send=true) including the delivery_product requirement. It does not explicitly list when not to use the tool, but the context is clear enough.

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

  • Behavior5/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 explicitly warns that the action is 'IRREVERSIBLE AND CHARGEABLE,' states that it requires confirm:true, and details the physical mailing action. It also mentions optional print parameters. This is exemplary transparency for a side-effect-heavy tool.

    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 a single, dense sentence that front-loads the most critical warnings ('IRREVERSIBLE AND CHARGEABLE') and efficiently packs in the action, the confirm requirement, and optional parameters. Every word earns its place with no fluff or redundancy.

    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 tool with five parameters, no annotations, and no output schema, the description covers the essential operational context: action, risk, confirmation, and printing options. The main gap is the lack of explanation for the required 'delivery_product' parameter, which could confuse an agent about what values are acceptable. Otherwise, it presents a clear picture of what happens upon invocation.

    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 has zero description coverage for parameters. The description adds meaning for confirm (requires true) and enumerates possible values for print_mode and print_spectrum. However, it leaves letter_id and the required delivery_product unexplained. While it adds value for three of five parameters, the required delivery_product is completely unaddressed, limiting the compensatory effect.

    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 clearly states the tool's function: 'prints and physically mails an existing DRAFT letter.' This is a specific verb+resource, and it distinguishes the tool from siblings like pingen_send_letter (likely digital) and pingen_delete_letter by emphasizing physical mailing of a draft. The term 'submit' is clarified by the action of printing and mailing.

    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 provides clear usage context: use when you need to physically mail an existing draft letter, with an explicit warning about irreversibility and chargeability. It implicitly distinguishes from alternatives by specifying 'DRAFT letter' and physical mailing, but it does not explicitly name alternatives or state when not to use this tool. It conveys the need for confirm:true.

    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 behavioral disclosure. It labels the action as 'DESTRUCTIVE', notes irreversibility with 'for good', and explains the confirm:true requirement. It does not mention permissions or error handling, but for a simple delete operation, this is strong transparency.

    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 a single, front-loaded sentence with no wasted words. The 'DESTRUCTIVE' warning is immediately visible, and every clause adds essential information.

    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 2-parameter delete tool with no output schema and no annotations, the description covers the destructive nature, the required confirmation, and the alternative tool for canceling in-transit letters. This is sufficient for an agent to select and invoke the tool correctly.

    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 0%, so the description must compensate. It clarifies the confirm parameter by stating 'Requires confirm:true', and implies letter_id refers to the draft/not-yet-sent letter being deleted. However, it does not detail letter_id format or where to find it, which would add further value.

    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 clearly states the tool's function: 'delete a draft / not-yet-sent letter for good.' It uses a specific verb (delete) with a specific resource (draft/not-yet-sent letter) and distinguishes itself from the sibling pingen_cancel_letter by noting the alternative use case.

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

    Usage Guidelines5/5

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

    The description explicitly provides usage context: use for drafts/not-yet-sent letters, and explicitly names the alternative pingen_cancel_letter for letters already in transit. This gives clear when-to-use and when-not-to-use 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

pingen-mcp MCP server

Copy to your README.md:

Score Badge

pingen-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/sapn95/pingen-mcp'

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