Signal Lab: free data for trading and AI agents

Search and export free market, macro, weather, news and OSINT data sources, with terms and skills.

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
76%
命名品質
93%
汙染風險
100%
權限相符程度
90%
協定合規性
100%

發現項目(1)

  • LOWTool 'get_source_urls' suggests web access but openWorldHint=false在 get_source_urls 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~2,871Token(工具定義)
~2.5 KB典型回應大小
顯著的注意力影響(128k 上下文的 2.24%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "signal-lab": {
      "url": "https://signal-lab-jet.vercel.app/api/mcp"
    }
  }
}

遠端端點

https://signal-lab-jet.vercel.app/api/mcpstreamable-http

它能做什麼

工具清單

工具(9)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢search_catalog(query, type, badge, auth, category, ...)

Find free and free-to-start data sources (financial markets, global macro, energy, agriculture and food, money flows, transport and shipping, 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). Returns up to 25 summary rows in name order, each with 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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Words that must all appear in the name, slug, category, domain, coverage, license, license note or tasks",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "type": {
      "description": "Kind of entry, for example Dataset or Tool",
      "type": "string",
      "enum": [
        "Dataset",
        "Model",
        "Recipe",
        "Starter Kit",
        "Tool"
      ]
    },
    "badge": {
      "description": "Access type: Free, Open Source, Freemium or Unofficial",
      "type": "string",
      "enum": [
        "Free",
        "Freemium",
        "Open Source",
        "Unofficial"
      ]
    },
    "auth": {
      "description": "What sign-up is needed, as the catalog records it, for example none or free API key",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "category": {
      "description": "The catalog's category, for example Market Data or Macro",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "domain": {
      "description": "Data domain: Financial, Global Macro, Energy, Agriculture & Food, Money Flows, Transport & Shipping, Weather, News & RSS, OSINT or Cyber Threat",
      "type": "string",
      "enum": [
        "Financial",
        "Global Macro",
        "Energy",
        "Agriculture & Food",
        "Money Flows",
        "Transport & Shipping",
        "Weather",
        "News & RSS",
        "OSINT",
        "Cyber Threat"
      ]
    },
    "license": {
      "description": "The catalog's license value, for example Provider terms or MIT",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "task": {
      "description": "One task tag, for example macro or market-data",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "verified": {
      "description": "true: only entries counted as Verified resources in llms.txt; false: only the others (Signal Lab originals, license unknown)",
      "type": "boolean"
    },
    "verified_since": {
      "description": "Only entries whose lastVerified date is on or after this date (YYYY-MM-DD)",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "limit": {
      "description": "Default 10, at most 25",
      "type": "integer",
      "minimum": 1,
      "maximum": 25
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_entry(slug)

Return one catalog entry by slug, with every field the catalog has for it (limits, coverage, auth, license, licenseNote, source URLs, lastVerified). Get slugs from search_catalog.

輸入結構描述

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢compare_entries(slugs)

Place the catalog's fields for up to 5 entries side by side. Values are the catalog's own; a field the catalog does not have shows Not in catalog.

輸入結構描述

{
  "type": "object",
  "properties": {
    "slugs": {
      "minItems": 1,
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 80
      }
    }
  },
  "required": [
    "slugs"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_filters

List the values the catalog uses for type, badge, auth, category, domain, license, task, verified and lastVerified, with how many entries have each. Call this first to pick exact filter values.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢catalog_info

Return the catalog's notice, schemaVersion, generated time, entry count and the download URLs of the full catalog as JSON and CSV.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢export_catalog(query, type, badge, auth, category, ...)

Export the Signal Lab catalog as JSON or CSV: every entry, or only those matching the same filters as search_catalog (no result cap). Optional fields picks columns by catalog field name. CSV has a header row, joins lists with "; " and repeats the catalog notice in the last column. Also returns the static download URLs.

輸入結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Words that must all appear in the name, slug, category, domain, coverage, license, license note or tasks",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "type": {
      "description": "Kind of entry, for example Dataset or Tool",
      "type": "string",
      "enum": [
        "Dataset",
        "Model",
        "Recipe",
        "Starter Kit",
        "Tool"
      ]
    },
    "badge": {
      "description": "Access type: Free, Open Source, Freemium or Unofficial",
      "type": "string",
      "enum": [
        "Free",
        "Freemium",
        "Open Source",
        "Unofficial"
      ]
    },
    "auth": {
      "description": "What sign-up is needed, as the catalog records it, for example none or free API key",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "category": {
      "description": "The catalog's category, for example Market Data or Macro",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "domain": {
      "description": "Data domain: Financial, Global Macro, Energy, Agriculture & Food, Money Flows, Transport & Shipping, Weather, News & RSS, OSINT or Cyber Threat",
      "type": "string",
      "enum": [
        "Financial",
        "Global Macro",
        "Energy",
        "Agriculture & Food",
        "Money Flows",
        "Transport & Shipping",
        "Weather",
        "News & RSS",
        "OSINT",
        "Cyber Threat"
      ]
    },
    "license": {
      "description": "The catalog's license value, for example Provider terms or MIT",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "task": {
      "description": "One task tag, for example macro or market-data",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "verified": {
      "description": "true: only entries counted as Verified resources in llms.txt; false: only the others (Signal Lab originals, license unknown)",
      "type": "boolean"
    },
    "verified_since": {
      "description": "Only entries whose lastVerified date is on or after this date (YYYY-MM-DD)",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "format": {
      "description": "Default json",
      "type": "string",
      "enum": [
        "json",
        "csv"
      ]
    },
    "fields": {
      "description": "Catalog field names to include; default all",
      "minItems": 1,
      "maxItems": 21,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "name",
          "slug",
          "category",
          "domain",
          "type",
          "sitePageUrl",
          "providerUrl",
          "badge",
          "auth",
          "freeTierLimits",
          "rateLimits",
          "docsUrl",
          "coverage",
          "lastVerified",
          "evidenceUrl",
          "evidenceUrls",
          "attribution",
          "tasks",
          "license",
          "licenseUrl",
          "licenseNote"
        ]
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_source_urls(query, type, badge, auth, category, ...)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Words that must all appear in the name, slug, category, domain, coverage, license, license note or tasks",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "type": {
      "description": "Kind of entry, for example Dataset or Tool",
      "type": "string",
      "enum": [
        "Dataset",
        "Model",
        "Recipe",
        "Starter Kit",
        "Tool"
      ]
    },
    "badge": {
      "description": "Access type: Free, Open Source, Freemium or Unofficial",
      "type": "string",
      "enum": [
        "Free",
        "Freemium",
        "Open Source",
        "Unofficial"
      ]
    },
    "auth": {
      "description": "What sign-up is needed, as the catalog records it, for example none or free API key",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "category": {
      "description": "The catalog's category, for example Market Data or Macro",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "domain": {
      "description": "Data domain: Financial, Global Macro, Energy, Agriculture & Food, Money Flows, Transport & Shipping, Weather, News & RSS, OSINT or Cyber Threat",
      "type": "string",
      "enum": [
        "Financial",
        "Global Macro",
        "Energy",
        "Agriculture & Food",
        "Money Flows",
        "Transport & Shipping",
        "Weather",
        "News & RSS",
        "OSINT",
        "Cyber Threat"
      ]
    },
    "license": {
      "description": "The catalog's license value, for example Provider terms or MIT",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "task": {
      "description": "One task tag, for example macro or market-data",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "verified": {
      "description": "true: only entries counted as Verified resources in llms.txt; false: only the others (Signal Lab originals, license unknown)",
      "type": "boolean"
    },
    "verified_since": {
      "description": "Only entries whose lastVerified date is on or after this date (YYYY-MM-DD)",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "slugs": {
      "description": "Entry slugs; when given, filters are ignored",
      "minItems": 1,
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 80
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_ingestion_skill(slug)

Return the agent-ready ingestion skill for one data source as markdown: how to get access, the exact request or download, the response format, a Python snippet that loads it into pandas and writes Parquet (or keeps it in memory where the provider's terms limit storage or leave it unclear), limits, known quirks, terms and attribution, and the provider pages it was written from, with quotes. Call it without a slug to list the sources that have a skill so far.

輸入結構描述

{
  "type": "object",
  "properties": {
    "slug": {
      "description": "Entry slug, for example fred or gdelt; leave out to list available skills",
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡suggest_source(url, name, domain, reason, handle)

Send us a free or open data source we do not list yet. It goes into a private queue and is checked like every listing (free access, terms, policy); nothing is published automatically and the URL is not visited by this server. Give the provider's own https page (no shorteners, IP addresses, paste or leak sites, malware hosts or dark-web links), its name, a domain from the list, and why it is useful in at most 280 characters. Optional handle (letters, digits, _ or -, at most 40) may be credited as plain text if the source is listed. Do not include personal information. Limit: 5 an hour per caller.

輸入結構描述

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "maxLength": 500,
      "description": "The provider's own https page for the data, for example its API docs"
    },
    "name": {
      "type": "string",
      "maxLength": 100,
      "description": "Name of the source or provider"
    },
    "domain": {
      "type": "string",
      "enum": [
        "Financial",
        "Global Macro",
        "Energy",
        "Agriculture & Food",
        "Money Flows",
        "Transport & Shipping",
        "Weather",
        "News & RSS",
        "OSINT",
        "Cyber Threat",
        "Energy & Infrastructure",
        "Money Flows & Trade",
        "Other"
      ],
      "description": "Which kind of data it is"
    },
    "reason": {
      "type": "string",
      "maxLength": 280,
      "description": "Why it is useful, plain text, at most 280 characters"
    },
    "handle": {
      "description": "Optional credit handle: letters, digits, _ or -",
      "type": "string",
      "maxLength": 40
    }
  },
  "required": [
    "url",
    "name",
    "domain",
    "reason"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本9 個工具