AI Signals (Signals API)

Official registry AI and agents

Daily AI signals for agents: today's 4 signals, what changed, ranked models and repos

What can you do with AI Signals (Signals API)?

  • https://data.jiangzhang.ca/signals4/api/today.json — today's 4 signals
  • .../api/changes.json — deltas since the previous snapshot
  • .../api/models.json · .../api/repos.json — ranked entities + citations
  • .../api/archive.json — list of editions
  • https://data.jiangzhang.ca/llms.txt — machine-readable site summary

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

Remote (streamable-http)
Claude Code
claude mcp add --transport http ai-signals-signals-api 'https://data.jiangzhang.ca/signals4/mcp'
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "ai-signals-signals-api": {
            "type": "http",
            "url": "https://data.jiangzhang.ca/signals4/mcp"
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. Signals API — MCP server
  2. What it gives an agent
  3. Use it without installing anything (hosted endpoint)
  4. Install
  5. Try it without an MCP client
  6. Free tier vs the paid feed
  7. A trap worth knowing (we hit it ourselves)
  8. Data sources and license
  9. Endpoints behind the tools
  10. Development

Signals API — MCP server

An MCP server that gives Claude / Cursor / any MCP client AI signals data: today's signals, what changed, and ranked AI models & repositories.

No API key needed for the free tier. Single file, Python standard library only — no pip install.

What it gives an agent

ToolWhat it returns
daily_signalsToday's 4 signals — one from each core source (GitHub, Hugging Face, YouTube, Silicon Valley news), each linking to the original
what_changedDeltas since the previous snapshot: new entries, entities no longer seen, rank movers
top_modelsHugging Face models with rank, rank movement and momentum, plus a ready-to-cite sentence
top_reposGitHub repositories, same shape
archive_daysWhich daily editions exist (for citing a specific date)

Every ranked row carries a citation string, so an agent can cite the number instead of inventing one. Entities whose number cannot be derived are published as unranked with the reason — we would rather return "not ranked" than a made-up value.

Use it without installing anything (hosted endpoint)

There is also a hosted MCP endpoint, so no download and no local Python is needed — point any MCP client that speaks streamable HTTP at:

https://data.jiangzhang.ca/signals4/mcp

It is published in the official MCP Registry as ca.jiangzhang.api/signals-api-mcp and serves the same five tools as the single-file version. A quick check with curl:

curl -s -X POST https://data.jiangzhang.ca/signals4/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -A 'my-agent/1.0' \
  --data '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

(The User-Agent header matters here too — see the CDN note further down.)

Install

  1. Download mcp_server.py anywhere (e.g. ~/mcp/signals/mcp_server.py).
  2. Add it to your MCP client config:
{
  "mcpServers": {
    "signals": {
      "command": "python3",
      "args": ["/absolute/path/to/mcp_server.py"]
    }
  }
}

Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows). Restart the client and the five tools appear.

Requires Python 3.9+. No dependencies, no key, no signup.

Try it without an MCP client

echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"daily_signals","arguments":{}}}' \
  | python3 mcp_server.py

Free tier vs the paid feed

This server reads the free endpoints, which cover one edition a day, 4 sources. If your agent needs more than that, there is a paid feed:

  • 8 sources instead of 4 (adds arXiv, LMSYS Arena, hot-topic aggregation, hardware/chips)
  • 4 updates a day instead of one daily edition (email / WebPush / API)
  • full history and machine-readable archives, with a stable API key
  • BASIC — CA$9.90/month — Core 4 sources, 18 boards × Top 3 per board, one morning push email (08:00 Beijing). Subscribe: https://data.jiangzhang.ca/signals4/buy?plan=basic
  • PLUS — CA$29.90/month — All 8 sources, choose push method and times (4×/day), Top 3 per board, plus API access to today's signals and stats. Subscribe: https://data.jiangzhang.ca/signals4/buy?plan=plus
  • BUSINESS — CA$129.90/month — PLUS, plus your own content and quantity per board (3–10), searchable history and full export. Subscribe: https://data.jiangzhang.ca/signals4/buy?plan=business

Attributed landing page (no plan chosen yet): → **https://data.jiangzhang.ca/signals4/go?to=landing&src=mcp_github**

Pay once instead of subscribing

There is also a one-time option (no subscription, no renewal): the compiled dataset bundle (single JSONL, indexed SQLite, tidy daily entity CSV), refreshed daily — https://buy.stripe.com/00w28r4W08qq8CcecHgw008

The free endpoints stay free — this repo will not start requiring a key.

A trap worth knowing (we hit it ourselves)

The CDN in front of the API rejects the bare Python-urllib/… User-Agent and empty User-Agents with HTTP 403. requests, httpx, aiohttp, Go, node-fetch, axios, okhttp and curl are all fine — but if you write a plain-stdlib example and forget the header, you will see a 403 that looks like a broken API. This server always sends one. If you call the endpoints directly, set a User-Agent:

curl -H 'User-Agent: my-app/1.0' https://data.jiangzhang.ca/signals4/api/today.json

Data sources and license

Signals are collected from public APIs and public feeds (GitHub trending, Hugging Face, YouTube channels, arXiv, LMSYS Arena, silicon-valley news, hardware/chips). Each item links to its original source; we do not rewrite it. Derived rankings and momentum are recomputed from our own daily snapshots by an automated audit that also reconciles the site pages with the JSON endpoints.

Data: CC BY 4.0 — free to read, quote, cite and use commercially with attribution to Signals 4 (Signals API). Machine-readable mirror of the daily dataset: https://github.com/jiangzhangcc-glitch/ai-signals-daily

Provenance canary: signals4-canary-2f9d71c4a8 (kept for provenance if this data is mirrored).

Endpoints behind the tools

  • https://data.jiangzhang.ca/signals4/api/today.json — today's 4 signals
  • .../api/changes.json — deltas since the previous snapshot
  • .../api/models.json · .../api/repos.json — ranked entities + citations
  • .../api/archive.json — list of editions
  • https://data.jiangzhang.ca/llms.txt — machine-readable site summary

Development

The server is a single file, stdio JSON-RPC, no framework. Read a request line, write a response line. initialize, tools/list, tools/call, ping are implemented; unknown methods return JSON-RPC -32601 rather than failing silently.

MIT licensed (the server code). The data keeps its own license above.

Frequently asked questions

What is AI Signals (Signals API)?

Daily AI signals for agents: today's 4 signals, what changed, ranked models and repos

How do I install AI Signals (Signals API)?

It runs as a remote server. In Claude Code: claude mcp add --transport http ai-signals-signals-api 'https://data.jiangzhang.ca/signals4/mcp'. For other clients, paste the JSON configuration from this page into their MCP settings.

Does AI Signals (Signals API) need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is AI Signals (Signals API) open source?

Its code is public on GitHub, but the repository does not declare a standard license.

Who maintains AI Signals (Signals API)?

It is published by jiangzhangcc-glitch. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.