# io.sifting/mcp (npm · siftingio-mcp)

Live crypto/forex/metals prices, OHLCV bars, SEC fundamentals, 13F holdings and econ calendar.

- Trust score: 67/100 (medium)
- Change this week: +15
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `siftingio-mcp`: 67/100 (this document), [markdown](https://verifymcp.io/servers/io-sifting-mcp/siftingio-mcp.md), [page](https://verifymcp.io/servers/io-sifting-mcp/siftingio-mcp)

## Channel facts

- Registry: `npm`
- Package: `siftingio-mcp`
- Version: `1.0.2`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (96 of 100), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (96 of 100), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 22 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 84/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 4355 tokens (~120/item across 36 items; 36 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (14% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### Claude

```bash
claude mcp add io-sifting-mcp -- npx -y siftingio-mcp
```

### Codex

```bash
codex mcp add io-sifting-mcp -- npx -y siftingio-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-sifting-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "siftingio-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add io-sifting-mcp --command npx --arg -y --arg siftingio-mcp
```

### Hermes

```yaml
mcp_servers:
  io-sifting-mcp:
    command: "npx"
    args: ["-y", "siftingio-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "io-sifting-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "siftingio-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 67, +41)

- [security regression] Provenance: unverified → fail
- [security improvement] Install scripts: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Malware scan: unverified → pass
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Schema quality: unverified → excellent
- [functional improvement] License: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional] Licence: MIT

### 2026-08-01 (score 26, +21)

- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Schema quality: unverified → 100

### 2026-07-31 (score 5, −29)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 34, −18)

- [security regression] Malware scan: pass → unverified

### 2026-07-27 (score 52)

First indexed and scored.

## MCP tools (36)

### `last_trade` (~105 tokens)

Last trade

Latest trade snapshot (price and size) for a symbol on a venue, read straight from the live engine and never cached. For the best bid/ask instead use last_quote; for historical bars use stocks_bars / crypto_bars / forex_bars. Returns structuredContent alongside the text.

Input parameters:

- `symbol` (string, required): Symbol, e.g. BTCUSD, AAPL, EURUSD.
- `venue` (string, required): Live-data venue: stocks, crypto, forex, dex.

Output parameters:

- `P` (string): Last trade size.
- `p` (string): Last trade price.
- `s` (string): Symbol, normalized to the venue's canonical form.
- `t` (number): Timestamp, Unix epoch milliseconds.

### `last_quote` (~92 tokens)

Last quote

Top-of-book quote — best bid and ask with their sizes — for a symbol on a venue, read live from the engine and never cached. For the last traded price use last_trade instead. Returns structuredContent alongside the text.

Input parameters:

- `symbol` (string, required): Symbol, e.g. BTCUSD, AAPL, EURUSD.
- `venue` (string, required): Live-data venue: stocks, crypto, forex, dex.

Output parameters:

- `A` (string): Ask size.
- `B` (string): Bid size.
- `a` (string): Ask price.
- `b` (string): Bid price.
- `t` (number): Timestamp, Unix epoch milliseconds.

### `last_tvl` (~103 tokens)

Last DEX TVL

Current aggregated total value locked (TVL) for a DEX trading pair on an EVM chain, read live. Provide the canonical pair (e.g. WETH-USDC); for a wallet's token balances use dex_wallet. Returns structuredContent alongside the text.

Input parameters:

- `chain` (string, required): EVM chain: eth, base, arbitrum, bsc, polygon.
- `pair` (string, required): Canonical pair, e.g. WETH-USDC.

Output parameters:

- `chain` (string): Canonical lowercase chain.
- `n` (number): Number of pools aggregated.
- `pair` (string): Canonical uppercase pair, e.g. WETH-USDC.
- `r0` (string): Reserve of token0.
- `r1` (string): Reserve of token1.
- `t` (number): Timestamp, Unix epoch milliseconds.
- `usd` (string): Total value locked, USD.
- `v` (number): Version/volume counter.

### `crypto_bars` (~184 tokens)

Crypto OHLCV bars

Fetch historical OHLCV bars for a USD-quoted crypto symbol (e.g. BTCUSD) over a time range at a chosen interval (default 1m); volume is fractional base-asset volume. Large ranges are size-capped (watch for the _truncated note) — narrow the range or paginate with cursor/limit (max 5000/page). For the current price use last_trade.

Input parameters:

- `cursor` (string): Opaque pagination cursor.
- `end` (string): Inclusive upper bound. Default: now.
- `interval` (string): Bar interval. Default 1m.
- `limit` (integer): Page size, max 5000.
- `start` (string, required): Inclusive lower bound, YYYY-MM-DD or RFC3339 (UTC). Required.
- `symbol` (string, required): USD-quoted crypto symbol, e.g. BTCUSD.

### `forex_bars` (~174 tokens)

Forex OHLC bars

Fetch historical OHLC bars for a 6-character FX pair (e.g. EURUSD) over a time range at a chosen interval (default 1m); volume is always 0 for OTC spot forex. Large ranges are size-capped (watch for the _truncated note) — narrow the range or paginate with cursor/limit. For the current rate use last_quote.

Input parameters:

- `cursor` (string): Opaque pagination cursor.
- `end` (string): Inclusive upper bound. Default: now.
- `interval` (string): Bar interval. Default 1m.
- `limit` (integer): Page size.
- `pair` (string, required): 6-character FX pair, e.g. EURUSD.
- `start` (string, required): Inclusive lower bound, YYYY-MM-DD or RFC3339 (UTC). Required.

### `ws_subscribe` (~102 tokens)

Subscribe to live stream

Open (if needed) the live WebSocket and subscribe to symbols on a channel. Incoming ticks are buffered; read them with ws_poll. Returns current connection status.

Input parameters:

- `product` (string, required): Channel: cex (crypto), dex (DEX trades), fx (forex), us (US stocks), tvl (DEX pool TVL).
- `symbols` (array, required): Symbols to (un)subscribe, e.g. ['BTCUSD','ETHUSD'].

### `ws_unsubscribe` (~108 tokens)

Unsubscribe from live stream

Stop receiving the given symbols on a channel; the WebSocket stays open for any remaining subscriptions. Returns current connection status. Pair with ws_subscribe; to close the connection entirely use ws_disconnect.

Input parameters:

- `product` (string, required): Channel: cex (crypto), dex (DEX trades), fx (forex), us (US stocks), tvl (DEX pool TVL).
- `symbols` (array, required): Symbols to (un)subscribe, e.g. ['BTCUSD','ETHUSD'].

### `ws_poll` (~104 tokens)

Poll buffered ticks

Read buffered live frames. Omit after_seq to get the most recent frames (a tail snapshot); then pass the returned next_seq on subsequent calls to get only newer frames. Non-blocking.

Input parameters:

- `after_seq` (integer): Return only frames with seq greater than this (from a prior poll's next_seq).
- `limit` (integer): Max frames to return. Default 100.
- `symbol` (string): Filter to a single symbol, e.g. BTCUSD.

### `ws_collect` (~158 tokens)

Collect a live window

One-shot: subscribe, wait up to duration_ms collecting matching ticks (or until max reached), then return them. Subscriptions this call newly creates are removed afterwards. Use this for a quick 'sample N seconds of live data' request.

Input parameters:

- `duration_ms` (integer): How long to collect, in ms. Default 3000, max 15000.
- `max` (integer): Stop early after this many frames. Default 50.
- `product` (string, required): Channel: cex (crypto), dex (DEX trades), fx (forex), us (US stocks), tvl (DEX pool TVL).
- `symbols` (array, required): Symbols to (un)subscribe, e.g. ['BTCUSD','ETHUSD'].

### `ws_status` (~53 tokens)

Live stream status

Report the live stream's connection state, active subscriptions, buffered frame count, and last error, without opening a connection or consuming buffered frames. Use it to check what's subscribed before ws_poll; read buffered ticks with ws_poll.

### `ws_disconnect` (~55 tokens)

Disconnect live stream

Close the live WebSocket and clear all subscriptions and the buffered frames. Use this to tear everything down; to drop only some symbols while keeping the connection open use ws_unsubscribe. Idempotent — safe to call when already disconnected.

### `stocks_search` (~100 tokens)

Search stocks

Search the US equity universe by ticker, company name, or CIK substring, returning matching companies with their ticker, name, and CIK. Start here to resolve a name or partial symbol into the exact ticker the other stocks_* tools require. Returns structuredContent alongside the text.

Input parameters:

- `limit` (integer): Max results, default 25, max 100.
- `q` (string, required): Search string: ticker, company name, or CIK substring.

Output parameters:

- `data` (array)
- `meta` (object)

### `stocks_profile` (~84 tokens)

Company profile

Fetch a company's reference profile — name, CIK, SIC/industry, exchange, and address — assembled from SEC EDGAR submissions metadata. Use it for company identity details; for financial statements use stocks_financials and for the filing history use stocks_filings. Returns structuredContent alongside the text.

Input parameters:

- `ticker` (string, required): US equity ticker, e.g. AAPL.

Output parameters:

- `cik` (string)
- `entity_type` (string)
- `exchanges` (array)
- `fiscal_year_end` (string): Fiscal year end, MMDD (e.g. 0930).
- `name` (string)
- `other_tickers` (array)
- `sic_code` (string): 4-digit SIC industry code.
- `sic_description` (string)
- `ticker` (string)

### `stocks_filings` (~215 tokens)

List filings

List a company's SEC EDGAR filings (most recent first), optionally filtered by form type and filed-date range. Paginate with cursor/limit, or set max_items to auto-collect across pages in one call. Returns filing metadata and accession numbers; pass an accession to stocks_filing for its document list, or to stocks_sections / stocks_section for its extracted text.

Input parameters:

- `cursor` (string): Opaque cursor from a previous response's meta.next_cursor.
- `form` (string): Comma-separated exact form types, e.g. "10-K,10-Q".
- `from` (string): Lower bound on filed_at, YYYY-MM-DD.
- `limit` (integer): Page size (endpoint-specific default and max).
- `max_items` (integer): If set, auto-paginate across pages and return up to this many items (ignores cursor).
- `ticker` (string, required): US equity ticker, e.g. AAPL.
- `to` (string): Upper bound on filed_at, YYYY-MM-DD.

### `stocks_filing` (~103 tokens)

Filing detail

Fetch one SEC filing's detail — header metadata plus its list of document files — identified by ticker and accession number. Get accession numbers from stocks_filings; for the filing's extracted narrative text use stocks_sections (all sections) or stocks_section (one section's body).

Input parameters:

- `accession` (string, required): SEC accession number, e.g. 0000320193-24-000123.
- `ticker` (string, required): US equity ticker, e.g. AAPL.

### `stocks_sections` (~140 tokens)

Filing sections

Fetch every extracted narrative section of one SEC filing at once — e.g. business, risk-factors, mda, legal-proceedings — each with its section code and full text, identified by ticker and accession. Use this to pull a whole filing's readable text; when you only need one section, stocks_section returns far less. Large filings may be size-capped (watch for the _truncated note). Get accession numbers from stocks_filings.

Input parameters:

- `accession` (string, required): SEC accession number, e.g. 0000320193-24-000123.
- `ticker` (string, required): US equity ticker, e.g. AAPL.

### `stocks_section` (~141 tokens)

Filing section text

Fetch the full text of a single narrative section from one SEC filing, selected by section code (e.g. business, risk-factors, mda). Prefer this over stocks_sections when you need just one section — it returns far less text. Discover the available section codes with stocks_sections and get accession numbers from stocks_filings.

Input parameters:

- `accession` (string, required): SEC accession number, e.g. 0000320193-24-000123.
- `section` (string, required): Section code: business, risk-factors, legal-proceedings, mda, market-risk, ...
- `ticker` (string, required): US equity ticker, e.g. AAPL.

### `stocks_risk_factors_diff` (~86 tokens)

Risk-factors diff

Compute the year-over-year diff of a company's risk factors (10-K Item 1A), highlighting added, removed, and changed language between its two most recent annual reports. Use it to see how disclosed risks evolved; for the raw text use stocks_section with section 'risk-factors'.

Input parameters:

- `ticker` (string, required): US equity ticker, e.g. AAPL.

### `stocks_ratios` (~77 tokens)

Financial ratios

Fetch a company's fundamental financial ratios (valuation, profitability, liquidity, leverage) for the latest reporting period plus the full historical series, derived from its XBRL financials. For raw statement line items use stocks_financials or stocks_financial_concept.

Input parameters:

- `ticker` (string, required): US equity ticker, e.g. AAPL.

### `stocks_earnings` (~144 tokens)

Earnings history

List a company's earnings-release history, sourced from 8-K Item 2.02 filings, most recent first. Paginate with cursor/limit, or set max_items to auto-collect across pages. For all 8-K material events (not just earnings) use stocks_events.

Input parameters:

- `cursor` (string): Opaque cursor from a previous response's meta.next_cursor.
- `limit` (integer): Page size (endpoint-specific default and max).
- `max_items` (integer): If set, auto-paginate across pages and return up to this many items (ignores cursor).
- `ticker` (string, required): US equity ticker, e.g. AAPL.

### `stocks_financials` (~92 tokens)

XBRL financials

Fetch a company's complete XBRL financials bundle — every reported concept across every period — from its SEC filings. This is a large payload and may be size-capped (watch for the _truncated note); for a single line item's time series use stocks_financial_concept, and for computed ratios use stocks_ratios.

Input parameters:

- `ticker` (string, required): US equity ticker, e.g. AAPL.

### `stocks_financial_concept` (~126 tokens)

Financial concept series

Fetch the full reported time series for one XBRL concept (e.g. Revenues, NetIncomeLoss) for a single company. Use this instead of stocks_financials when you need one line item rather than the whole statement bundle; to screen the same concept across all companies use stocks_screener.

Input parameters:

- `concept` (string, required): XBRL concept name, e.g. Revenues, NetIncomeLoss.
- `taxonomy` (string): Concept namespace. Default us-gaap.
- `ticker` (string, required): US equity ticker, e.g. AAPL.

### `stocks_insiders` (~158 tokens)

Insider transactions

List a company's insider transactions from SEC Form 3/4/5 filings (officers, directors, 10% owners), most recent first. Paginate with cursor/limit (default 10, max 25), or set max_items to auto-collect across pages. For large outside stakeholders (13D/13G) use stocks_ownership.

Input parameters:

- `cursor` (string): Opaque cursor from a previous response's meta.next_cursor.
- `limit` (integer): Page size (endpoint-specific default and max).
- `max_items` (integer): If set, auto-paginate across pages and return up to this many items (ignores cursor).
- `ticker` (string, required): US equity ticker, e.g. AAPL.

### `stocks_ownership` (~150 tokens)

Ownership filings

List a company's Schedule 13D/13G beneficial-ownership filings (holders of large stakes), most recent first. Paginate with cursor/limit, or set max_items to auto-collect across pages. For officer/director trades use stocks_insiders; for institutional 13F positions use filers_holdings.

Input parameters:

- `cursor` (string): Opaque cursor from a previous response's meta.next_cursor.
- `limit` (integer): Page size (endpoint-specific default and max).
- `max_items` (integer): If set, auto-paginate across pages and return up to this many items (ignores cursor).
- `ticker` (string, required): US equity ticker, e.g. AAPL.

### `stocks_events` (~164 tokens)

Material events

List a company's 8-K material-event filings, optionally filtered to a single item code (e.g. 2.02). Most recent first; paginate with cursor/limit, or set max_items to auto-collect across pages. For earnings releases specifically use stocks_earnings.

Input parameters:

- `cursor` (string): Opaque cursor from a previous response's meta.next_cursor.
- `item` (string): Filter by 8-K item code, e.g. "2.02".
- `limit` (integer): Page size (endpoint-specific default and max).
- `max_items` (integer): If set, auto-paginate across pages and return up to this many items (ignores cursor).
- `ticker` (string, required): US equity ticker, e.g. AAPL.

### `stocks_compensation` (~128 tokens)

Compensation filings

List a company's DEF 14A proxy statements, which cover executive compensation and shareholder-vote matters, most recent first. Paginate with cursor/limit, or set max_items to auto-collect across pages.

Input parameters:

- `cursor` (string): Opaque cursor from a previous response's meta.next_cursor.
- `limit` (integer): Page size (endpoint-specific default and max).
- `max_items` (integer): If set, auto-paginate across pages and return up to this many items (ignores cursor).
- `ticker` (string, required): US equity ticker, e.g. AAPL.

### `stocks_screener` (~174 tokens)

Fundamentals screener

Screen one XBRL concept for a single fiscal period across all filers at once (e.g. Revenues for FY2023), returning each company's reported value. This is the cross-sectional counterpart to stocks_financial_concept, which returns one company's series over time. Paginate with cursor/limit.

Input parameters:

- `concept` (string, required): XBRL concept name, e.g. Revenues.
- `cursor` (string): Opaque cursor from a previous response's meta.next_cursor.
- `limit` (integer): Page size (endpoint-specific default and max).
- `period` (string, required): Fiscal period, e.g. FY2023 or 2023Q4 (as documented).
- `taxonomy` (string): Concept namespace. Default us-gaap.
- `unit` (string): Unit filter. Default USD.

### `stocks_bars` (~174 tokens)

Stock OHLCV bars

Fetch historical OHLCV bars for a US equity over a date/time range at a chosen interval (default 1m). Large ranges are size-capped (watch for the _truncated note) — narrow the window or paginate with cursor/limit. For a live price snapshot use last_trade or last_quote instead.

Input parameters:

- `cursor` (string): Opaque cursor from a previous response's meta.next_cursor.
- `end` (string): Inclusive upper bound. Default: now.
- `interval` (string): Bar interval. Default 1m.
- `limit` (integer): Page size (endpoint-specific default and max).
- `start` (string): Inclusive lower bound: YYYY-MM-DD (NYSE local) or RFC3339 (UTC).
- `ticker` (string, required): US equity ticker, e.g. AAPL.

### `filers_holdings` (~129 tokens)

13F holdings

List the latest 13F-HR reported equity positions for an institutional investment manager (a fund), identified by CIK or ticker, with share counts and market values. Paginate with cursor/limit. This is holdings held BY the filer; for a single company's insider or large-stakeholder filings use stocks_insiders / stocks_ownership.

Input parameters:

- `cursor` (string): Opaque cursor from a previous response's meta.next_cursor.
- `filer` (string, required): Institutional filer's CIK (numeric) or ticker.
- `limit` (integer): Page size (endpoint default applies if omitted).

### `economic_calendar_list` (~214 tokens)

Economic calendar

List scheduled and released macroeconomic events (e.g. CPI, non-farm payrolls, rate decisions) over a date range, each with its actual, previous, and consensus figures. Filter by country, impact level, issuing agency, or a specific recurring event_id. Defaults to the US and roughly the next 30 days.

Input parameters:

- `agency` (string): Issuing agency: BLS, BEA, Census, Fed, DOL, EIA.
- `country` (string): Two-letter country code. Default: US.
- `event_id` (string): Filter to a single recurring event, e.g. us_cpi.
- `from` (string): Lower bound, YYYY-MM-DD or RFC3339. Default: now.
- `impact` (string): Impact level: low, medium, high.
- `limit` (integer): 1-500. Default 100.
- `to` (string): Upper bound, YYYY-MM-DD or RFC3339. Default: from + 30 days.

### `markets_list` (~75 tokens)

List markets

List every market in the catalog — exchanges and asset classes such as nyse, us_equities, forex, crypto — optionally filtered by region. Use it to discover the market slug the other markets_* tools expect.

Input parameters:

- `region` (string): Region filter: north_america, europe, asia_pacific, latam, global.

### `markets_status_all` (~66 tokens)

All market statuses

Return the current open/closed status for every market at once, optionally filtered by region. Use markets_status when you already know the single market slug you care about.

Input parameters:

- `region` (string): Region filter: north_america, europe, asia_pacific, latam, global.

### `markets_status` (~71 tokens)

Market status

Return the current open/closed status for a single market by slug (e.g. nyse). For a snapshot across all markets use markets_status_all; for the recurring weekly schedule use markets_hours.

Input parameters:

- `market` (string, required): Market slug, e.g. nyse, us_equities, forex, crypto.

### `markets_hours` (~85 tokens)

Market hours

Return the regular weekly trading-hours schedule (open/close times per weekday, with time zone) for a market by slug. This is the recurring schedule, not today's state — use markets_status for whether it's open right now, and markets_calendar for holidays and half-days.

Input parameters:

- `market` (string, required): Market slug, e.g. nyse, us_equities, forex, crypto.

### `markets_calendar` (~127 tokens)

Market calendar

List the holidays and half-day (early-close) sessions for a market over a date range (defaults to the next ~90 days, max 730). Use markets_hours for the normal weekly schedule and markets_status for the live open/closed state.

Input parameters:

- `from` (string): Inclusive lower bound, YYYY-MM-DD. Default: today.
- `market` (string, required): Market slug, e.g. nyse, us_equities, forex, crypto.
- `to` (string): Inclusive upper bound, YYYY-MM-DD. Default: from + 90 days. Max range 730 days.

### `dex_wallet` (~94 tokens)

DEX wallet portfolio

Fetch the current token holdings — balances and identified tokens — for a wallet address on an EVM chain (e.g. ethereum, base). Both chain and address are required. For a DEX pair's pooled liquidity use last_tvl.

Input parameters:

- `address` (string, required): Wallet address, e.g. 0x....
- `chain` (string, required): EVM chain: eth, base, arbitrum, bsc, polygon.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/io-sifting-mcp/siftingio-mcp#diagnostics

## Score history

- 2026-08-03: 67
- 2026-08-02: 67
- 2026-08-01: 26
- 2026-07-31: 5
- 2026-07-30: 34
- 2026-07-28: 52
- 2026-07-27: 52

## Links

- npm package: https://www.npmjs.com/package/siftingio-mcp
- Socket report: https://socket.dev/npm/package/siftingio-mcp
- Repository: https://github.com/SiftingIO/siftingio-mcp
- Website: https://sifting.io/
- Changelog RSS feed: https://verifymcp.io/servers/io-sifting-mcp/siftingio-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-sifting-mcp/siftingio-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/io-sifting-mcp/siftingio-mcp
