Skip to main content
Glama
duyet
by duyet

Server Quality Checklist

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

  • Disambiguation4/5

    Most tools have distinct purposes, such as get_analytics for reports, github_activity for GitHub events, and web-search for web queries. However, send_message and say_hi could be confused as both involve contacting Duyet, though send_message is for formal inquiries and say_hi for greetings. The overlap is minor and clarified by descriptions.

    Naming Consistency3/5

    The naming is mixed with snake_case (e.g., get_analytics, github_activity) and kebab-case (web-fetch, web-search), breaking consistency. Verb patterns vary, such as 'get_' for retrieval and 'send_' for actions, but the deviation in case styles reduces predictability. It remains readable but lacks a uniform convention.

    Tool Count5/5

    With 8 tools, the count is well-scoped for a personal server covering analytics, blog content, GitHub activity, hiring info, messaging, and web utilities. Each tool serves a clear purpose without redundancy, fitting the domain of personal and professional interaction with Duyet.

    Completeness4/5

    The tool set covers key areas like analytics, content retrieval, activity tracking, and communication, with no major gaps for its personal server purpose. Minor gaps might include updating or deleting messages, but core workflows (e.g., fetching, searching, contacting) are adequately supported, allowing agents to function effectively.

  • Average 3.4/5 across 8 of 8 tools scored.

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

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. The description mentions what the tool generates but doesn't disclose behavioral traits like whether it requires authentication, has rate limits, returns data in a specific format, or involves any side effects. For a reporting tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves.

    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 a single, efficient sentence that front-loads the core purpose and lists key components. It avoids unnecessary words and gets straight to the point, though it could be slightly more structured by separating usage context from functionality.

    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?

    Given the tool's complexity (analytics generation with multiple report types) and lack of annotations and output schema, the description is incomplete. It doesn't cover behavioral aspects, return values, or detailed usage scenarios. The description alone is insufficient for an agent to fully understand how to invoke and interpret results from this tool.

    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 description lists report components (summary statistics, purpose breakdown, daily trends, recent activity patterns) that partially map to the 'report_type' enum values, adding some meaning beyond the schema. However, with 100% schema description coverage, the schema already documents all parameters thoroughly. The description doesn't explain parameter interactions (e.g., that 'custom_period' requires date_from/date_to) or add significant semantic depth, so it meets the baseline.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's purpose: 'Generate analytics reports on contact submissions' with specific components listed (summary statistics, purpose breakdown, daily trends, recent activity patterns). It uses a specific verb ('Generate') and identifies the resource ('analytics reports on contact submissions'). However, it doesn't distinguish this tool from sibling tools, which are unrelated (blog posts, GitHub activity, hiring, messaging, web operations).

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, appropriate contexts, or exclusions. While sibling tools are unrelated, there's no explicit comparison or usage context provided beyond the basic function.

    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?

    No annotations are provided, so the description carries full burden. It mentions 'Includes expertise, experience, and next steps' which hints at output content, but lacks details on behavioral traits like response format, data sensitivity, rate limits, or authentication needs. For a tool with personal hiring information and optional contact details, this gap is significant.

    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 appropriately sized with two sentences that efficiently convey purpose and scope. It's front-loaded with the main action and includes relevant details without redundancy. Every sentence adds value, though minor improvements in structure could enhance clarity.

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

    Completeness3/5

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

    Given no annotations and no output schema, the description is moderately complete but has gaps. It covers the tool's purpose and hints at output content, but lacks details on behavioral aspects and return values. For a tool with personal data and multiple parameters, more context on usage and results would improve completeness.

    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%, providing baseline documentation for all 5 parameters. The description adds no additional parameter semantics beyond what's in the schema (e.g., no examples or edge cases). With high schema coverage, a score of 3 is appropriate as the description doesn't compensate but doesn't need to heavily.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's purpose: 'Get information about hiring Duyet for various roles' with specific role types listed. It distinguishes itself from siblings like 'get_analytics' or 'send_message' by focusing on hiring information, though it doesn't explicitly contrast with them. The verb 'Get information' is specific and the resource 'hiring Duyet' is well-defined.

    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. The description implies usage for hiring-related queries but doesn't specify prerequisites, exclusions, or compare it to other tools like 'say_hi' or 'send_message' that might handle communication. Without explicit when/when-not instructions, users must infer context.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the tool will 'get contact information and connection links' which adds useful context about what happens beyond just sending a greeting. However, it doesn't describe important behavioral aspects like whether this is a read-only operation, what format the contact information comes in, whether there are rate limits, authentication requirements, or what happens to the message after sending.

    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 efficiently structured in two sentences that each serve distinct purposes: the first explains the core greeting function, the second adds valuable context about additional outcomes. There's no wasted language, though it could be slightly more front-loaded by mentioning the contact information aspect earlier.

    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 greeting tool with one optional parameter and no output schema, the description is adequate but has gaps. It explains what the tool does and adds context about getting contact information, but doesn't describe the return format or what 'contact information and connection links' actually entails. With no annotations and no output schema, more detail about behavioral outcomes would be helpful.

    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 description mentions 'optional personal message' which aligns with the single parameter in the schema. Since schema description coverage is 100% (the parameter already has a clear description), the description adds minimal additional value. The baseline score of 3 is appropriate when the schema already documents parameters adequately.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's purpose: 'Send a friendly greeting to Duyet with an optional personal message. Get contact information and connection links.' It specifies the action (send greeting), target (Duyet), and additional outcomes (get contact info/links). However, it doesn't explicitly differentiate from sibling tools like 'send_message' or 'hire_me' which might have overlapping communication functions.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when this greeting tool is appropriate compared to 'send_message' (which might be for general messaging) or 'hire_me' (which might be for professional inquiries). There's no indication of prerequisites, timing considerations, or exclusions for usage.

    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?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions retrieving 'recent' activity and 'public events', hinting at read-only and non-destructive behavior, but doesn't clarify aspects like rate limits, authentication needs, data freshness, or what 'recent' means (e.g., time range). For a data retrieval tool with zero annotation coverage, this leaves significant gaps in understanding operational constraints.

    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, efficient sentence that front-loads the core purpose without unnecessary words. It lists the types of activities included (commits, issues, etc.), which adds useful detail without verbosity. Every part earns its place, 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?

    Given the tool's moderate complexity (2 parameters, no output schema, no annotations), the description is adequate but incomplete. It covers the purpose and scope but lacks details on behavioral traits, usage context, and output format. Without annotations or output schema, more guidance on what the tool returns (e.g., structured data vs. raw events) would improve completeness, but it meets a minimum viable level.

    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%, with both parameters ('limit' and 'include_details') well-documented in the schema. The description adds no additional parameter semantics beyond implying retrieval of 'recent' activity, which isn't tied to specific parameters. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but also doesn't detract from the schema's clarity.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's purpose: 'Get Duyet's recent GitHub activity including commits, issues, pull requests, releases, and other public events'. It specifies the verb ('Get'), resource ('GitHub activity'), and scope ('Duyet's recent'), but doesn't explicitly differentiate from sibling tools like 'get_analytics' or 'web-search', which might also retrieve data. The specificity of targeting a particular user's GitHub activity is good but not contrasted with alternatives.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_analytics' (which might overlap for data retrieval) or 'web-search' (which could search GitHub), nor does it specify prerequisites or exclusions. Usage is implied by the purpose but lacks explicit context for selection among available options.

    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?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that 'Messages are saved with a reference ID for follow-up', which adds useful context about persistence and tracking. However, it fails to disclose critical behavioral traits such as whether this is a read-only or mutative operation, authentication requirements, rate limits, or error handling. For a tool that likely involves sending data, this is a significant 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 appropriately sized and front-loaded, with two sentences that efficiently convey the tool's purpose and key behavioral detail (reference ID). Every sentence earns its place without redundancy or fluff, making it easy to scan and understand quickly.

    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?

    Given the complexity (a message-sending tool with no annotations and no output schema), the description is incomplete. It lacks details on behavioral aspects (e.g., mutative nature, auth needs), output format (what the reference ID looks like or response structure), and error scenarios. While it covers the basic purpose, it doesn't provide enough context for safe and effective use by an AI 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?

    Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description does not add any parameter-specific semantics beyond what the schema provides (e.g., it doesn't explain the 'purpose' enum values or 'message' constraints further). Baseline 3 is appropriate when the schema does the heavy lifting, but no extra value is added.

    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 verb ('Send') and resource ('message to Duyet'), specifying the action and target. It distinguishes from siblings like 'say_hi' by mentioning specific use cases (collaboration, job opportunities, etc.), though it doesn't explicitly contrast with all siblings. The purpose is well-defined but could be more distinct from similar tools.

    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 contexts (collaboration, job opportunities, consulting, general inquiries), providing some guidance on when to use this tool. However, it lacks explicit when-not-to-use scenarios or alternatives (e.g., vs. 'say_hi' or 'hire_me'), leaving room for ambiguity. The guidance is helpful but not comprehensive.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It describes what the tool does (extracts content and metadata) but lacks details on error handling, rate limits, authentication needs, or output format, leaving gaps in 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?

    The description is front-loaded and efficient with two sentences that directly convey the tool's purpose and scope without any wasted words, making it easy to understand quickly.

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

    Completeness3/5

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

    Given the tool's moderate complexity (single parameter, no output schema, no annotations), the description is adequate but incomplete. It covers the purpose and domain constraints but lacks details on output structure, error cases, or behavioral traits, which are needed for full contextual understanding.

    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 the schema already documents the 'url' parameter fully. The description adds minimal value by reiterating the domain constraints but does not provide additional syntax or format details beyond what the schema specifies.

    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 specific action ('Get the full content'), resource ('blog post'), and scope ('by URL'), distinguishing it from siblings like web-fetch or web-search by specifying extraction of article text, title, and metadata from specific domains (blog.duyet.net or duyet.net).

    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 context for when to use this tool (to extract content from specific blog domains) but does not explicitly mention when not to use it or name alternatives among siblings, such as web-fetch for general URL fetching or web-search for broader searches.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It adequately describes the core behavior (searching via DuckDuckGo and returning results) but lacks details about rate limits, authentication needs, error handling, or whether it's read-only/destructive. The mention of 'current information' hints at real-time capabilities but isn't explicit about freshness or limitations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is efficiently structured in two sentences: the first states the action and output, the second provides usage context. Every sentence adds value without redundancy, and it's front-loaded with the core functionality.

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

    Completeness3/5

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

    Given the tool's moderate complexity (2 parameters, no annotations, no output schema), the description is minimally adequate. It covers the purpose and usage but lacks details on output format beyond high-level types, error cases, or operational constraints. Without annotations or output schema, more behavioral context would be helpful 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?

    Schema description coverage is 100%, so the schema already fully documents both parameters ('query' and 'max_results'). The description doesn't add any parameter-specific semantics beyond what's in the schema, such as query formatting tips or result ordering. This meets the baseline of 3 when schema coverage is high.

    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 ('Search the web') and resources ('using DuckDuckGo'), and distinguishes it from siblings by specifying it's for web search rather than analytics, blog content, GitHub activity, or other functions. It explicitly mentions what it returns ('titles, URLs, and snippets of search results').

    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 for when to use this tool ('Useful for finding current information, articles, documentation, and general web content'), which helps differentiate it from siblings like 'web-fetch' (likely for fetching specific URLs) or content-specific tools. However, it doesn't explicitly state when NOT to use it or name specific alternatives.

    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 effectively describes key behaviors: content extraction for HTML (extracts text), support for multiple formats (JSON, plain text), security restrictions (default trusted domains only), and the ability to override security with 'allow_any_domain'. However, it doesn't mention potential rate limits, error handling, or response structure details, leaving some behavioral aspects uncovered.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is efficiently structured in three sentences that each serve a clear purpose: stating the core function, listing supported formats, and explaining security behavior with a cautionary note. There's no redundant information, and it's appropriately sized for the tool's complexity, making it easy for an agent to parse quickly.

    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 3 parameters, 100% schema coverage, but no annotations or output schema, the description does well by covering purpose, usage guidelines, and key behaviors. It adequately explains what the tool does and when to use it, though it could benefit from more detail about output format or error cases to be fully complete given the lack of output schema.

    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 description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds some context by explaining the security implications of 'allow_any_domain' ('use with caution') and mentioning content type support, but doesn't provide additional semantic meaning beyond what the schema descriptions already cover for each 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?

    The description clearly states the verb 'fetch' and resource 'content from a URL', specifying the action and target. It distinguishes this tool from siblings like 'web-search' by focusing on direct URL content retrieval rather than search functionality, making the purpose specific and well-differentiated.

    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 guidance on when to use the tool: for fetching content from URLs, with specific content types supported (HTML, JSON, plain text). It also includes a clear cautionary note about the 'allow_any_domain' parameter, advising 'use with caution' for non-trusted domains, which helps the agent understand security implications and appropriate usage contexts.

    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

duyet-mcp-server MCP server

Copy to your README.md:

Score Badge

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

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