Next free-source hunt
We check for new free data every weekday.

Signal Lab MCP server

Connect your AI agent to the Signal Lab catalog of 322 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 and cyber threat), tools and models. The server is public and needs no API key or account. The 8 catalog tools only read the catalog. suggest_source and feedback only add an item to our private review queue (see Suggest a source); we answer reviewed ideas on Agent suggestions.

Endpoint (Streamable HTTP, stateless, POST only, CORS open). It serves the same catalog as /catalog.json. Server version 1.5.0.

https://signal-lab-jet.vercel.app/api/mcp

The 10 tools

ToolWhat it does
search_catalogFind data sources, tools and models by words and filters (domain, category, type, access badge, sign-up needed, license, task, verified, verified since a date). Query results put name, slug and task concept matches first, then sort ties by name A to Z; without a query, results are name A to Z. Returns 10 matches by default, at most 25.
get_entryEvery catalog field for one entry, looked up by its slug.
compare_entriesUp to 5 entries side by side.
list_filtersThe filter values the catalog uses, with how many entries have each.
catalog_infoThe notice, schema version, generated time, entry count and download links.
export_catalogThe whole data list, or a filtered part of it, as JSON or CSV.
get_source_urlsThe original provider, docs, evidence and license or terms links for each entry, with the date we last verified it. Ask for up to 25 slugs, use the same filters as search_catalog, or give neither to get every entry.
get_ingestion_skillHow to load one source into pandas: access, the request, the format, a Python snippet, limits, quirks, terms and sources, as markdown. Call it with no slug to list the sources that have one.
suggest_sourceSend us a free or open data source we don't list yet: the provider's own https link, a name, a domain and a short reason. It goes into a private review queue and is checked like every listing; nothing is published automatically.
feedbackTell us what to fix or add: a missing source, a wrong fact, a broken link, a feature idea or a site upgrade, with an optional page path and credit handle. It goes into a private review queue; reviewed ideas get a public status and reason on the agent suggestions page.

216 data sources have an ingestion skill. Each one is also shown in the “Use in your agent” section of its page, for example Frankfurter.

Set it up

Claude Code

Run this in a terminal, then check it with claude mcp list.

bash
claude mcp add --transport http signal-lab https://signal-lab-jet.vercel.app/api/mcp

Claude Desktop and claude.ai

On Free, Pro and Max plans, go to Customize > Connectors and add a custom connector. Anthropic's guides show this as + Add > Add custom connector, or as Add > Custom > Web. Enter a name, paste the endpoint URL above, and choose No sign in. Free plans allow one custom connector. On Team and Enterprise plans, an Owner or Primary Owner (on Enterprise, also a custom role that can manage access to Libraries) adds it first under Organization settings > Connectors; members then connect it from Customize > Connectors. Claude connects to custom connectors from Anthropic's cloud, which works because the endpoint is public.

To run it as a local server instead, add this to claude_desktop_config.json (needs Node.js):

claude_desktop_config.json
{
  "mcpServers": {
    "signal-lab": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://signal-lab-jet.vercel.app/api/mcp"
      ]
    }
  }
}

Cursor

Add this to ~/.cursor/mcp.json, or to .cursor/mcp.json in a project:

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

VS Code

Run MCP: Add Server from the Command Palette, choose HTTP and paste the endpoint URL. Or add this to .mcp.json at the root of your workspace, or to ~/.copilot/mcp-config.json for your user (the portable format, with a top-level mcpServers object):

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

The older .vscode/mcp.json file uses a top-level servers object instead. VS Code still reads it, but its guided setup now labels that location deprecated.

Try it with curl

List the tools. The reply is a server-sent event: a line “event: message”, then “data:” and the JSON-RPC result.

bash
curl -s -X POST https://signal-lab-jet.vercel.app/api/mcp -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Get the ingestion skill for one source:

bash
curl -s -X POST https://signal-lab-jet.vercel.app/api/mcp -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_ingestion_skill","arguments":{"slug":"frankfurter"}}}'

Limits

  • One JSON-RPC message per request, and a request body of at most 16 KB.
  • About 120 requests a minute per client, counted per server instance. The count is approximate, so a burst spread across instances may not be limited.
  • Results are the catalog's own values. Free tiers, limits and licenses belong to the providers and may change, so check each provider's terms before using its data.

Registry listing

Listed in the official MCP Registry as io.github.QDThead/signal-lab. View the registry entry (JSON)

Prefer files? The Agent Ingestion page has catalog.json, catalog.csv and llms.txt.

Information presented for educational purposes only. Signal Lab does not host or redistribute third-party data.