Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Every tool targets a distinct entity or level of detail: list_* for collections, get_* for individual items, search_* for cross-cutting queries. Even similar-sounding tools like list_resumes vs list_resume_summaries serve clearly different purposes (full vs lightweight).

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern in snake_case (e.g., get_resume_profile, list_work_experiences, search_resumes_by_skill). No mixing of conventions or vague verbs.

    Tool Count4/5

    19 tools is slightly above the typical 3-15 range, but the number is well-justified by the domain's complexity (multiple entity types: resumes, skills, experiences, projects, education) and the need for both list and detail endpoints per entity.

    Completeness5/5

    The tool surface provides comprehensive read-only coverage: every entity (resume, work experience, achievement, skill, side project, education) has a list and get endpoint, plus cross-cutting search and aggregate stats. No obvious gaps for retrieval.

  • Average 4.4/5 across 19 of 19 tools scored. Lowest: 3.8/5.

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

    • No community issues in the last 6 months
    • 41 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 GPL 3.0.

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

  • This repository includes a glama.json configuration file.

  • This server has been verified by its author.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior3/5

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

    Annotations already declare readOnlyHint=true and idempotentHint=true, indicating safe behavior. The description adds that it returns an error object if the id is not found, which is useful but does not elaborate on other behavioral traits (e.g., whether achievements are nested or how many).

    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 at two sentences, with the primary action front-loaded. Every word adds value, and there is no redundancy or waste.

    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 simple nature of this read tool (single parameter, output schema present), the description covers the core purpose and error behavior. It mentions that achievements are included, aligning with the tool's scope. The presence of an output schema compensates for missing return value details.

    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 provides full coverage (100%) with a clear description for the 'id' parameter. The tool description does not add any additional meaning beyond what the schema already provides.

    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 verb 'Get' and the resource 'a single work experience entry with its achievements'. It distinguishes itself from sibling tools like list_work_experiences (which lists) and get_achievement (which gets a single achievement).

    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 by stating the tool gets a single entry, and the parameter description indicates the id comes from list_work_experiences. However, it does not explicitly state when to use this tool versus siblings, nor does it provide exclusions or prerequisites.

    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 indicate readOnlyHint=true and idempotentHint=true. Description adds that response includes pagination details (total_count, items, has_more, next_offset, message), which is useful but does not disclose further behavioral traits like rate limits or caching. No contradiction with 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?

    Two concise sentences: first states purpose, second lists response fields. Front-loaded and no wasted words. Efficient structure.

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

    Completeness4/5

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

    With output schema present (hidden), description covers pagination response well. For a general search tool, it is sufficiently complete. Could optionally mention which document types are searched (implied by 'all documents' but not explicit).

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

    Parameters3/5

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

    Schema description coverage is 100%, so baseline is 3. Description does not add additional meaning beyond the schema; it remains generic. No parameter-specific elaboration.

    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?

    Description clearly states 'Search across all documents for a keyword or phrase.' 'All documents' distinguishes it from sibling 'search_resumes_by_skill' which focuses on skill-based search. Also mentions pagination fields in response, adding specificity.

    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?

    Description implies usage for keyword/phrase search across all documents, but does not explicitly state when to use versus alternatives like 'search_resumes_by_skill' or list tools. No exclusions or when-not guidance provided.

    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 and idempotentHint=true. The description adds that it returns an error if the id is not found and includes competencies, providing useful behavioral context beyond 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?

    The description is two short sentences, front-loaded with the core purpose, then adding error handling. Every word adds value with no unnecessary 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 tool's simplicity (one required parameter, annotations, output schema exists), the description covers the essential behavior: what it does, what it returns, and error case. No gaps for its intended use.

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

    Parameters4/5

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

    Schema coverage is 100% and the schema description for 'id' says 'Education entry ID from list_education', which tells the user where to obtain the ID. The description does not repeat this but the parameter's purpose is clear.

    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 starts with 'Get a single education entry by ID, including its competencies', clearly stating the verb and resource. It distinguishes from sibling tools like list_education (which lists all entries) by focusing on a single entry by ID.

    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 when you have an ID but does not explicitly state when to use this tool versus alternatives (e.g., list_education to get IDs first). No indication of when not to use it.

    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 indicate read-only and idempotent behavior. The description adds valuable context: skills are deduplicated and shared across resumes (no resume_id on items), pagination uses total_count and items, and an error is returned if resume_id is not found. No contradiction with 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?

    The description is concise with four sentences, each adding unique value: purpose and filtering, deduplication note, pagination structure, and error behavior. It is front-loaded and efficient.

    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 existence of an output schema, the description adequately covers pagination and error handling. It could benefit from mentioning default ordering, but overall it sufficiently guides the agent for a list/filter tool among many siblings.

    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?

    All parameters have schema descriptions (100% coverage), so the baseline is 3. The description does not add significant parameter details beyond what the schema provides, except implicitly linking query to title matching.

    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 lists badge skills (technologies, tools, languages) and optionally filters by resume or keyword query. It also notes that it absorbs the old search_skills tool, effectively differentiating it as the combined list/search tool for skills.

    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 context on when to use the tool (listing/filtering skills) and mentions limitations like deduplication and error handling. However, it does not explicitly state when to avoid it or suggest alternatives like get_badge_skill for a single skill.

    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 provide readOnlyHint and idempotentHint. Description adds value by specifying error return behavior on invalid ID, which annotations do not cover. No contradictions.

    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 with no extraneous words. First sentence clearly states purpose, second adds error behavior. Efficient and front-loaded.

    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?

    Given simple tool with one required parameter and existing output schema, the description fully covers essential behaviors (what it does, error case). No gaps.

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

    Parameters3/5

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

    Schema covers 100% of parameters, so baseline is 3. Description only repeats 'by ID' and does not add additional semantics beyond the schema's existing description of the id parameter.

    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?

    Explicitly states the verb 'Get', the resource 'achievement (phrase skill)', and the key parameter 'by ID'. Clearly distinguishes from sibling 'list_achievements' which returns multiple.

    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?

    Implies usage when a single achievement is needed by ID. Indicates error handling if ID not found. However, lacks explicit exclusions or alternative suggestions beyond the sibling context.

    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 indicate readOnlyHint=true and idempotentHint=true. The description adds value by enumerating the exact fields returned, which clarifies the scope of data. No behavioral traits are hidden or contradicted.

    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, with a clear front-loaded purpose sentence, a bullet-style list of outputs, and a single example. Every sentence is necessary and free of fluff.

    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?

    Given no parameters, an output schema exists (implied by the field list), and annotations cover safety and idempotency, the description is fully adequate. It explains what is returned and how to call 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 tool has no parameters, so the description need not add parameter details. Baseline is 4, and the description appropriately skips parameter information.

    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 returns aggregate counts and averages across the entire resume collection, listing specific fields (e.g., total_resumes, avg_skills_per_resume). This distinguishes it from sibling tools that operate on individual items (e.g., get_resume, list_resumes).

    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 for obtaining aggregate statistics but does not explicitly state when to use or not use this tool versus alternatives. It provides an example call but lacks guidance on context or exclusions.

    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 indicate readOnly and idempotent behavior. The description adds the descending order ranking detail, which is non-obvious. No contradictions.

    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 fluff. The first sentence directly states the action and result format. Every word is informative.

    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, one-parameter, read-only tool with an output schema, the description covers purpose, usage context, and parameter. No missing information needed for an agent to invoke it correctly.

    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 only parameter 'limit' is fully documented in the input schema with description and default. The tool description adds no further semantic value beyond the schema, so baseline 3 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 clearly states the tool returns badge skills ranked by frequency in descending order, differentiating it from sibling tools like list_skills and search_resumes_by_skill.

    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?

    Provides context that it is useful for identifying common technologies across all candidates, but does not explicitly state when not to use or list alternatives. Still clear enough for an agent 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.

  • Behavior4/5

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

    Annotations already declare readOnly and idempotent, so the description adds value by explaining conditional response shape, pagination, and error handling. No contradictions.

    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?

    Description is detailed but well-structured, with each paragraph adding value. Could be slightly more concise, but front-loads purpose and explains complex behavior efficiently.

    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 (5 params, conditional output), the description covers purpose, filtering, response shape, pagination, and error handling. Output schema exists, so return details are not needed. Sibling differentiation is partially addressed.

    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 has 100% coverage and descriptions, but the description adds meaningful context about how parameters affect response shape (e.g., resume_id and query omitted vs. given). This goes beyond 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?

    Clearly states the tool lists achievements (resume bullet points) with optional filtering by resume_id and keyword query. Mentions it absorbs the old search_achievements tool, distinguishing it from siblings.

    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?

    Provides clear guidance on when to use filtering options and how response shape depends on arguments. Does not explicitly state when not to use or compare to alternatives like get_achievement, but context is sufficient.

    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 (readOnlyHint: true, idempotentHint: true) already signal safe read operation. The description adds behavioral context: it returns only 'id, name, email, phone', includes pagination fields 'total_count and items', and that query filters by first or last name. No contradictions. The description enhances understanding beyond the 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?

    Five concise sentences, each adding distinct value. Front-loaded with purpose and output format. No redundant information. Every sentence earns its place, making it highly efficient for agent consumption.

    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?

    Given the presence of an output schema (context signal: true), the description need not detail return structure, but it mentions total_count and items for pagination, which is helpful. Covers filtering, the absorbed sibling tool, and the lightweight nature. Fully sufficient for an agent to understand usage in context.

    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%, so baseline is 3. The description adds minimal parameter context: 'Pass query to filter by first or last name' relates to the query parameter, but the schema already describes it well. Mode and pagination parameters are not elaborated in the description beyond what schema provides. No significant value added beyond 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?

    Clearly states it lists resumes as lightweight identity records with specific fields (id, name, email, phone). Distinguishes from sibling 'search_resumes_by_skill' by contrasting name-based filtering vs skill search, and mentions absorbing the old search_resumes_by_name tool. The verb 'list' combined with the lightweight scope makes the purpose immediately clear.

    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?

    Explicitly advises using this tool to 'orient and pick a resume_id before fetching details with other tools' and highlights token-efficiency over a presumably heavier 'list_resumes' tool. Implicitly contrasts with sibling 'search_resumes_by_skill' by focusing on name filtering. Does not explicitly list when not to use, but the guidance is clear and actionable.

    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 provide readOnlyHint=true and idempotentHint=true. The description adds valuable behavioral context: returns an error object if the ID is not found, which is not covered by annotations. This is useful beyond the structured fields.

    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 with no redundant information. Every part is essential: the action, the resource, the error behavior. Front-loaded with the main purpose.

    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?

    Given the tool's simplicity (single parameter, simple retrieval), the description is complete. It explains the return value behavior (error on not found) and the parameter source. Output schema exists, so return format is covered.

    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 100%. The parameter 'id' is described as 'Badge skill ID from list_skills', adding meaning about the source and type of the ID beyond the schema's type definition.

    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 'Get a single badge skill by ID', specifying the verb (Get), resource (badge skill), and scope (single by ID). It distinguishes from sibling tools like list_skills which retrieves multiple, and other get_* tools for different resources.

    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 for retrieving a specific badge skill by ID, but does not explicitly state when to use this tool vs alternatives (e.g., list_skills for browsing all). No 'when not to use' or exclusions are provided.

    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 confirm read-only and idempotent behavior; description adds return format and error handling details, going beyond structured data.

    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 concise sentences front-loading the purpose, with no extraneous 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 tool with one parameter, clear annotations, and a straightforward return format, the description provides all necessary context including error case.

    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 covers the path parameter completely with examples; description reinforces but adds no new semantic information 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 tool returns full extracted text as a JSON object, and distinguishes it from siblings by specifying it takes a file path not a resume_id.

    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?

    Explicitly tells when to use (with a file path from list_resumes) and when not to (use get_resume_profile or list_resumes for structured data by ID), plus notes error handling.

    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 indicate readOnly and idempotent. The description adds that it returns technologies and an error object if not found, which is useful beyond 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?

    Two concise sentences, front-loaded with purpose. No wasted words.

    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?

    Given the presence of an output schema, the description adequately covers return value shape (includes technologies, error on not found). Complete for a simple get-by-ID tool.

    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 covers 100% of parameters. The description adds context 'Side project ID from list_side_projects', which provides semantic guidance beyond the schema's type and required flag.

    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 specifies 'Get a single side project by ID' with a verb and resource, and distinguishes from list_side_projects (list vs single). It also notes the inclusion of technologies and error handling.

    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 implies usage when you have an ID (from list_side_projects), but does not explicitly state when not to use or compare to siblings. The error return note provides some guidance.

    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 and idempotentHint. The description adds valuable context about returning structured data vs flat metadata depending on doc_type and includes pagination details.

    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 sentences with no waste. Front-loaded with main purpose, efficient and well-structured.

    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?

    Given the existence of an output schema and sibling tools, the description provides sufficient context including doc_type behavior, pagination, and references to alternatives.

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

    Parameters4/5

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

    Schema coverage is 100% with parameter descriptions. The description adds extra meaning for doc_type behavior (structured data when resume) and mentions pagination parameters implicitly.

    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 lists documents and explains the behavior based on doc_type. It distinguishes from sibling tools like list_resume_summaries and get_resume_full.

    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 references to alternative tools (list_resume_summaries, get_resume_full) for different use cases, giving good guidance. Lacks a direct 'use this when' statement but context is clear.

    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?

    Annotations show readOnlyHint and idempotentHint true, consistent with a safe read operation. The description adds behavioral details like different result shapes per mode, pagination, and error handling, going beyond annotations.

    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 structured with bullet-like clauses and front-loaded with the main purpose. It is somewhat lengthy but each sentence adds value, avoiding redundancy.

    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?

    Given the tool's complexity (multiple modes, filtering, pagination, error cases), the description covers necessary details. Response structure and error handling are mentioned, making it complete for an agent.

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

    Parameters4/5

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

    Schema coverage is 100%, but the description adds functional context: precedence between competency and query, result shape differences, and pagination behavior. This adds significant value beyond the schema alone.

    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 lists education entries with filtering options. It explicitly mentions absorbing two old search tools, distinguishing it from siblings that handle other resume sections.

    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 explains when to use competency vs query vs neither, including precedence rules. It lacks explicit when-not-to-use guidance but effectively conveys context.

    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?

    Annotations declare readOnlyHint and idempotentHint. Description adds behavioral details: filtering interplay, result shape differences, error handling for missing resume_id, and pagination. No contradictions.

    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?

    Well-structured with bullet points and clear hierarchy. Lengthy but justified given the complex filtering behavior. Could be slightly more concise, but no fluff.

    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?

    Covers all filtering modes, pagination, error handling, and result shapes. With output schema present and no nested objects, the description is sufficiently complete for an AI agent to use 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 100%, so parameters are already documented. The description adds value by explaining how query and technology interact, precedence rules, and result shape changes, which 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 explicitly states the tool lists side projects (personal/portfolio projects) and distinguishes them from work experience. It also mentions absorbing old search tools, providing clear scope.

    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?

    Provides detailed filtering logic (technology vs query precedence, pagination) but does not explicitly compare to sibling tools like get_side_project or list_work_experiences; however, the context of listing vs retrieving is implied.

    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?

    Annotations indicate readOnlyHint and idempotentHint are true. The description adds context about pagination (total_count, items), error handling, and the 'absorbs the old search' behavior. No contradictions.

    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 five sentences, front-loading the main purpose and filters. Each sentence adds meaning, though it could be slightly more terse. It effectively communicates key points without redundancy.

    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?

    Given the tool has 6 optional params, an output schema, and strong annotations, the description covers purpose, all filter options, pagination, and error states. It is complete for a list endpoint, providing sufficient context for an agent to decide and invoke 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 100%, so param descriptions are already detailed. The description adds value by mentioning the resume_id field in results and pagination fields (total_count, items), which are not in param descriptions. This enhances understanding 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 it lists work experiences with optional filters (resume, current_only, query). It distinguishes from siblings like get_work_experience (single) and other search tools by focusing on work experiences. The absorption of the old search tool reinforces its scope.

    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 explains optional filters and pagination, and notes error when resume_id is not found. It mentions absorbing the old search tool, implying it replaces that. However, it could more explicitly contrast with sibling tools like get_work_experience or list_resumes.

    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 indicate readOnlyHint and idempotentHint as true. The description adds value by detailing what is omitted (nested fields) and error responses, without contradicting 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?

    Two sentences plus a see-also and error note; every sentence provides value. Front-loaded with the core purpose.

    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?

    Given the presence of an output schema and simple single-parameter input, the description fully covers purpose, scope, alternatives, and errors, leaving no 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?

    Schema coverage is 100% with an inline description for resume_id. The description adds context by noting the source ('from list_resume_summaries'), which aids parameter understanding 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 specifies the verb 'Get' and the resource 'resume's top-level fields', listing included fields (contact info, professional statement, education) and excluded ones (nested work experience, badge skill lists), clearly distinguishing it from get_resume_full.

    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?

    Explicitly suggests when to use (for top-level fields) and directs to get_resume_full for complete resume data. Also documents error behavior when resume_id is not found.

    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?

    The description adds valuable behavioral context beyond the readOnlyHint and idempotentHint annotations, such as returning only resume identity and matched skill names, and pagination details. No contradictions with 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?

    The description is concise with three sentences, front-loading the purpose and usage, then listing output fields. Every sentence adds value with no redundancy.

    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?

    Given the existence of an output schema, the description provides sufficient context: purpose, input, output fields, and pagination. It covers the essential aspects for an agent to use the tool correctly.

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

    Parameters3/5

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

    Schema description coverage is 100%, so baseline is 3. The description reinforces the skill parameter flexibility but does not add new meaning beyond the schema. The mention of result fields aids understanding but pertains to output, not parameter semantics.

    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 verb 'Find' and the resource 'resumes', specifying that it filters by badge skills. It explicitly distinguishes itself from the sibling tool 'list_resume_summaries' by highlighting token efficiency for skill-based filtering.

    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 advises when to use this tool ('more token-efficient than list_resumes when filtering by skill') and explains that it accepts both a single skill and a list of skills, providing clear guidance on alternative usage.

    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?

    Beyond annotations (readOnlyHint, idempotentHint), description adds that it returns the full nested structure and mentions error handling for missing resume_id, providing useful behavioral context.

    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?

    Four sentences, no wasted words. Purpose is front-loaded, followed by usage guidance and error behavior. Efficient and well-structured.

    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?

    Description fully explains what data is returned, and context signals indicate output schema exists. Complete for a read-only retrieval tool with one parameter.

    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?

    Single parameter resume_id is described well in schema as 'Resume ID from list_resume_summaries'. Description reinforces this and adds context about its source, adding 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?

    Description clearly states it retrieves the complete nested structure of a resume, listing all included components. This distinguishes it from siblings like get_resume_profile and list_* tools.

    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?

    Explicitly advises to prefer get_resume_profile plus scoped list_* tools for partial data for token efficiency, and to use get_resume_full when the whole picture is needed. Provides clear when-to-use and alternatives.

    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

resume-mcp-server MCP server

Copy to your README.md:

Score Badge

resume-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/mnoomnoo/resume-mcp-server'

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