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.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
76%
Calidad de los nombres
93%
Riesgo de envenenamiento
100%
Coincidencia de permisos
90%
Cumplimiento del protocolo
100%

Hallazgos (1)

  • LOWTool 'get_source_urls' suggests web access but openWorldHint=falseen get_source_urls

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,871Tokens (definiciones de herramientas)
~2.5 KBTamaño de respuesta típico
Impacto significativo en la atención (2.24% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

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

Puntos de conexión remotos

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

Qué puede hacer

Inventario de herramientas

Herramientas (9)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada9 herramientas