{
  "specVersion": "1.0",
  "host": {
    "displayName": "Signal Lab",
    "identifier": "did:web:signal-lab.qdt.ai",
    "url": "https://signal-lab.qdt.ai"
  },
  "entries": [
    {
      "identifier": "urn:air:signal-lab.qdt.ai:server:signal-lab",
      "displayName": "Signal Lab MCP server",
      "description": "Signal Lab indexes 509 free and free-to-start data sources, tools and models for trading and AI agents (markets, macro, energy, agriculture, money flows, transport, research, weather, news and OSINT), each with access, limits, license and the date we last verified it.",
      "type": "application/mcp-server-card+json",
      "url": "https://signal-lab.qdt.ai/.well-known/mcp/server-card.json",
      "representativeQueries": [
        "find a free API for historical FX rates",
        "which free weather APIs need no key",
        "what are the rate limits and license for FRED",
        "free open data for shipping and port calls"
      ]
    },
    {
      "identifier": "urn:air:signal-lab.qdt.ai:api:catalog",
      "displayName": "Signal Lab catalog files (JSON, CSV, llms.txt)",
      "type": "application/openapi+json",
      "url": "https://signal-lab.qdt.ai/openapi.json",
      "representativeQueries": [
        "download the full list of free data sources as JSON",
        "list free macro data sources with licenses"
      ]
    },
    {
      "identifier": "urn:air:signal-lab.qdt.ai:skills:ingestion",
      "displayName": "Signal Lab ingestion skills (234)",
      "type": "application/json",
      "url": "https://signal-lab.qdt.ai/.well-known/agent-skills/index.json",
      "representativeQueries": [
        "load ECB exchange rates into pandas",
        "python snippet to pull USGS earthquakes"
      ]
    }
  ]
}