- Language
- Python
- Last commit
- 2h ago
- Forks
- 0
- Open issues
- 0
- Registry update
- Oct 15, 2026
Connect
remote$claude mcp add --transport http signals-api-mcp https://data.jiangzhang.ca/signals4/mcpHeaders
Nothing to configure — it works as is.
Security review
Review passedReviewed 1h ago.
- tools
- 5 tools scanned
- metadata
- scanned
No findings.
Tools
5daily_signals
Today's AI signals from Signals API: exactly 4 items, one from each core source (GitHub, Hugging Face, YouTube, Silicon Valley news), each linking to the original. Use when the user asks what's new in AI today.
what_changed
What changed in the AI landscape since the previous snapshot: new entries, entities no longer seen, and rank movers. Use when the user asks what's moving, rising, or different lately.
top_models
Hugging Face models we track, with rank, rank change and 7-day momentum. Entries without a derivable number are marked 'not ranked' with a reason instead of a guessed value.
top_repos
GitHub repositories we track, with rank, rank change and momentum. Use when the user asks which open-source AI projects are trending.
archive_days
List the archived daily editions (dates) available from the free digest. Use to find which dates can be cited.
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
| Tool | What it returns |
|---|---|
daily_signals | Today's 4 signals — one from each core source (GitHub, Hugging Face, YouTube, Silicon Valley news), each linking to the original |
what_changed | Deltas since the previous snapshot: new entries, entities no longer seen, rank movers |
top_models | Hugging Face models with rank, rank movement and momentum, plus a ready-to-cite sentence |
top_repos | GitHub repositories, same shape |
archive_days | Which 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
- Download
mcp_server.pyanywhere (e.g.~/mcp/signals/mcp_server.py). - 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 editionshttps://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.
From the server's repository — third-party content, read it before running anything it suggests.
More in Dev tools
ai-context
com.vibgrate
Local-first MCP server: version-correct library docs, code map, and offline drift for your repo.
paprika3D (the three.js toolset for coding agents)
io.github.paprika3d
Lets coding agents see, play, inspect and speed up three.js, R3F and WebGL pages in headless Chrome
hexvero
io.github.maximilianfeix
Evidence-first static analysis: inspect artifacts, trace Electron interfaces, compare builds.
code-index
io.github.Regsorm
Rust code index MCP server, native 1C:Enterprise (BSL) support. 37 tools, AST for 14 languages.
rigour
io.github.rigour-labs
Lets coding agents review their change, find an existing helper, and recall the team's lessons.
egovframe-scaffold-mcp
io.github.EricSeokgon
eGovFrame (전자정부 표준프레임워크) projects: templates, components, CRUD, build, 5.x migration, dependencies
Listing from the official MCP Registry · repository facts from GitHub, 1h ago.