search_events
Search filing events across all twelve streams; filter by event type, ticker, CIK or minimum score, and page with a cursor.
ciklimitsincetickermin_scoreevent_type
io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 4, 2026
US filing-event streams in one schema: insider clusters, 13D/G, 13F, 8-K, Form D, FDA and more.
Client for the DataSignals Events API that lets an assistant search and read scored US filing events across twelve streams, such as insider clusters, 13D/G…
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Follow the launch instructions in the repository.
Twelve US filing-event streams, one schema, one key. signalfeed is a small client for the DataSignals Events API, which parses official filings into scored, decision-ready event records: insider buying clusters, planned insider sales (Form 144), activist stakes (13D/G), institutional holdings (13F), material events (8-K), private raises (Form D), FDA actions, biotech trial catalysts, NIH grants, federal contract awards, congressional trades and hiring signals. Every record links back to the filing it was parsed from, and where a record carries a score it also carries the terms that score was built from.
The feed is cursor-based: pass the cursor from one
response back as since and you get exactly what
arrived since — no duplicates, no gaps. Responses come
back exactly as the API returned them: nothing is
trimmed, renamed or summarised on the way through.
DATASIGNALS_KEY — your API key. Required for the
keyed tools; sent on those requests as
Authorization: Bearer <key> and never as a query
parameter, so it does not end up in server logs or
browser history. The keyless tools never send it.DATASIGNALS_BASE_URL (optional) — API base URL.
Defaults to https://datasignalslab.com.A keyed tool called without a key fails locally with
DATASIGNALS_KEY is not set, before any request is
made. Two tools — list_event_types and feed_health
— work without a key, so you can see the shape of the
data and how fresh it is before you decide.
search_events — search filing events across all
twelve streams. All filters are optional:
event_type (one of the twelve stream ids),
ticker, cik, min_score, plus since (the
cursor from a previous response) and limit for
paging. Only the filters you set are sent.company_events — everything filed on one company,
across all streams. company is a ticker or a CIK;
since and limit page the result.get_event — show everything on one event, by its
event_id (for example
insider_cluster:CAMP:2026-08-03).list_event_types — which fields each stream
carries, and whether its score can be recomputed.
Works without a key.feed_health — how current each stream is right
now. Works without a key.usage — how much of the monthly event allowance
is used, and when it resets.check_setup — whether the API key is configured
and whether the feed answers. Always answers with a
JSON object {key_configured, feed_reachable, detail}; the key value is never printed and no key
is sent by the check itself.Behaviour worth knowing:
starting_up answer
(with a Retry-After header) while it wakes, which
can take about fifteen seconds; signalfeed returns
that body as a normal result rather than an error,
and the call is not counted against your allowance.
Just call again.datasignals error: HTTP <status>, and an
unreachable API with datasignals unreachable.The vendor's Events API page pins the endpoints, the filter names, the cursor model and the twelve stream ids; the original MCP project's README pins the seven tools, both environment variables, the Bearer-header auth rule and the two keyless tools. The MCP-layer argument names follow the documented API names (a labelled reconstruction, since the MCP layer itself is unpublished):
GET <base>/v1/events with only the set filters as
query parameters (used by search_events).GET <base>/v1/companies/{ticker or cik}/events
with since/limit when set (used by
company_events).GET <base>/v1/events/{event_id} (used by
get_event).GET <base>/v1/event-types (used by
list_event_types, keyless).GET <base>/v1/health (used by feed_health,
keyless, and by check_setup).GET <base>/v1/usage (used by usage).event_id and company path segments are
URL-encoded.
Each tool is a subcommand taking one JSON argument string:
Output is the tool's result text (the upstream body on
success). Exit codes: 0 on success, 1 on a runtime
error, 2 on a usage error.
MCP client config:
MIT — Copyright (c) 2026 Rene Turcios
Source: README.md at commit 8f89d1a
Search filing events across all twelve streams; filter by event type, ticker, CIK or minimum score, and page with a cursor.
ciklimitsincetickermin_scoreevent_typeEverything filed on one company, across all streams.
limitsincecompanyrequiredShow everything on one event, by its event_id.
event_idrequiredWhich fields each stream carries, and whether its score can be recomputed. Works without a key.
Takes no parameters.
How current each stream is right now. Works without a key.
Takes no parameters.
How much of the monthly event allowance is used, and when it resets.
Takes no parameters.
Whether the API key is configured and whether the feed answers.
Takes no parameters.
90% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
npx @reneturcios/signalfeed search_events '{"event_type":"fda_action","min_score":70}'npx @reneturcios/signalfeed company_events '{"company":"NVDA"}'npx @reneturcios/signalfeed get_event '{"event_id":"insider_cluster:CAMP:2026-08-03"}'npx @reneturcios/signalfeed list_event_types '{}'npx @reneturcios/signalfeed feed_health '{}'npx @reneturcios/signalfeed usage '{}'npx @reneturcios/signalfeed check_setup '{}'npx @reneturcios/signalfeed --versionnpx -y @reneturcios/signalfeed mcp{ "mcpServers": { "signalfeed": { "command": "npx", "args": ["-y", "@reneturcios/signalfeed", "mcp"], "env": { "DATASIGNALS_KEY": "<your key>" } } }}docker run -i ghcr.io/cloudcorprecords/signalfeeddocker run --rm ghcr.io/cloudcorprecords/signalfeed feed_health '{}'npm installnpm run build # tsc -> dist/npm test # tsx --test test/*.test.ts (fake fetch only, no network)npm run dev # run the CLI from source