Exposes narrative intelligence and signal analysis across crypto, AI, and macro domains through two read-only tools: get_market_narratives pulls ranked convergence/divergence signals, and get_clean_feed filters topic-specific coverage. Designed for agents that need curated signal over raw data firehoses. The service fails safe by explicitly returning "no coverage" rather than hallucinating, and surfaces cross-source narrative convergence plus capital flow divergences. Connects via remote MCP over streamable HTTP with header auth, or through a local stdio bridge for clients that don't support remote transports. Self-serve API keys at /v1/request-key. Reach for this when you need an agent to track narrative momentum or spot when price action decouples from media consensus.
Narrative & signal intelligence for AI agents — crypto, AI, and macro. A dumb-but-trustworthy pipe: it delivers curated narrative & signal, not raw data, and it fails safe — when it has no coverage it says so, rather than inventing. Built for machines, not human eyes.
https://api.signaldaemon.comPOST /v1/request-key (no signup)This repo is the front door — quickstart, client configs, and the interface contract. The pipeline itself (sources, scoring, curation) is not open source.
| It is | It is not |
|---|---|
| Cross-source narrative convergence + capital-vs-narrative divergence | A price/market-data API (use CoinGecko etc. for that) |
| Coverage across ~14 crypto/AI/macro domains | A raw news firehose |
| Fails safe — "no coverage" over hallucination | A database you query for facts |
| For agents (API/MCP), token-cost-agnostic, quality-first | A human-facing dashboard |
# 1 · self-serve a demo key (no signup)
KEY=$(curl -s -X POST https://api.signaldaemon.com/v1/request-key | jq -r .key)
# 2 · the day's ranked narratives + derived signals (cached, instant)
curl -s https://api.signaldaemon.com/v1/narratives \
-H "x-api-key: $KEY" -d '{"limit":8}'
# 3 · clean narrative feed for a topic
curl -s https://api.signaldaemon.com/v1/feed \
-H "x-api-key: $KEY" -d '{"query":"restaking","limit":8}'
Remote MCP over Streamable HTTP, authenticated with the x-api-key header.
# Claude Code
claude mcp add --transport http signaldaemon \
https://api.signaldaemon.com/mcp --header "x-api-key: <KEY>"
# Hermes Agent — ~/.hermes/config.yaml
mcp_servers:
signaldaemon:
url: "https://api.signaldaemon.com/mcp"
headers: { x-api-key: "<KEY>" }
More clients (Cursor, Cline) in examples/mcp-configs.md.
Tools: get_market_narratives(limit) · get_clean_feed(query, category, limit) —
both annotated readOnlyHint.
For clients that don't support remote MCP, this repo ships a thin stdio
bridge (mcp_server.py) exposing the same two tools over
the hosted API. It holds no methodology — just a client.
pip install mcp
export SIGNALDAEMON_API_KEY=cns_... # https://signaldaemon.com/console
python mcp_server.py
Or with Docker:
docker build -t signaldaemon-mcp . && \
docker run -i -e SIGNALDAEMON_API_KEY=cns_... signaldaemon-mcp
The bridge starts and answers introspection (tools/list) without a key;
tool calls require one.
Endpoints and response-field contract (incl. the divergence schema) in
API.md. Field names are stable.
Examples and docs in this repo: MIT (see LICENSE). The signaldaemon service and pipeline are proprietary.
io.github.shelvick/shopify-subscription-reconciliation
csoai-org/meok-stripe-acp-checkout-mcp
csoai-org/stripe-billing-mcp
ai.adramp/google-ads
co.pipeboard/google-ads-mcp
co.curie/commerce