Signal Lab MCP server
Connect your AI agent to the Signal Lab catalog of 84 free and free-to-start financial data sources, tools and models. The server is public and read-only. No API key or account is needed.
Endpoint (Streamable HTTP, stateless, POST only, CORS open). It serves the same catalog as /catalog.json. Server version 1.2.1.
https://signal-lab-jet.vercel.app/api/mcpThe 8 tools
| Tool | What it does |
|---|---|
| search_catalog | Find data sources, tools and models by words and filters (category, type, access badge, sign-up needed, license, task, verified, verified since a date). Returns 10 matches by default, at most 25. |
| get_entry | Every catalog field for one entry, looked up by its slug. |
| compare_entries | Up to 5 entries side by side. |
| list_filters | The filter values the catalog uses, with how many entries have each. |
| catalog_info | The notice, schema version, generated time, entry count and download links. |
| export_catalog | The whole data list, or a filtered part of it, as JSON or CSV. |
| get_source_urls | The 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_skill | How 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. |
24 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.
claude mcp add --transport http signal-lab https://signal-lab-jet.vercel.app/api/mcpClaude 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):
{
"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:
{
"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):
{
"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.
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:
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.