site
Server Details
Hreflangly: the site's own MCP server — dataset; every answer cites the site.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
7 toolsdataset_columnsDataset columns and shapeAInspect
The columns, which of them are numeric, the row count and the provenance banner of the Hreflangly dataset. Call this first to learn the schema.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavior. It does specify the output contents (columns, numeric flags, row count, provenance banner) and implies a read-only schema inspection. However, it does not explicitly state that the call has no side effects, nor does it describe error conditions or the exact format of the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and efficient, using two sentences to convey the tool's purpose, output contents, and recommended invocation order. Every clause adds value, and the key usage directive is placed at the end as a clear call to action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless schema-introspection tool, the description is complete: it tells the agent what to expect in the response and when to call it. There is no output schema, but the listed output components are sufficient for understanding the tool's role in the workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the rubric sets a baseline of 4. The description adds no parameter-specific detail because none is needed; the input schema is empty and 100% covered by the schema definition itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the specific resource (Hreflangly dataset) and the exact information returned: columns, numeric flags, row count, and provenance banner. It also explicitly frames the tool as the schema-learning step, distinguishing it from sibling tools that handle searching, statistics, or comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage guidance: 'Call this first to learn the schema.' This tells the agent when to invoke it relative to other operations. It does not enumerate alternatives or exclusions, but the primary sequencing advice is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dataset_compareCompare rows side by sideAInspect
The rows of the Hreflangly dataset whose column is any of the given values, in the order given — for "X vs Y" questions.
| Name | Required | Description | Default |
|---|---|---|---|
| column | Yes | ||
| values | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It usefully discloses ordering behavior ('in the order given') and selection semantics ('any of the given values'), but it omits details like exact-match vs substring, case sensitivity, or return format. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, tightly written sentence that packs resource, filtering behavior, ordering, and intended use case with no filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter tool with no output schema, the description covers purpose, selection logic, ordering, and use case. It does not describe the result format explicitly, but the title 'Compare rows side by side' implies it, making the overall context sufficient for selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must add parameter meaning. It does: 'column' is defined as the matching field and 'values' as the set of values that select rows, with the order of values driving output order. This adds value beyond the bare schema names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (rows of the Hreflangly dataset), an action (select rows whose column matches given values), and a clear use case ('X vs Y' questions). It does not explicitly name sibling tools, but the behavior is distinct enough to be understood.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for "X vs Y" questions' provides a usable when-to-use context, signaling comparison-oriented queries. It does not explicitly contrast with siblings like dataset_search or dataset_row, so it falls short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dataset_provenanceWhere this data comes from, and how to cite itAInspect
The source, the date it was computed, the licence and the citation for the Hreflangly dataset. Read this to attribute a figure correctly.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 explicitly enumerates the kinds of information returned: source, computed date, licence, and citation. This is sufficient for a zero-parameter, read-only metadata tool; no destructive or state-changing behavior is implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two compact sentences with no filler. The first sentence lists the exact contents, and the second gives the practical use case, making every word useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity metadata tool with no input schema parameters and no output schema, the description is complete. It tells the agent what the tool provides, why to call it, and what information will be available for citation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is no parameter semantics burden on the description. The baseline of 4 applies because there is nothing to document beyond the tool's fixed output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides provenance metadata — source, computed date, licence, and citation — for the Hreflangly dataset. It is distinct from sibling tools like dataset_columns or dataset_row because it addresses attribution rather than data manipulation or querying, although it does not explicitly name a sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The instruction 'Read this to attribute a figure correctly' tells the agent when to use the tool: when citation or attribution is needed. It does not explicitly describe when not to use it or name alternatives, so it falls just short of full usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dataset_rowLook a row up by an exact keyAInspect
The rows of the Hreflangly dataset where a column equals a value exactly (case-insensitive).
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | ||
| column | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It reveals the key behaviors: exact matching and case-insensitivity. However, it does not mention return shape in detail, behavior on no matches, or whether multiple matching rows are returned, leaving some behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that front-loads the core behavior and includes the most important qualifiers (exactly, case-insensitive). There is no wasted text, and the title reinforces the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter lookup tool with no output schema, the description provides the essential information: what data is queried, how the match works, and that rows are returned. Minor gaps remain around output format and error handling, but these are relatively minor for a lookup operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does so by clarifying that 'column' is the field to compare against and 'value' is the exact value to match, adding the crucial semantics of exact and case-insensitive equality that the bare schema lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear operation: retrieving rows from the Hreflangly dataset based on an exact column-value match. It differentiates itself from the sibling dataset_search by specifying exact, case-insensitive equality, which tells an agent this is the precise-lookup tool, not a flexible search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The exact-match and case-insensitive semantics imply when to use this tool, but the description does not explicitly mention alternatives or state 'use this when you need an exact key lookup, use dataset_search for partial/fuzzy matches'. Usage guidance is inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dataset_searchSearch the datasetAInspect
Rows of the Hreflangly dataset whose cells contain the query (case-insensitive), up to 50.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | text to look for in any cell |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must shoulder behavioral disclosure. It does add useful behavior: matching is case-insensitive and results are capped at 50 rows. But it omits details such as default behavior when limit is absent, ordering, pagination, or whether any non-read side effects occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the resource and action, then packs the two most decision-relevant behaviors (case-insensitive matching and result cap) with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter search tool, the description provides the core contract: matching rows, case-insensitivity, and a 50-row limit. It leaves minor gaps like limit's default value and return shape, but these are manageable given the simple schema and sibling context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only describes query; the description compensates by defining query semantics as searching any cell and adding case-insensitivity. It also reinforces limit's maximum effect ('up to 50'), giving agents a working mental model even though limit has no standalone description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete action (return rows matching a query) and a specific resource (the Hreflangly dataset), with key modifiers: case-insensitive and up to 50. It is clear, but it does not explicitly differentiate itself from sibling tools such as dataset_row or dataset_top.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied: call this when you need rows containing arbitrary text. However, there is no explicit guidance about when to prefer dataset_search over dataset_row, dataset_compare, or dataset_top, nor any exclusions or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dataset_statsSummary statistics for a numeric columnAInspect
count, min, max, mean, median and sum of a numeric column of the Hreflangly dataset (grouping commas and currency are handled; non-numeric rows are excluded and counted).
| Name | Required | Description | Default |
|---|---|---|---|
| column | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It usefully states that grouping commas and currency formatting are handled and that non-numeric rows are excluded and counted, which are real behavioral traits beyond the basic 'compute stats' idea. It does not describe output structure or edge cases like an all-non-numeric column, but for a read-only summary tool it provides substantive transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the computed metrics and places parsing caveats in a parenthetical. Every part adds information, and there is no filler or redundant restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, a single parameter, and no annotations, so the description must stand mostly alone. It names all output metrics and important parsing behaviors, which is fairly complete for a simple aggregation tool. Minor gaps remain around response shape, error handling for empty or fully non-numeric input, and how to discover valid column names.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only says 'column' is a minLength-1 string, and schema description coverage is 0%, so the description is the only source of parameter meaning. It conveys that the parameter refers to a column in the Hreflangly dataset and implies it should be numeric or numeric-like. However, it does not explicitly explain how to specify the column, valid column names, or what happens if the column cannot be parsed numeriucally.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the operation as computing summary statistics and specifies the resource: a numeric column of the Hreflangly dataset. It enumerates the exact metrics returned (count, min, max, mean, median, sum), which makes the purpose concrete. It does not explicitly differentiate itself from sibling tools, but the set of statistics makes it reasonably distinguishable from dataset_row, dataset_top, and dataset_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not say when to use this tool versus alternatives such as dataset_top, dataset_search, or dataset_columns. There is no mention of preferred scenarios, exclusions, or what kinds of questions this tool answers better than its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dataset_topRank rows by a numeric columnAInspect
The highest (or lowest) rows of the Hreflangly dataset by a numeric column — "which is the most/least X".
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| column | Yes | ||
| ascending | No | true for the lowest first; default highest first |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden, and it does disclose the core behavior: it returns highest or lowest rows, orders by a numeric column, and descending/ascending direction via the 'highest/lowest' contrast. It stops short of edge behaviors like tie handling or non-numeric column errors, but those are minor for a simple read-only rank tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler; the operation is front-loaded and the parenthetical 'which is the most/least X' adds user-intent context without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity tool with no output schema and no annotations, the description is close to sufficient: it gives the selection basis, ordering direction, and supports limit via schema. It could add one explicit sentence that it returns the ranked dataset rows rather than an aggregate, but it is not seriously incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% (only 'ascending' has a description). The description compensates by marking 'column' as numeric and clarifying 'ascending' as lowest-first versus highest-first, but it does not explain that 'limit' caps the number of rows returned.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('rank') and resource (rows by numeric column), and explicitly covers the high/low ordering with the 'most/least X' intent. This distinguishes it from siblings like dataset_stats (aggregate summaries) or dataset_row (exact row lookup).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'which is the most/least X' phrasing implies when to use the tool for top-N questions, but it never names alternatives or exclusions. An agent comparing against dataset_stats or dataset_search gets no explicit routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
7 tool updates
- First observed
dataset_columns - First observed
dataset_compare - First observed
dataset_provenance - First observed
dataset_row - First observed
dataset_search - First observed
dataset_stats - First observed
dataset_top
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Topcoatly: the site's own MCP server — dataset; every answer cites the site.
Tieoutly: the site's own MCP server — dataset; every answer cites the site.
Abutly: the site's own MCP server — dataset; every answer cites the site.
Carbikly: the site's own MCP server — dataset; every answer cites the site.
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP server for EU law via the EUR-Lex / Cellar SPARQL endpoint — legislation (ELI/CELEX) and CJEU case-law (ECLI) with verifiable citations.3681MIT
- AlicenseAqualityCmaintenanceA MCP server that turns your scattered SEO and analytics data into one clear verdict per URL. Plug it into Claude, Cursor, or any MCP-aware client and ask: "Which three posts should I update this week?" - and get an answer backed by hard numbers.81522MIT
- AlicenseNot gradedqualityAmaintenanceMCP server for grounded, cited AI: answers questions from live web sources, verifies claims, fact-checks documents, searches and reads URLs, summarises, classifies, and extracts fields, with usage tracking and status.1MIT
- AlicenseNot gradedqualityCmaintenancePublic read-only MCP server for HiBot's AI-visibility knowledge: the ANSWER framework for measuring how AI answer engines surface, recommend, and represent brands, plus audit plans, case studies, and research. Hosted Streamable HTTP endpoint; the repo's Dockerfile bridges stdio via mcp-remote.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Most tools have clearly distinct purposes: schema, provenance, exact lookup, substring search, stats, top values, and multi-value comparison. The only mild ambiguity is between dataset_row and dataset_compare, since both return rows filtered by column values, and between dataset_columns and dataset_provenance, since both mention provenance.
All tool names consistently use the dataset_ prefix and snake_case, which makes the set feel cohesive. However, the suffix style is mixed: some are nouns like columns, provenance, row, and stats, while others are verbs like compare and search.
Seven tools is well within the ideal range for a dataset-focused server. Each tool covers a distinct analytical need without redundancy, so the count feels intentional and appropriately scoped.
The toolset covers schema discovery, provenance, exact row lookup, free-text search, targeted comparison, numeric statistics, and extreme-value ranking. For a read-only dataset querying server, this is a complete and practical surface with no obvious dead ends.