Skip to main content
Glama

Signal Lab: free data for trading and AI agents

Search the catalog

search_catalog
Read-onlyIdempotent

Find free and free-to-start data sources (financial markets, global macro, energy, agriculture and food, money flows, transport and shipping, research and grey literature, weather, news & RSS, OSINT, cyber threat), tools and models in the Signal Lab catalog by text and by filters (domain, category, type, access badge, sign-up needed, license, task, verified, verified_since; see list_filters for the values). With a query, returns up to 25 summary rows in relevance order (name, slug and task concept matches first), then name A to Z; without a query, name A to Z. Each row has lastVerified and sitePageUrl. Use get_entry for every field of one entry, export_catalog for the whole list, get_source_urls for provider and terms links.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "search_catalog"
  }
}

Input Schema

NameRequiredDescriptionDefault
authNoWhat sign-up is needed, as the catalog records it, for example none or free API key
taskNoOne task tag, for example macro or market-data
typeNoKind of entry, for example Dataset or Tool
badgeNoAccess type: Free, Open Source, Freemium or Unofficial
limitNoDefault 10, at most 25
queryNoWords or known alias concepts that must all match catalog text. Aliases match whole terms; other words use substring matching
domainNoData domain: Financial, Global Macro, Energy, Agriculture & Food, Money Flows, Transport & Shipping, Research & Grey Literature, Weather, News & RSS, OSINT or Cyber Threat
licenseNoThe catalog's license value, for example Provider terms or MIT
categoryNoThe catalog's category, for example Market Data or Macro
verifiedNotrue: only entries counted as Verified resources in llms.txt; false: only the others (Signal Lab originals, license unknown)
verified_sinceNoOnly entries whose lastVerified date is on or after this date (YYYY-MM-DD)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / domain / description
      Previous value: -"Data domain: Financial, Global Macro, Energy, Agriculture & Food, Money Flows, Transport & Shipping, Weather, News & RSS, OSINT or Cyber Threat"New value: +"Data domain: Financial, Global Macro, Energy, Agriculture & Food, Money Flows, Transport & Shipping, Research & Grey Literature, Weather, News & RSS, OSINT or Cyber Threat"
    • changedInput schema / properties / domain / enum
      Previous value: -[
      -  "Financial",
      -  "Global Macro",
      -  "Energy",
      -  "Agriculture & Food",
      -  "Money Flows",
      -  "Transport & Shipping",
      -  "Weather",
      -  "News & RSS",
      -  "OSINT",
      -  "Cyber Threat"
      -]New value: +[
      +  "Financial",
      +  "Global Macro",
      +  "Energy",
      +  "Agriculture & Food",
      +  "Money Flows",
      +  "Transport & Shipping",
      +  "Research & Grey Literature",
      +  "Weather",
      +  "News & RSS",
      +  "OSINT",
      +  "Cyber Threat"
      +]
  2. Changed1 schema field changed
    • changedInput schema / properties / query / description
      Previous value: -"Words that must all appear in the name, slug, category, domain, coverage, license, license note or tasks"New value: +"Words or known alias concepts that must all match catalog text. Aliases match whole terms; other words use substring matching"
  3. Changed2 schema fields changed
    • changedInput schema / properties / domain / description
      Previous value: -"Data domain: Financial, Global Macro, Weather, News & RSS or OSINT"New value: +"Data domain: Financial, Global Macro, Energy, Agriculture & Food, Money Flows, Transport & Shipping, Weather, News & RSS, OSINT or Cyber Threat"
    • changedInput schema / properties / domain / enum
      Previous value: -[
      -  "Financial",
      -  "Global Macro",
      -  "Weather",
      -  "News & RSS",
      -  "OSINT"
      -]New value: +[
      +  "Financial",
      +  "Global Macro",
      +  "Energy",
      +  "Agriculture & Food",
      +  "Money Flows",
      +  "Transport & Shipping",
      +  "Weather",
      +  "News & RSS",
      +  "OSINT",
      +  "Cyber Threat"
      +]
  4. Changed2 schema fields changed
    • addedInput schema / properties / domain
      Added value: +{
      +  "description": "Data domain: Financial, Global Macro, Weather, News & RSS or OSINT",
      +  "enum": [
      +    "Financial",
      +    "Global Macro",
      +    "Weather",
      +    "News & RSS",
      +    "OSINT"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / query / description
      Previous value: -"Words that must all appear in the name, slug, category, coverage, license, license note or tasks"New value: +"Words that must all appear in the name, slug, category, domain, coverage, license, license note or tasks"
  5. First observed

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely new behavior: a 25-row cap, relevance ordering that favors name/slug/task-concept matches then A-Z, and A-Z-only ordering without a query. It does not discuss pagination or truncation signalling when more than 25 matches exist, so it adds solid but not exhaustive context.

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?

It is front-loaded with the action, then ordering, then sibling routing, and every clause is informative rather than filler. The one waste is the long parenthetical enumerating domains and topics that duplicates the domain enum already in the schema.

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?

With 11 optional parameters and no output schema, the description carries the burden of describing results, and it does: summary row fields, lastVerified and sitePageUrl, ordering rules, and the row cap. An agent can call this correctly and know what it gets back without opening any other definition.

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 the schema already explains every parameter, including query alias vs substring matching, enums for domain/type/badge, and the verified/verified_since semantics. The description mainly restates the filter names in a parenthetical list; its only real addition is pointing to list_filters for valid values.

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 names a specific verb (find/search) and resource (Signal Lab catalog of data sources, tools and models), and enumerates the searchable surface by text and by filters. It is immediately distinguishable from siblings such as get_entry, export_catalog and get_source_urls, which are each named and scoped.

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?

It explicitly routes the agent: use this tool to find entries by text/filters, use get_entry for every field of a single entry, export_catalog for the whole list, get_source_urls for provider and terms links, and list_filters to learn filter values. Each alternative comes with the condition that selects it, leaving little to inference.

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.

Resources