Skip to main content
Glama
TedyHub
by TedyHub

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a unique purpose: account info, domain verification, listing, retrieval, creation, and updating. No two tools overlap, and the distinction between list/get and create/update is clear.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern in snake_case (get_account, verify_domain, list_domains, get_domain, create_domain, update_domain). This makes the API predictable and easy to navigate.

    Tool Count5/5

    With 6 tools, the server covers its domain management purpose without excess. Each tool is necessary and the count is typical for a focused CRUD-style API.

    Completeness4/5

    The domain lifecycle is mostly complete with list, get, create, and update, but a delete_domain operation is missing. The verify_domain tool adds value, yet the absence of delete is a minor gap for full resource management.

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

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

    • No community issues in the last 6 months
    • 1 commit in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

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

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

How is the quality score calculated?

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

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

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

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

Tool Scores

  • Behavior3/5

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

    With no annotations, the description carries the transparency burden. It discloses that working routing requires specific parameters and that verification is a separate step, but does not mention side effects, permissions, or reversibility. It adds some context beyond the basic create operation.

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

    Conciseness5/5

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

    The description is four concise sentences, front-loaded with purpose, includes a concrete example, and contains no unnecessary words. Every sentence adds value.

    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 creation tool with nested objects and no output schema or annotations, the description adequately covers the main purpose, the required parameter, the prerequisites for working routing, and the next step. It does not explain return values, but no output schema exists, and the schema covers nested property requirements.

    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 low (33%), so the description supplements by explaining the 'name' parameter with an example and noting the importance of fallback_url and store URLs. However, it does not detail all nested required fields, leaving some gaps that the schema descriptions partially fill.

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

    Purpose5/5

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

    The description states a specific verb and resource: 'Create a DeepTap subdomain' and 'configure iOS Universal Links and/or Android App Links.' This clearly distinguishes the tool from siblings like update_domain, verify_domain, and get_domain.

    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 the tool (creating a new subdomain) and gives a follow-up step ('After creating, call verify_domain'). It also notes conditions for working routing, but does not explicitly mention alternatives or exclusions.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It discloses that the response includes iOS/Android settings and generated file URLs, but does not explicitly state whether the operation is read-only, error behaviors, or any side effects. The word 'Fetch' implies a read, but lacks explicit disclosure.

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

    Conciseness5/5

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

    A single, focused sentence with no redundancy. It front-loads the core purpose ('Fetch one domain by id') then adds useful specifics about the response content, earning every word.

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

    Completeness4/5

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

    For a simple 1-parameter read tool with no output schema, the description adequately covers the return content and ID format. It lacks explicit error handling or authentication notes, but these are not critical for such a simple fetch operation, so it is nearly complete.

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

    Parameters3/5

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

    Schema coverage is 100% and the single parameter 'id' is already described with an example. The description repeats the ID format (dom_42) but adds no new meaning beyond the schema, so the baseline score of 3 applies.

    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 a specific action (fetch) on a specific resource (domain by id), with the exact ID format example. This distinguishes it from sibling tools like list_domains (fetching all) and verify_domain (verification), leaving no ambiguity about the tool's purpose.

    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 for retrieving a single domain by ID, contrasting with list_domains for bulk retrieval. However, it does not explicitly state when not to use it or name alternative tools, so it falls short of a 5.

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

  • 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 transparently explains what the tool checks and clearly notes its limitation ('only verifiable server-side; rebuilding the app and on-device checks are still required'). This gives the agent a clear understanding of the tool's scope.

    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 sentences long and front-loaded with the action. It conveys all necessary information without redundancy, making it easy to parse 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?

    The description covers the purpose, usage timing, and limitations, but it does not describe the return value or result format. Since there is no output schema, an agent cannot know how to interpret the tool's result (e.g., success/failure report), which is a significant gap for a verification 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 input schema has full coverage for the single 'id' parameter, including a description. The tool description doesn't add much detail about the parameter beyond implying it comes from a previously created/updated domain. Baseline 3 is appropriate since the schema already handles the heavy lifting.

    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 a specific verb and resource: it fetches the domain's generated association files and checks them against configured app identifiers. It lists specific checks (reachable, valid JSON, appID/package match, fingerprints, paths), making it distinct from sibling tools like get_domain or create_domain.

    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 explicitly states when to run the tool: 'Run after create_domain/update_domain.' It also provides context by noting it only verifies server-side and that on-device checks are still required. However, it does not explicitly mention when not to use it or compare it with 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?

    No annotations are provided, so the description carries the full burden. It discloses partial-update semantics (only passed fields change) and the iOS AASA caching delay (up to 24h), which are non-obvious and valuable. However, it does not mention authentication, error handling, or response behavior.

    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, front-loaded with verb+object, and no fluff. The caching caveat is important and concisely stated.

    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 nested objects and no output schema, the description covers key semantics (partial update, platform scope, caching delay) but omits response format and error conditions. Still, it is reasonably complete for the tool's complexity.

    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 low (33%), but the description adds meaning by explaining that ios and android represent platform configuration and that only passed fields change. It does not describe id or sub-property details, leaving much to 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?

    States 'Update a domain's iOS/Android configuration' with a specific verb and resource, clearly distinguishing from sibling tools like get_domain, create_domain, and verify_domain. The partial-update note further clarifies the tool's 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?

    Implies usage for updating existing domain configurations rather than creation or retrieval, providing clear context via the 'update' verb and partial-update behavior. Does not explicitly name alternatives like create_domain, but the 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?

    With no annotations, the description carries the full burden. It clarifies that the operation returns all domains with their configuration data, which implies a read-only action and gives an expectation of output content. It does not mention pagination, limits, or authentication, but for a list operation this is reasonable transparency.

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

    Conciseness5/5

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

    The description is a single, well-structured sentence that states the action, resource, and included details without any redundancy or filler. It is front-loaded with 'List all' and wastes no 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?

    For a list tool with no parameters and no output schema, the description fully covers what the tool does and what the response will contain. The sibling tools cover creation, update, verification, and singular fetch; this description clearly completes the list function. No critical gaps are evident.

    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?

    There are zero parameters, so no semantic explanation is needed. The schema coverage is complete (100% of nothing). The baseline for zero parameters is 4, and the description appropriately does not attempt to add parameter details.

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

    Purpose5/5

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

    The description uses a specific verb ('List') and identifies the resource ('all DeepTap domains for the account'), clearly distinguishing it from siblings like get_domain (singular) and create_domain. It also specifies the included details (iOS/Android config, AASA/assetlinks URLs), making the scope unmistakable.

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

    Usage Guidelines4/5

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

    The phrase 'List all ... for the account' conveys the context: use this to enumerate all domains rather than fetching a specific one via get_domain. It does not explicitly mention when not to use it or name alternatives, but the distinction from the singular get_domain is implied by 'all domains'.

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

  • Behavior4/5

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

    With no annotations, the description carries the full burden. It discloses the return content (account, plan, limits) and highlights the `meta` block for live usage and rate limits, which is valuable behavioral context beyond a simple getter.

    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 sentences: the first clearly states the purpose, the second provides actionable usage guidance and directs attention to the `meta` block. No word is wasted.

    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?

    The description is complete for the tool's simplicity: it explains the return values (account, plan, limits, meta block) and when to use it. Sibling tools are domain-related, so this account-level tool is well-contextualized.

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

    Parameters4/5

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

    The tool has zero parameters, so the description need not explain parameter semantics. This is the baseline score for a no-parameter tool.

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

    Purpose5/5

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

    The description states exactly what the tool does: 'Return the current DeepTap account, plan, and limits.' It uses a specific verb and resource, clearly distinguishing it from sibling domain-focused 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?

    The description explicitly says 'Call this first to check the plan and how many domains/links are available before creating resources,' providing clear when-to-use guidance. It also implies it is a preliminary step distinct from domain operations.

    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

deeptap-mcp MCP server

Copy to your README.md:

Score Badge

deeptap-mcp MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/TedyHub/deeptap-mcp'

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