Signalfeed

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.

VerifiedSTDIODesktop onlyFinanceData & Analytics

Overview

AI-generated overview

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…

What you can do
  • Search filing events across all twelve streams, filtering by event type, ticker, CIK or minimum score, with cursor paging
  • List everything filed on one company by ticker or CIK, and open a single event by its event_id
  • Inspect stream schemas and whether each score can be recomputed, and check how current each stream is
  • Check monthly event allowance usage and reset timing, and verify that the API key is configured and the feed answers
When to use it
Useful when you want an assistant to monitor or research US regulatory filings and filing-derived signals — insider activity, activist stakes, institutional holdings, material events, FDA actions and similar — without building your own parser. The two keyless tools let you inspect the data shape and freshness before committing to a key.
Requirements
Runs locally over stdio via npx (npm package) or Docker. Needs a DataSignals API key in the DATASIGNALS_KEY environment variable for the keyed tools; DATASIGNALS_BASE_URL is optional and defaults to the vendor's API host. Network access to that API is required. Desktop only.
Before you install
The API key is a credential sent as a Bearer header; keep it out of shared configs. Keyed calls consume a monthly event allowance, and a quota-exhausted feed returns an empty page with a notice rather than an error, so results can silently be empty. Queries and identifiers are sent to the third-party DataSignals API. The server is read-only and does not modify data.

Installation

In SourceWeft

  1. Open Signalfeed in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

signalfeed

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.

Configuration

  • 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.

Tools

  • 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:

  • A quota-exhausted feed does not throw an error mid-sync: it answers a 200 empty page with your cursor intact and a plain notice, and signalfeed passes it through like any other page.
  • The API scales to zero when idle. The first request after a quiet period may get a 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.
  • Any other non-2xx reply fails with datasignals error: HTTP <status>, and an unreachable API with datasignals unreachable.

Endpoint provenance

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.

CLI

Each tool is a subcommand taking one JSON argument string:

bash
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 --version

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 server

bash
npx -y @reneturcios/signalfeed mcp

MCP client config:

json
{  "mcpServers": {    "signalfeed": {      "command": "npx",      "args": ["-y", "@reneturcios/signalfeed", "mcp"],      "env": {        "DATASIGNALS_KEY": "<your key>"      }    }  }}

Docker

bash
docker run -i ghcr.io/cloudcorprecords/signalfeeddocker run --rm ghcr.io/cloudcorprecords/signalfeed feed_health '{}'

Development

bash
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

License

MIT — Copyright (c) 2026 Rene Turcios

Source: README.md at commit 8f89d1a

Tools

7

search_events

Search filing events across all twelve streams; filter by event type, ticker, CIK or minimum score, and page with a cursor.

Parametersciklimitsincetickermin_scoreevent_type

company_events

Everything filed on one company, across all streams.

Parameterslimitsincecompanyrequired

get_event

Show everything on one event, by its event_id.

Parametersevent_idrequired

list_event_types

Which fields each stream carries, and whether its score can be recomputed. Works without a key.

Takes no parameters.

feed_health

How current each stream is right now. Works without a key.

Takes no parameters.

usage

How much of the monthly event allowance is used, and when it resets.

Takes no parameters.

check_setup

Whether the API key is configured and whether the feed answers.

Takes no parameters.

Version history

1
  1. v0.1.0LatestNov 4, 2026

Score

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.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts