Skip to main content
Glama

Signal Lab: free data for trading and AI agents

Get original source and terms URLs

get_source_urls
Read-onlyIdempotent

Return where each entry's data comes from: the provider's site, docs and evidence pages, the license or terms URL with the license note, and the lastVerified date, plus the Signal Lab page. Pass up to 25 slugs, or the same filters as search_catalog (all entries if none). A URL the catalog does not record is left out.

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": "get_source_urls"
  }
}

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
queryNoWords or known alias concepts that must all match catalog text. Aliases match whole terms; other words use substring matching
slugsNoEntry slugs; when given, filters are ignored
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

A3.8/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 behavior, so the safety profile is covered. The description adds one genuinely useful behavioral fact — 'A URL the catalog does not record is left out' — meaning results can have missing fields per entry. It says nothing about pagination, result caps, or response size when all entries are returned, which is the main remaining unknown.

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 tight sentences: what is returned first, how to scope it second, and the edge-case omission rule last. No filler, no restatement of the title, and the most important information is front-loaded.

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 an 11-parameter, zero-required read tool with no output schema, the description adequately covers the return payload, the two calling modes, and per-entry omission. What is missing is the scale/pagination behavior of an unfiltered call, which matters given 'all entries if none'.

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%, so all 11 parameters are already documented in structured fields, including the 'filters are ignored' precedence rule for slugs. The description's only added semantic is the default behavior when no parameters are supplied ('all entries if none'), which the schema does not state. Baseline 3 fits given the schema does the heavy lifting.

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 opens with a specific verb and resource ('Return where each entry's data comes from') and enumerates exactly which URLs are returned (provider site, docs, evidence pages, license/terms URL, lastVerified date, Signal Lab page). This makes it distinguishable from get_entry, which presumably returns full entries, though it never names that sibling explicitly.

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 states the two invocation modes clearly: 'Pass up to 25 slugs, or the same filters as search_catalog (all entries if none)'. The parenthetical warns that omitting everything returns the full catalog, which is meaningful scope guidance. It stops short of explicit exclusions such as 'use get_entry when you also need descriptions or metrics'.

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