Skip to main content
Glama

Search

search
Read-onlyIdempotent

Keyword search across Harvard Dataverse — the ~200k-dataset open research repository. Returns dataset titles, DOIs, authors, publication dates and descriptions; pass a returned DOI to dataset or dataset_files. Use to find research data behind a paper or topic (e.g. "climate", "survey experiment", "replication data").

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sortNoname | date
typeNodataset | file | dataverse
queryYes
startNo
per_pageNo1-1000 (default 25).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNoSearch results data
statusNoAPI response status

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed2 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "query": "climate change"
      +  },
      +  {
      +    "per_page": 50,
      +    "query": "economic data",
      +    "sort": "date",
      +    "type": "dataset"
      +  }
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "description": "Search results from Harvard Dataverse API",
      +  "properties": {
      +    "data": {
      +      "description": "Search results data",
      +      "properties": {
      +        "items": {
      +          "description": "Array of search result items",
      +          "items": {
      +            "description": "Search result item (dataset, file, or dataverse)",
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "q": {
      +          "description": "Query string used",
      +          "type": "string"
      +        },
      +        "spelling_alternatives": {
      +          "description": "Spelling alternative suggestions",
      +          "type": "object"
      +        },
      +        "start": {
      +          "description": "Starting position",
      +          "type": "integer"
      +        },
      +        "total_count": {
      +          "description": "Total number of results",
      +          "type": "integer"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "status": {
      +      "description": "API response status",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observed

TDQS

A4/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds genuine value on top: it clarifies the output shape ('Returns dataset titles, DOIs, authors...') and explains the chaining contract that follows a search (pass a DOI forward). The ~200k-dataset scale also calibrates agent expectations about result breadth. No contradiction exists; the description enriches what the annotations convey.

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, roughly 50 words, with zero filler. The most important information (what it searches, where) is front-loaded, the return contract occupies the middle, and the usage example closes it out. Every sentence does dual duty — the parenthetical examples double as both query formats and scope indicators.

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 search tool with an output schema, rich annotations, and generous sibling routing, the description covers all the essentials: scope, inputs, outputs, and downstream chaining. The only arguable gaps are edge cases like pagination strategies or rate limits, which are reasonable to omit given the output schema carries return structure.

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 sits at 60%: `sort`, `type`, and `per_page` are documented inline, but `query` and `start` have no description. The description adds the key semantic cue that this is a KEYWORD search, partially contextualizing the undocumented required parameter. However, it does nothing to clarify the other undocumented parameter (`start`), so the light lift the description does could be heavier.

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?

States a specific verb and resource ('Keyword search across Harvard Dataverse') with a scope qualifier ('~200k-dataset open research repository') and enumerates return fields (titles, DOIs, authors, publication dates, descriptions), so an agent knows exactly what to expect. It routes the agent onward ('pass a returned DOI to dataset or dataset_files'), which helps distinguish it from chained tools, though it never directly names a sibling it is NOT — the differentiator that would push this to a 5.

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 an explicit use case ('Use to find research data behind a paper or topic') with concrete example queries ('climate', 'survey experiment', 'replication data'). It implies exclusion without stating it — an agent could reasonably infer this tool is for broad dataset discovery vs. `search_within` or `recent_changes` — but no alternative tool is explicitly named.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

B3.4/5.0
Disambiguation3/5

Several tool pairs have overlapping purposes, notably ask_pipeworx, ask_pipeworx_beta, and ask_pipeworx_grounded. Also, remember/recall/forget overlap with general memory operations, and multiple polymarket tools overlap in edge detection. While the descriptions attempt to differentiate, an agent will frequently need to choose between nearly identical tools (e.g., ask_pipeworx vs. ask_pipeworx_beta).

Naming Consistency2/5

Naming conventions are mixed: snake_case (ai_visibility_check, compare_entities), camelCase (ask_pipeworx, generate_llms_txt), and inconsistent verb usage (some start with verbs like 'search', others with nouns like 'dataset'). The polymarket and pipeworx prefixes are helpful, but overall patterns are unpredictable.

Tool Count2/5

With 35 tools, this server has a very large surface area. While the domain is broad (Harvard Dataverse + Pipeworx data + Polymarket), the count feels heavy and includes many near-duplicate tools (ask_pipeworx variants) and niche tools that inflate the total. Many agents would benefit from a smaller, more focused set.

Completeness3/5

The Dataverse subset captures file metadata and search but lacks direct download/upload capabilities, causing dead ends for users who want to access actual data. The Polymarket subset lacks the ability to actually place orders despite extensive edge analysis. The Pipeworx subset covers many data queries but feels unfocused. Overall, there are notable gaps given the stated scope of the server.