Skip to main content
Glama
ascentkorea

Hubble MCP Server

by ascentkorea

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose: SERP, suggestions, trends, web page crawling, keyword graph info, keyword details, and search path. No overlap or ambiguity.

    Naming Consistency4/5

    All tool names use snake_case and follow a verb_noun pattern (crawl_*, get_*). The two verb prefixes are consistent with their functionality, though they differ from each other.

    Tool Count5/5

    7 tools is well-scoped for a keyword research and analysis server. Each tool covers a distinct aspect of SEO/keyword research without redundancy.

    Completeness4/5

    The set covers the main workflow: data collection (SERP, suggestions, trends, web pages) and analysis (graph, keyword info, search path). Minor gaps (e.g., no export or comparison tool) but core functionality is solid.

  • Average 3.1/5 across 7 of 7 tools scored. Lowest: 1.8/5.

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

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

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

    MCP servers without a LICENSE cannot be installed.

  • This repository includes a README.md file.

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

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

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

  • If you are the author, simply .

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

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

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

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

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

How is the quality score calculated?

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

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

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

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

Tool Scores

  • Behavior1/5

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

    No annotations are provided, so the description must fully disclose behavior. The phrase 'API 요청' (API request) is vague and does not describe whether the tool returns raw HTML, structured data, handles pagination, requires authentication, or has rate limits. Zero behavioral disclosure.

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

    Conciseness2/5

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

    The description is extremely short (5 words), which might be considered concise, but it achieves conciseness by omitting critical information. It is under-specified, not efficiently compact. Every word is present, but it does not earn its place due to lack of substance.

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

    Completeness1/5

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

    Given the complexity (2 parameters, no output schema, no annotations), the description is completely inadequate. It fails to explain return values, parameter behavior, or usage context. The agent cannot reliably select or invoke this tool based solely on this description.

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

    Parameters1/5

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

    Schema description coverage is 0%, meaning the schema lacks descriptions for both parameters. The tool description does not compensate; it does not mention the parameters at all. No explanation of keyword (required) or gl (optional with enum values) is given, leaving the agent without hints beyond the schema itself.

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

    Purpose3/5

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

    The description '구글 SERP API 요청' indicates it requests Google SERP (search results page). It specifies a verb ('crawl' from tool name) and resource (SERP), but does not detail what is returned or how it differs from siblings like crawl_google_suggest or crawl_google_trends. Purpose is somewhat clear but lacks specificity.

    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. No context about prerequisites, best use cases, or situations where it should be avoided. This leaves the agent without decision support.

    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?

    The description indicates it's a read operation collecting suggestions, but lacks details on rate limits, potential blocking, or response structure. The return type 'dict[Any] | None' is vague and insufficient for an agent to understand what to expect.

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

    Conciseness3/5

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

    The description is relatively short but contains a docstring-like structure (args, returns). However, there is redundancy in listing the country codes twice, and the parameter mismatch adds confusion. Could be more concise.

    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 no output schema, the description should explain the return format in detail. It only says 'dict[Any] | None', which is insufficient. Additionally, the parameter mismatch and lack of behavioral detail make the tool description incomplete for effective use.

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

    Parameters2/5

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

    The schema has 0% description coverage. The description redundantly lists 'keyword' and 'gl' but inaccurately uses 'keyword' while the schema has 'q'. It adds minimal meaning by listing country labels for the 'gl' enum, but does not clearly explain the parameters' purposes.

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

    Purpose3/5

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

    The description states it collects Google Suggest keywords for a given keyword, which is clear. However, there is a mismatch between the parameter name in the description ('keyword') and the actual schema name ('q'), which could confuse an AI agent.

    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 its siblings (e.g., crawl_google_serp, crawl_google_trends). The description simply explains what the tool does without usage 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?

    No annotations are provided, so the description carries the full burden. It only states 'crawl web page' without disclosing error handling, rate limits, authentication needs, or what happens with non-accessible pages. The behavioral profile is completely opaque.

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

    Conciseness3/5

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

    The description is short and structured with args and returns, but it is overly minimal. It is not wasteful, but it lacks necessary detail. Better structuring with examples or clearer formatting would improve it.

    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 that there is no output schema and no annotations, the description is incomplete. The return value is vaguely described as 'dict[Any] | None', leaving the agent unsure about the structure. Critical behavioral aspects like error handling are missing.

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

    Parameters2/5

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

    The schema has 0% description coverage, and the description adds no meaningful information beyond the schema. It rephrases the parameter as 'list of web pages to crawl' which adds no new constraints or formatting details. The return type is mentioned as 'dict[Any] | None' without further clarification.

    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 states 'Crawl web page' which is a clear verb+resource. However, it does not differentiate from sibling tools like crawl_google_serp, which also crawl web pages but with specific Google scope. The generic name implies any URL, but the description fails to explicitly state that.

    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. There is no mention of prerequisites, typical use cases, or when not to use it. The sibling tools (e.g., crawl_google_serp) are not referenced for comparison.

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

  • Behavior2/5

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

    With no annotations, the description should fully disclose behavioral traits. It mentions lowercase conversion and error handling, but omits side effects, authentication, rate limits, and mutation status. The 'dict or None' return type is stated but no details on failure modes.

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

    Conciseness3/5

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

    The description uses a docstring format ('Args:', 'Returns:') which is not ideal for MCP. It is moderately concise but front-loads an irrelevant implementation detail ('proper error handling') instead of the core purpose.

    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 output schema and no annotations, the description explains the core behavior and return type but lacks details on return structure, error scenarios, constraints, and potential side effects. It partially completes the picture.

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

    Parameters4/5

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

    Schema coverage is 0%, so the description is crucial. It provides type, role, and default for all three parameters (keyword lowercase, gl enum, limit as int with default 300), adding significant value beyond the schema types.

    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 states the tool makes a request to the Path Finder API and returns search path analysis results, which is clear but not a concise verb+resource. It distinguishes from siblings (crawl_* tools) but could be more specific.

    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 explicit guidance on when to use this tool versus alternatives. Sibling tools (crawl_*, get_graph_info, get_keyword_info) are not referenced for comparison, leaving the agent to infer 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?

    In absence of annotations, the description discloses the lowercase normalization of keywords and details the return structure (nodes, rels, etc.). However, it does not mention read-only nature or permissions, which are implied but not explicit.

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

    Conciseness3/5

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

    The description is verbose with repetition (e.g., '키워드 관계 정보 조회' twice) and includes a docstring format. It is structured but could be more concise.

    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?

    Without an output schema, the description adequately explains the return fields and types. It covers the main aspects of the tool, though it omits edge cases and interpretation guidance.

    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 input schema has detailed descriptions for nested properties, but the top-level 'req_param' lacks a description (0% coverage). The description adds value by specifying the lowercase normalization and explaining the return type, compensating for the schema gap.

    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 states that it queries keyword relationship information and cluster finder results, but it does not clearly distinguish from sibling tools like get_keyword_info. The verb and resource are specific but somewhat redundant.

    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 on when to use this tool versus alternatives. The description only states what it does without providing context about suitable scenarios or 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?

    Without annotations, the description compensates by detailing the return structure (ads_metrics, intents, monthly_volume) and a preprocessing requirement (lowercase conversion). It does not mention side effects, but the read-only nature is implied by the tool name and known terms.

    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 a clear purpose first, then behavioral notes, then a detailed return format. While lengthy, the detail is justified by the absence of an output schema. It remains front-loaded and logically organized.

    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 complexity of the return data (multiple nested objects), the description thoroughly documents each field. It lacks an output schema but compensates fully. It does not cover error handling, but the tool's behavior is sufficiently described for effective 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?

    The input schema provides descriptions for both parameters ('요청 키워드' and '국가 코드') and enums for gl. The description adds no new parameter details but reinforces the request format. Since schema coverage is adequate, the description is satisfactory.

    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 '키워드 정보 조회' (keyword information inquiry) with a maximum of 1000 keywords. It distinguishes itself from sibling tools that focus on crawling or graph information by focusing on keyword metrics and intent analysis.

    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 explains what the tool does but does not provide explicit guidance on when to use it versus alternative tools. It implies usage for retrieving keyword analytics but lacks when-not-to-use or comparisons.

    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?

    Since no annotations are provided, the description carries the full burden. It explains that values are scaled relative to the highest point, that it's search interest not volume, and that comparing more than three keywords requires a workaround. This is adequate behavioral disclosure.

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

    Conciseness3/5

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

    The description is verbose and repeats information about the 0-100 scale and scaling behavior. While it is structured with paragraphs and an args section, it could be more concise without losing clarity.

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

    Completeness4/5

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

    Given the absence of output schema and annotations, the description covers purpose, parameters, usage behavior, and return type (dict or None). It is sufficiently complete for an agent to understand and use the tool correctly.

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

    Parameters4/5

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

    The schema has 0% description coverage, so the description must compensate. It lists all parameters: keywords (list), location (with examples), timeframe (with examples), and gl (with examples). It also explains the constraints (max 3 keywords). This adds significant meaning 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 that the tool collects Google Trends data, explaining the 0-100 search interest scale, keyword comparison up to three, and how to handle more than three keywords. It differentiates from sibling tools like crawl_google_serp (search results) and crawl_google_suggest (suggestions).

    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 guidance on when to use the tool: for keyword trends over recent periods, comparing up to three keywords directly, and a method for more than three. It does not explicitly state when not to use it or mention alternatives, but the context is clear.

    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

hubble_mcp MCP server

Copy to your README.md:

Score Badge

hubble_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/ascentkorea/hubble_mcp'

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