Skip to main content
Glama

Server Details

HardFM: the site's own MCP server — dataset; every answer cites the site.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Available Tools

7 tools
dataset_columnsDataset columns and shapeAInspect

The columns, which of them are numeric, the row count and the provenance banner of the HardFM dataset. Call this first to learn the schema.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It lists what information is returned, which conveys a read-only informational purpose, but it does not explicitly state that the call has no side effects or whether it is always safe.

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, tight sentence that front-loads the returned data and ends with actionable guidance. Every word contributes meaning; 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 zero-parameter, informational tool, the description is largely complete: it covers outputs and when to call it. The exact return shape or format is not described, but no output schema exists and the call has no inputs, so the missing detail is minor.

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, and the schema coverage is 100%, so there is no parameter ambiguity. The description does not need to explain parameter meanings since none exist.

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

Purpose4/5

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

The description clearly states that the tool returns the columns, numeric flags, row count, and provenance banner of the HardFM dataset. It does not explicitly differentiate from siblings like dataset_provenance or dataset_stats, but the overall purpose is distinct and understandable.

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?

'Call this first to learn the schema' gives explicit usage timing and context. It does not name alternatives or exclusion cases, but the directive is strong enough for an agent to know when to invoke it.

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 HardFM dataset whose column is any of the given values, in the order given — for "X vs Y" questions.

ParametersJSON Schema
NameRequiredDescriptionDefault
columnYes
valuesYes

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description must carry the full behavioral disclosure. It accurately conveys that rows are filtered with an OR condition on the given column and are returned in the order of the values provided. However, it does not address edge cases (e.g., no matches, duplicate matches) or the exact return structure beyond 'rows'.

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, well-structured sentence that front-loads the core behavior and uses a dash to append the use case. No redundant words; every part contributes to understanding.

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?

The description does not explain the output format, which is critical given there is no output schema. The title mentions 'Compare rows side by side', but the description only says it returns rows, leaving uncertainty about whether the output is formatted for comparison. It also omits any mention of the maximum number of values (10) or behavior when no rows match.

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 description clarifies that 'column' is the key to filter on and that 'values' are the set to match against ('any of the given values'), implying an OR condition. It also explains that the order of values determines the output order, which is not evident from the schema alone. This adds meaningful semantics beyond the parameter names.

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 (returns), a resource (rows of the HardFM dataset), and the filtering condition (column matches any of the given values), along with ordering. It also notes the intended use case ('for X vs Y questions'), which distinguishes it from sibling tools like dataset_search or dataset_stats.

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 phrase 'for X vs Y questions' provides a clear use context, but it does not explicitly mention alternatives or when not to use this tool. No sibling tools are referenced, so an agent must infer that this is for comparison rather than general search or statistics.

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 HardFM dataset. Read this to attribute a figure correctly.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A5/5.0
Behavior5/5

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

With no annotations provided, the description fully discloses behavior by listing the exact data fields returned (source, date, licence, citation). It implies a read-only informational retrieval with no side effects, which is accurate and transparent.

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 with no redundant words. It front-loads the core purpose and immediately follows with the practical usage instruction, making it efficient and well-structured.

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 tool with no parameters and no output schema, the description provides all necessary context: what information is available (source, date, licence, citation) and when to use it (for attribution). Nothing more is needed.

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

Parameters5/5

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

The tool has no parameters, and the description correctly reflects this by not mentioning any inputs. Schema coverage is 100% (empty), so there is nothing missing or ambiguous.

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

Purpose5/5

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

The description clearly states the tool's purpose: to provide source, computation date, licence, and citation for the HardFM dataset. The verb 'attribute' and the phrase 'where this data comes from' leave no ambiguity about the tool's function.

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 gives explicit when-to-use guidance: 'Read this to attribute a figure correctly.' This tells the agent exactly when to invoke this tool without needing to infer from context.

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 HardFM dataset where a column equals a value exactly (case-insensitive).

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYes
columnYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. It indicates read-only lookup and exact matching, but it does not specify whether multiple rows can be returned, whether missing columns cause errors, or any other side effects. The behavior is only partially disclosed.

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, concise sentence with no redundant or irrelevant content. It communicates the core operation efficiently without unnecessary detail.

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?

The description lacks important contextual details such as whether all matching rows are returned or just one, the output format, error handling for invalid columns, and pagination behavior. Given no output schema or annotations, this sparse description leaves several usage questions unanswered.

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 parameters 'column' and 'value' are self-explanatory in the context of the description, indicating the field to match and the target value. However, the description does not clarify whether the column must exist, how value types are handled, or any constraints beyond the schema's minLength. The semantics are adequate but rely heavily on the parameter names.

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 operation: retrieving rows from the HardFM dataset where a specified column matches a value exactly, with case-insensitive matching. It distinguishes this from a general search by emphasizing exact equality, making the tool's purpose unambiguous.

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 when to use this tool—when an exact, case-insensitive match is required—but it does not explicitly contrast it with sibling tools like dataset_search or dataset_top. The matching semantics are clear enough to guide basic usage, though explicit alternative guidance is absent.

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 HardFM dataset (grouping commas and currency are handled; non-numeric rows are excluded and counted).

ParametersJSON Schema
NameRequiredDescriptionDefault
columnYes

TDQS

A3.7/5.0
Behavior3/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 reveals that non-numeric rows are excluded and counted, and that comma/currency formatting is handled. However, it does not mention whether the operation is read-only, error behavior for missing columns, or the exact structure of the returned statistics.

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, concise sentence that lists the statistics and key handling details without unnecessary fluff. It is well-structured and immediately understandable.

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?

There is no output schema, so the description must stand alone. It explains what statistics are computed and how data is preprocessed, but it does not state the format of the returned result (e.g., a JSON object with named fields), which is a notable gap for a tool with no output schema.

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

Parameters3/5

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

The schema has full coverage for the single parameter (column) with type and minLength. The description adds that the column must be numeric and implies the parameter refers to a column name, but it does not provide explicit examples or clarify edge cases like column name ambiguity.

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 computes count, min, max, mean, median, and sum for a numeric column, specifying the resource (HardFM dataset). It is distinguishable from sibling tools like dataset_row or dataset_top, which serve different purposes.

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 mentions handling of grouping commas/currency and exclusion of non-numeric rows, which provides some usage context. However, it does not explicitly state when to choose this tool over alternatives like dataset_compare or dataset_search, or indicate prerequisites such as data cleaning needs.

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 HardFM dataset by a numeric column — "which is the most/least X".

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
columnYes
ascendingNotrue for the lowest first; default highest first

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the burden of explaining behavior. It conveys a read-style ranking operation and notes that the column must be numeric, but it does not describe default ordering, tie handling, or whether full row objects are returned.

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 front-loaded sentence with no filler or redundancy. The illustrative "most/least X" wording makes the operation immediately understandable.

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

Completeness3/5

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

For a simple 3-parameter tool, the description plus schema covers the high-level call pattern. It leaves some ambiguity about the returned format and default behavior, and no output schema exists to fill that gap, so the definition is adequate but not 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 only 33%, and the description adds a meaningful constraint that 'column' must be numeric, which the schema does not state. However, it does not clarify the 'limit' parameter beyond its name, so it only partially compensates for the low schema coverage.

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

Purpose4/5

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

The description clearly states that the tool returns the highest or lowest rows of the HardFM dataset by a numeric column, making the core purpose concrete. It does not explicitly distinguish itself from sibling tools such as dataset_stats or dataset_search.

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 phrase "which is the most/least X" implies this is for extreme-value ranking queries, but there is no explicit guidance on when to prefer this tool over alternatives or when not to use it. The usage context is only implied, not stated.

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.

  1. 7 tool updates
    • First observeddataset_columns
    • First observeddataset_compare
    • First observeddataset_provenance
    • First observeddataset_row
    • First observeddataset_search
    • First observeddataset_stats
    • First observeddataset_top

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    An MCP server that acts as a governed customer-support tool, resolving questions only when the knowledge base supports a cited, grounded answer and honestly escalating everything else with provenance and evidence.
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    MCP server for querying a page-citable research knowledge base built from PDFs, with exact filename and page citations.
    6
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.9/5.0
Disambiguation4/5

Each tool has a distinct role—schema, provenance, exact lookup, substring search, value comparison, stats, and top/bottom—so the surface is easy to navigate. The only minor ambiguity is between dataset_row, dataset_search, and dataset_compare, all of which retrieve rows but with different matching semantics.

Naming Consistency5/5

All tools follow a consistent dataset_ prefix with lowercase snake_case names. The naming is predictable and immediately signals the domain, making it easy for an agent to infer the purpose of any tool.

Tool Count5/5

Seven tools is a well-scoped count for a single-dataset read-only MCP server. Each tool covers a meaningful query mode without unnecessary duplication or bloat.

Completeness4/5

The toolset covers the main dataset exploration needs: schema discovery, provenance, exact and substring search, multi-value comparison, numeric summaries, and extreme rows. A few advanced workflows—such as arbitrary filtering, grouping, or custom aggregations—are not directly supported, but the provided tools cover most common questions.

Resources