Skip to main content
Glama
gmoneyn

seo-toolkit-mcp

by gmoneyn

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool targets a distinct aspect of SEO: meta tags, robots.txt, sitemap, keyword analysis, readability, and heading structure. While keyword_density and readability both analyze text, they answer different questions (keyword frequency vs. reading level), so there is minimal risk of confusion.

    Naming Consistency4/5

    The names mostly follow a noun-based pattern with snake_case (meta_tags, robots_txt, keyword_density, readability, heading_structure), but sitemap_check breaks the pattern by using a verb prefix. This is a minor inconsistency in an otherwise clear and predictable set.

    Tool Count5/5

    With 6 tools, the set is well-scoped and each tool provides a distinct function. It's within the ideal 3-15 range and doesn't feel bloated or sparse.

    Completeness3/5

    The toolkit covers meta tags, technical SEO files, heading structure, and text-based content analysis. However, there is a notable gap: keyword_density and readability require raw text input, but no tool fetches a page's body content, so agents must rely on external sources to analyze on-page text. Missing features like schema markup analysis are less critical but represent additional gaps.

  • Average 4.2/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
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • 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

  • 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 mentions the fetch action and returns, but lacks disclosure of potential network failures, rate limits, non-HTML handling, or error responses. This is a significant gap for a network-fetching tool.

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

    Conciseness5/5

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

    The description is three concise sentences, each adding value: the action, the output list, and the usage guidance. It is front-loaded and free of unnecessary words.

    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 a single fully-described parameter and a clear list of return values, the description is adequate for a simple tool. It lacks output structure or error scenarios, but those are less critical when the return types are explicitly enumerated.

    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 already describes 'url' with format and example, covering 100% of parameters. The description does not add semantics beyond the schema, so a baseline of 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 it fetches a URL and analyzes SEO meta tags, listing specific output types (title with length check, meta description, Open Graph, Twitter Card, canonical, issues). It distinguishes from siblings like robots_txt or sitemap_check by focusing on on-page meta analysis.

    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 context: 'Use this to audit any page's on-page SEO.' It does not explicitly mention alternatives or exclusions, but the sibling tools are sufficiently different that the intended use is unambiguous.

    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, the description bears full responsibility. It discloses return format and optional keyword handling, but lacks details on how density is calculated, tokenization rules, or any limitations. This is adequate but incomplete.

    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, front-loaded with the main purpose, no filler. Efficiently covers action, outputs, optional parameter, and use case.

    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 tool with two parameters and no output schema, the description covers the essential behavior, outputs, and use case. It could include more about input format or constraints, but it is largely sufficient.

    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 parameters are already well-documented. The description restates 'text' and 'target keyword' without adding meaningful new semantics beyond what the schema 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 it analyzes text for keyword frequency and density, and specifies the outputs (top single words, bigrams, trigrams with percentages). This distinguishes it from sibling tools like readability or heading_structure.

    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 a clear use case: 'Use to optimize content for target keywords.' It doesn't explicitly mention alternatives or when not to use, but the context is evident given sibling tools focus on other SEO aspects.

    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 explicitly states the return values (heading outline/tree, counts, issues) and the type of analysis performed, which is sufficient for a read-only analysis tool.

    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 only two sentences: the first states the purpose, the second details the output and use case. Every word adds value and there is no redundancy.

    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 tool with no annotations or output schema, the description adequately covers purpose, output behavior, and use case. Minor missing details like error handling would improve it, but it is sufficiently 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?

    The schema fully documents the single url parameter with a clear description. The tool description does not add extra parameter semantics beyond the schema, so baseline 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 the tool analyzes a page's heading hierarchy (H1-H6), using a specific verb and resource. It is distinct from sibling tools like meta_tags, robots_txt, and keyword_density.

    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 gives a clear use case ('verify content structure for SEO and accessibility'), which implies when to use it. However, it does not explicitly name alternatives 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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It transparently lists all expected return values (scores, counts, reading time, tips), giving the agent a clear picture of what the tool produces. However, it does not discuss potential edge cases, limitations, or any side effects, which would elevate it further.

    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: the first sentence concisely states the core function and outputs, and the second provides actionable usage guidance. No sentences are redundant or extraneous, making it both concise and impactful.

    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?

    Despite having no output schema, the description enumerates the full set of returned metrics, which is crucial for an agent to understand the tool's utility. It also supplies usage context, making the description complete for a simple single-parameter read-only tool. All necessary aspects are covered.

    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 already provides 100% coverage of the single parameter 'text' with a clear description ('at least 10 words'). The tool description adds no additional parameter-specific guidance beyond what the schema offers, so it meets the baseline for high schema coverage without enriching parameter semantics further.

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

    Purpose5/5

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

    The description clearly states the tool's function with a specific verb ('Score') and resource ('text readability'), and immediately distinguishes it from sibling tools like meta_tags or keyword_density by focusing on Flesch-Kincaid metrics. It also lists concrete output elements, making the purpose 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 description provides explicit usage context: 'Use to ensure content matches your target audience.' This gives a clear scenario for when to deploy the tool, though it does not mention alternative tools or exclusion cases, so it falls short of a perfect score for guidelines.

    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 that it fetches and parses, and enumerates the return contents (user-agent rules, allowed/disallowed paths, sitemap directives, crawl-delay, issues). While it doesn't cover error/edge cases, it provides sufficient behavioral detail for a simple read-only tool.

    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 waste. The first sentence communicates function and output, the second gives the usage purpose. Every word earns its place.

    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 tool is simple with one parameter and no output schema. The description lists the return types and usage, making it complete for the tool's complexity. There's no missing critical information.

    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% — the single 'url' parameter is fully described in the schema ('Domain or URL... Will check /robots.txt at the root'). The description adds no additional parameter-level detail, so it's at the baseline.

    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 'Fetch and parse a site's robots.txt' with a specific verb and resource. It also lists what it returns, distinguishing it from sibling SEO tools like sitemap_check.

    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 says 'Use this to check what search engines can/cannot crawl,' providing a clear use case. It doesn't mention exclusions or alternatives, but given the sibling tools, the purpose is differentiated enough that usage context is apparent.

    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 present, so the description carries the full burden. It transparently discloses what the tool returns: URL count, format (XML/index/text), sample URLs, last modified dates, and issues like duplicates or missing lastmod. This gives the agent a good sense of the tool's behavior, though it doesn't mention potential errors or side effects.

    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. The first states the purpose and key outputs, the second explains input formats. Every word earns its place, with no fluff or repetition.

    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?

    The tool is simple (one parameter, no output schema). The description covers purpose, input handling, and return fields, making it adequately complete for an agent to select and invoke correctly. Minor omissions like error handling do not significantly impact usability.

    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 the url parameter already described. The description adds extra meaning by explaining that passing a domain automatically checks /sitemap.xml, which is not explicitly in the schema. This enhances the agent's understanding of how to format the input.

    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 ('Validate a sitemap.xml file') and resource. This distinguishes it from sibling tools like meta_tags, robots_txt, and readability, which target different SEO/website aspects.

    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 gives clear context on how to invoke the tool: pass a domain to check /sitemap.xml, or pass a direct sitemap URL. Though it doesn't explicitly state 'use this instead of sibling X', the purpose is specific enough that the usage 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

seo-toolkit-mcp MCP server

Copy to your README.md:

Score Badge

seo-toolkit-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/gmoneyn/seo-toolkit-mcp'

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