Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool targets a distinct input type and workflow: photos of forms to Excel, audio to meeting notes, government PDFs, and rosters from workbooks. There is no overlap in purpose or input, so an agent can easily select the correct tool.

    Naming Consistency4/5

    Three tools share the 'careflow_' prefix, but the fourth uses 'roster_', and none follow a verb_noun pattern. The names are descriptive and readable, but slightly inconsistent in structure and prefix.

    Tool Count5/5

    Four tools is an ideal size for a domain-specific server, covering several distinct workflows without overwhelming the agent. Each tool has a clear role and earns its place.

    Completeness4/5

    Each tool provides a full workflow from input to review to export/publish, covering key NGO operation needs. Minor broader-domain gaps exist (e.g., client management, activity tracking), but the core workflows are well represented.

  • Average 4.3/5 across 4 of 4 tools scored.

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

    • No community issues in the last 6 months
    • 45 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
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • 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?

    With no annotations, the description carries the full burden of behavioral disclosure. It reveals the multi-step workflow (start, status, review, export), the required input format, and the strict requirement that 'every review must submit all 13 fields.' It does not detail error handling or return behavior, but the output schema exists, which mitigates that gap.

    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 three sentences long, tightly packed with actionable information. It front-loads the primary purpose, then immediately gives start instructions, exclusions, and workflow guidance. No wasted words.

    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?

    While the description covers the overall process and specific exclusions, it lacks details on the 13 required fields, the allowed values for 'operation', and the structure of the 'input' object. Given the tool's complexity (multi-step, multiple file types, strict field count), the description is incomplete without those details. The presence of an output schema helps for return values, but input semantics remain under-specified.

    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 0% description coverage, so the description must compensate for all parameter meanings. It mentions 'image_paths' which is not a top-level parameter, likely nested inside the 'input' object, but does not clarify how to use 'operation', 'job_id', 'request_id', or how the 'input' object should be structured. The workflow hints at operation values (status, review, export) but does not map them to the schema, leaving significant ambiguity.

    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: converting photos/scans of CareFlow volunteer visit forms into reviewed records and an Excel workbook. It uses a specific verb ('convert'), identifies the resource, and distinguishes itself from siblings like careflow_meeting_notes and careflow_government_forms by explicitly excluding Excel files, audio recordings, and blank government PDFs.

    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 explicit when-to-use instructions ('For start, provide one or more absolute .jpg, .jpeg, or .png paths in image_paths') and when-not-to-use instructions ('Do not route Excel files, audio recordings, or blank government PDF forms to this tool'). It does not name alternative tools directly but makes the boundary clear, so it falls just short of a 5.

    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 burden of disclosing behavior. It does state that 'Export never publishes or distributes the workbook' and labels publish as 'ready-only final', offering some transparency. However, it does not detail side effects of status/review/revalidate operations, auth needs, or what happens to existing data, leaving gaps.

    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 compact, with two sentences. The first sentence front-loads the primary purpose, and the second adds workflow details. The second sentence is dense but remains understandable. Slight typo 'RosterCopiilot' is minor and does not affect clarity.

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

    Completeness4/5

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

    Given no annotations and sparse schema (only operation required), the description is fairly complete. It covers required input format, the job_id continuation pattern, and key constraints. The omission of request_id semantics is minor, and the presence of an output schema reduces the need to explain return values.

    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 introduces the critical parameters hc_workbook_path and escort_workbook_path (presumably within the input object) and enumerates valid operation values (status, review, revalidate, export, publish, get_published). This adds significant meaning beyond the bare schema names.

    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 explicitly states the tool builds and reviews a weekly RosterCopiilot roster from two specific workbook paths. This is a specific verb+resource+input combination that clearly distinguishes it from sibling tools (careflow forms/notes/government forms).

    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 provides clear guidance on what inputs are acceptable ('absolute .xlsx or .xlsm paths in native formats') and explicitly excludes generic spreadsheets and CareFlow exports. It also describes the subsequent workflow via job_id operations (status, review, revalidate, export, publish, get_published), giving contextual usage direction.

    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 full burden. It discloses supported audio formats, .docx/.doc template conditions, and the operation list, but does not explain what each operation (start, status, review, export, burn) does, nor any side effects or permission requirements. 'Burn' in particular is ambiguous.

    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 with no filler. The first sentence states purpose; the second packs file requirements, operations, and exclusions. It is dense but each clause adds value. It could be split for readability, but the structure is functional.

    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 multi-step tool with no annotations, the description covers purpose, exclusions, file types, operation names, and job_id usage. It doesn't detail what each operation does or the exact input object layout, but an output schema exists and the description is otherwise sufficiently complete for initial invocation.

    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 is the only source for parameter meaning. It explicitly names audio_path and template_path with file extensions, and lists operation values and job_id. However, it does not clarify that audio_path and template_path likely belong inside the 'input' object, nor does it explain request_id. This is strong but not complete.

    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?

    Clearly states it converts one local audio recording and one CareFlow report template into reviewed meeting or home-visit notes. This distinguishes it from sibling tools for paper forms, government forms, and rosters, giving a specific verb and resource.

    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?

    Provides explicit when-to-use guidance with file type requirements and exclusions ('PDF templates, images, and spreadsheets do not belong to this tool'), and describes the multi-step operation workflow. This effectively tells the agent when not to use it and which alternatives are likely needed for excluded formats.

    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?

    There are no annotations, so the description carries full burden. It discloses mandatory human review, input format restrictions (e.g., 'HEIC/HEIF only when discovery reports support'), and the need to continue the same job via status/review/export. This is substantial, though it could add detail about error behavior or permission requirements.

    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 consists of three dense sentences with no wasted words. It front-loads the core purpose, then gives prerequisites and exclusions, and ends with the required workflow. Every sentence contributes unique value and is easily scannable.

    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 complexity (multi-step job with template selection, source handling, review, and export) and minimal annotations/schema, the description covers the essential workflow and constraints. The existence of an output schema likely covers return value details, so the description is well-rounded, though 'request_id' remains unexplained.

    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 provides 0% description coverage, but the text effectively explains key inputs: 'template_id', 'one source' (text, image path, elder_profile object), and the operation lifecycle (status, review, export). It does not explicitly enumerate `operation` string values, but the workflow strongly implies them, offering meaningful help beyond the bare 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 states a specific action and resource: 'Fill a bundled Hong Kong government welfare-form PDF from elder information.' It also includes a distinctive qualifier ('mandatory human review before export') and clearly differentiates from sibling tools by focusing on PDF generation from elder data rather than Excel conversion or meeting notes.

    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 provides explicit usage directions: 'Call list_templates first or start with a template_id and exactly one source.' It also lists disallowed input types ('does not accept a blank government PDF, completed volunteer visit forms, audio, Word, or Excel files') and outlines a clear multi-step workflow ('Continue the same job with status, review using every preview field, then export').

    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

NGOPilot MCP server

Copy to your README.md:

Score Badge

NGOPilot 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/Wilsonnijc-bot/NGOPilot'

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