# StockDrifts (remote · mcp.stockdrifts.io)

Rated 13F funds with average buy prices, company KPIs, Japan investor ratings, Korea insider buys.

- Trust score: 74/100 (medium)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `mcp.stockdrifts.io`: 74/100 (this document), [markdown](https://verifymcp.io/servers/io-stockdrifts-mcp/mcp.md), [page](https://verifymcp.io/servers/io-stockdrifts-mcp/mcp)

## Channel facts

- Endpoint: `https://mcp.stockdrifts.io/mcp/`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.29.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, 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-11-05.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 32 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 63/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 4058 tokens (~126/item across 32 items; 32 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 100/100
  - No destabilizing schema changes in the last 30 days.
- **Tool Coverage**: 86/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 57% of tool parameters carry a description.
- **Tool Safety**: 75/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 32 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - Manipulation not yet verified: none of the 32 captured unit(s) of tool text has been judged yet, so we will not certify text no model has read as clean.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the StockDrifts MCP server?

StockDrifts is a hosted endpoint at https://mcp.stockdrifts.io/mcp/, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http io-stockdrifts-mcp 'https://mcp.stockdrifts.io/mcp/'
```

### Cursor

```json
{
  "mcpServers": {
    "io-stockdrifts-mcp": {
      "url": "https://mcp.stockdrifts.io/mcp/"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "io-stockdrifts-mcp": {
      "type": "http",
      "url": "https://mcp.stockdrifts.io/mcp/"
    }
  }
}
```

### Codex

```toml
[mcp_servers.io-stockdrifts-mcp]
url = "https://mcp.stockdrifts.io/mcp/"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-stockdrifts-mcp": {
      "type": "remote",
      "url": "https://mcp.stockdrifts.io/mcp/",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add io-stockdrifts-mcp --url 'https://mcp.stockdrifts.io/mcp/' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  io-stockdrifts-mcp:
    url: "https://mcp.stockdrifts.io/mcp/"
```

### Netclaw

```json
{
  "McpServers": {
    "io-stockdrifts-mcp": {
      "Transport": "http",
      "Url": "https://mcp.stockdrifts.io/mcp/"
    }
  }
}
```

### Vellum

```bash
assistant mcp add io-stockdrifts-mcp -t streamable-http -u 'https://mcp.stockdrifts.io/mcp/'
```

### Other

```json
{
  "mcpServers": {
    "io-stockdrifts-mcp": {
      "type": "http",
      "url": "https://mcp.stockdrifts.io/mcp/"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## 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-11-05 (score 74, +1)

- [security] Stability: 0.97 → pass

### 2026-11-03 (score 73, +1)

No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-01 (score 72, +1)

No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-30 (score 71, +1)

No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-28 (score 70, +1)

No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-26 (score 69, +1)

No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-23 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-21 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.

## MCP tools (32)

### `list_insider_trades_kr` (~173 tokens)

Insider trades for one KR ticker

Input parameters:

- `acquisition_method` (string): Filter to one acquisition_method (e.g. '장내매수' for open-market buys). Useful for excluding stock-dividend (주식배당) bookings.
- `days` (integer)
- `limit` (integer)
- `min_value_krw` (number): Drop trades worth less than this many KRW.
- `page` (integer): 0-indexed page number.
- `position_category` (string): Filter to a position bucket. One of: CEO, CFO, COO, CTO, Chairman, Co-CEO, President, Vice Chairman.
- `stock_code` (string, required)
- `transaction_types` (array): Filter to BUY only, SELL only, or both. Defaults to both.

### `get_insider_summary_kr` (~31 tokens)

Pre-aggregated insider summary for one KR ticker

Input parameters:

- `stock_code` (string, required)

### `list_recent_trades_kr` (~207 tokens)

Recent KR insider trades across all tickers

Input parameters:

- `acquisition_method` (string): Filter to one acquisition_method (e.g. '장내매수' for open-market buys). Useful for excluding stock-dividend (주식배당) bookings.
- `days` (integer)
- `limit` (integer)
- `market_cap` (string): Market-cap bucket. One of: mega, large, mid, small, micro.
- `min_value_krw` (number): Drop trades worth less than this many KRW.
- `page` (integer): 0-indexed page number.
- `position_category` (string): Filter to a position bucket. One of: CEO, CFO, COO, CTO, Chairman, Co-CEO, President, Vice Chairman.
- `sector` (string): Industry sector (e.g. 'Semiconductors').
- `transaction_types` (array): Filter to BUY only, SELL only, or both. Defaults to both.

### `list_top_buys_kr` (~234 tokens)

Top KR tickers by aggregated insider buying over a window

Input parameters:

- `acquisition_method` (string): Override the high-signal filter with a specific acquisition_method (e.g. '장내매수', '주식배당').
- `days` (integer)
- `high_signal_only` (boolean): Default true — restrict to Tier-1 open-market buys (장내매수) and drop program trades, matching the dashboard's High Signal view. Pass false to include stock-dividend bookings, option exercises, etc.
- `limit` (integer)
- `market_cap` (string): Market-cap bucket. One of: mega, large, mid, small, micro.
- `min_insider_count` (integer): Drop tickers with fewer than this many distinct insiders.
- `min_value_krw` (number): Drop source trades worth less than this many KRW.
- `position_category` (string): Filter to a position bucket. One of: CEO, CFO, COO, CTO, Chairman, Co-CEO, President, Vice Chairman.
- `sector` (string): Industry sector.

### `list_top_sells_kr` (~204 tokens)

Top KR tickers by aggregated insider selling over a window

Input parameters:

- `acquisition_method` (string): Override the high-signal filter with a specific acquisition_method.
- `days` (integer)
- `high_signal_only` (boolean): Default true — restrict to Tier-1 open-market sells (장내매도) and drop program trades. Pass false to include all sell types.
- `limit` (integer)
- `market_cap` (string): Market-cap bucket. One of: mega, large, mid, small, micro.
- `min_insider_count` (integer): Drop tickers with fewer than this many distinct insiders.
- `min_value_krw` (number): Drop source trades worth less than this many KRW.
- `position_category` (string): Filter to a position bucket. One of: CEO, CFO, COO, CTO, Chairman, Co-CEO, President, Vice Chairman.
- `sector` (string): Industry sector.

### `list_opportunities_kr` (~113 tokens)

Recent KR open-market BUYs whose price hasn't moved much yet

Input parameters:

- `exclude_asset_mgrs` (boolean): Drop institutional rows (자산운용/투자신탁/연금).
- `limit` (integer)
- `max_return_pct` (number): Drop trades whose price has already moved more than this many percent (positive or negative) since the filing.
- `min_value_krw` (number): Drop trades smaller than this many KRW.
- `period_days` (integer)

### `list_plans_kr` (~102 tokens)

KR pre-disclosure (D005) plans — announced but not yet executed trades

Input parameters:

- `days` (integer)
- `is_amendment` (boolean): Filter to amendment (or original) filings.
- `is_withdrawal` (boolean): Filter to withdrawn (or non-withdrawn) plans.
- `limit` (integer)
- `page` (integer): 0-indexed page number.
- `stock_code` (string)

### `get_plan_executions_kr` (~33 tokens)

Cross-reference one D005 plan against its actual executions

Input parameters:

- `rcept_no` (string, required)

### `search_companies_kr` (~77 tokens)

Search KR companies by stock_code, Korean name, or English name

Input parameters:

- `limit` (integer)
- `offset` (integer)
- `q` (string): Search term — matches stock_code prefix, company_name (Korean) substring, or company_name_en substring. Omit to list all companies by trade volume.

### `list_leaderboard_kr` (~72 tokens)

Top KR insiders by historical avg return on their buys

Input parameters:

- `exclude_asset_mgrs` (boolean): Drop institutional rows (자산운용/투자신탁/연금).
- `limit` (integer)
- `min_buys` (integer): Minimum lifetime purchase count to appear.

### `list_insider_filings_jp` (~120 tokens)

Shareholding-report filings for one JP ticker

Input parameters:

- `days` (integer)
- `limit` (integer)
- `min_value_jpy` (number): Drop filings worth less than this many JPY.
- `page` (integer): 0-indexed page number.
- `purpose_category` (string): Filter to one purpose_category (e.g. 'activist', 'passive').
- `stock_code` (string, required)
- `transaction_types` (array): Filter to specific transaction types (e.g. ['BUY']).

### `get_insider_summary_jp` (~32 tokens)

Pre-aggregated shareholding summary for one JP ticker

Input parameters:

- `stock_code` (string, required)

### `list_recent_filings_jp` (~118 tokens)

Recent JP filings across all tickers

Input parameters:

- `days` (integer)
- `limit` (integer)
- `market_cap` (string): Market-cap bucket. One of: mega, large, mid, small, micro.
- `min_value_jpy` (number): Drop filings worth less than this many JPY.
- `page` (integer): 0-indexed page number.
- `purpose_category` (string)
- `transaction_types` (array): Filter to specific transaction types (e.g. ['BUY']).

### `list_top_buys_jp` (~147 tokens)

Top JP tickers by aggregated insider buying over a window

Input parameters:

- `days` (integer)
- `high_signal_only` (boolean): Default true — drop correction/amendment filings (paperwork).
- `limit` (integer)
- `market_cap` (string): Market-cap bucket. One of: mega, large, mid, small, micro.
- `min_investor_count` (integer): Drop tickers with fewer than this many distinct investors.
- `min_value_jpy` (number): Drop source filings worth less than this many JPY.
- `purpose_category` (string): Filter source filings to one purpose_category (e.g. 'activist').

### `list_top_sells_jp` (~139 tokens)

Top JP tickers by aggregated insider selling over a window

Input parameters:

- `days` (integer)
- `high_signal_only` (boolean): Default true — drop correction/amendment filings (paperwork).
- `limit` (integer)
- `market_cap` (string): Market-cap bucket. One of: mega, large, mid, small, micro.
- `min_investor_count` (integer): Drop tickers with fewer than this many distinct investors.
- `min_value_jpy` (number): Drop source filings worth less than this many JPY.
- `purpose_category` (string): Filter source filings to one purpose_category.

### `list_investor_filings_jp` (~43 tokens)

All JP filings made by one investor (EDINET code)

Input parameters:

- `filer_edinet_code` (string, required)
- `limit` (integer)

### `list_opportunities_jp` (~103 tokens)

Recent JP BUY/INITIAL filings whose price hasn't moved much yet

Input parameters:

- `exclude_passive` (boolean): Drop filings with purpose_category='passive'.
- `limit` (integer)
- `max_return_pct` (number): Drop filings whose price has already moved more than this many percent (positive or negative) since the filing.
- `min_value_jpy` (number): Drop filings smaller than this many JPY.
- `period_days` (integer)

### `list_leaderboard_jp` (~45 tokens)

Top JP investors by star rating + avg return

Input parameters:

- `limit` (integer)
- `min_buys` (integer): Minimum lifetime purchase count to appear.

### `list_convergence_jp` (~46 tokens)

JP tickers with multiple distinct investors filing on the same name

Input parameters:

- `limit` (integer)
- `min_investors` (integer): Minimum distinct investors per ticker.

### `search_companies_jp` (~76 tokens)

Search JP companies by stock_code, Japanese name, or English name

Input parameters:

- `limit` (integer)
- `offset` (integer)
- `q` (string): Search term — matches stock_code prefix, company_name (Japanese) substring, or company_name_en substring. Omit to list all companies by filing volume.

### `search_investors_us` (~121 tokens)

Fuzzy-search investors by name; resolves to CIKs ordered by AUM

Case-insensitive partial-name match against the latest-holdings view. Returns the largest funds first so the most likely match is at the top. Use this to resolve a manager name to a CIK before calling investor-axis tools (`get_investor_holdings_us`, `list_investor_periods_us`, `get_investor_changes_us`).

Input parameters:

- `limit` (integer)
- `query` (string, required): Partial manager name (case-insensitive)

### `screen_investor_sector_exposure_us` (~303 tokens)

Screen investors by sector concentration (e.g. top biotech specialists)

Ranks 13F filers by the share of their portfolio in one sector, computed from sector-tagged top-50 holdings. `tier` buckets: specialist (>=60%), heavy (30-60%), tilted (10-30%), minimal (<10%). Interpretation caveats: corporate venture arms (Gilead, Pfizer, GSK) and single-stock endowments (e.g. Lilly Endowment holds only LLY) rank as specialists — pass `min_positions` (e.g. 5) to screen for genuinely diversified sector pickers. Chain with `get_investor_holdings_us` / `get_investor_changes_us` to see what a specialist is buying now.

Input parameters:

- `limit` (integer)
- `min_positions` (integer): Only funds with at least this many positions in the sector.
- `min_total_value_usd` (number): Only funds with total portfolio value ≥ this many USD.
- `period` (string): Reporting period: '2026-06-30' or '2026-Q2'. Defaults to latest.
- `sector` (string): Sector to rank by: 'biotech' (biotech + pharma industries, the fast path) or a sector name like 'Healthcare', 'Technology', 'Energy'.
- `tier` (string): Only funds in this tier: specialist | heavy | tilted | minimal.

### `screen_investor_catalyst_record_us` (~332 tokens)

Screen funds by their track record on binary events (any sector)

Ranks 13F filers by how their positions resolved through binary events — single-day moves >= ~25%, price-defined, NOT verified cause labels. In biotech these are trial readouts / FDA decisions / buyouts; elsewhere earnings blowups, guidance cuts, M&A. `sector='all'` (default) ranks across everything; `'biotech'` and lowercased sector names ('technology', 'energy', ...) scope the record. `hit_rate` = pops held / events decided; `impact_usd` is dollar-weighted (position value x event return). Always pass `min_events` (>= 5) — a perfect rate on 2 events is noise. Chain with `get_investor_holdings_us` to see what a proven event-caller is buying now, or `screen_investor_sector_exposure_us` to intersect with sector specialists.

Input parameters:

- `limit` (integer)
- `min_events` (integer): Only funds exposed to at least this many events (use >= 5).
- `min_hit_rate` (number): Only funds with hit_rate >= this percent.
- `min_impact_usd` (number): Only funds with dollar-weighted impact >= this many USD.
- `order_by` (string): Ranking column: impact_usd (default) | hit_rate | events.
- `sector` (string): Sector bucket: 'all' (rollup), 'biotech', or a lowercased sector name like 'technology' or 'energy'.

### `get_investor_holdings_us` (~122 tokens)

Latest 13F holdings for one investor (or for a specific period)

Input parameters:

- `cik` (string, required)
- `min_position_value_usd` (number): Drop positions worth less than this many USD.
- `period` (string): Reporting period: '2026-Q2' or '2026-06-30'.
- `tickers` (array): Only return positions matching these tickers; overrides top_n.
- `top_n` (integer): Return only the top-N positions by USD value (slims a 50-position payload).

### `list_investor_periods_us` (~60 tokens)

All 13F periods on file for one investor

Input parameters:

- `cik` (string, required)
- `limit` (integer)
- `top_n` (integer): Return only the top-N positions per period (defaults to all 50).

### `get_investor_changes_us` (~88 tokens)

QoQ position diff for one investor between two periods

Input parameters:

- `cik` (string, required)
- `period_from` (string): Older period ('2026-Q1' or '2026-03-31'); defaults to the prior period on file.
- `period_to` (string, required): Newer period: '2026-Q2' or '2026-06-30'.

### `get_investor_sector_exposure_us` (~135 tokens)

Sector-exposure history for one investor (newest quarter first)

Per-quarter portfolio composition by sector for one 13F filer, including the biotech tier and top biotech positions. Use it to see whether a fund was already a sector specialist in earlier quarters, or how its sector mix is shifting. `unclassified_pct` reports how much top-50 value had no sector tag.

Input parameters:

- `cik` (string, required)
- `limit` (integer)
- `period` (string): One reporting period: '2026-06-30' or '2026-Q2'. Default: all on file.

### `get_investor_catalyst_record_us` (~156 tokens)

One fund's binary-event track record per sector, with best/worst calls

The fund's record of holding names through binary events (price-defined single-day moves — readouts/FDA/buyouts in biotech, earnings/M&A elsewhere; not verified cause labels): one row per sector bucket, the 'all' rollup first, each with hits, blowups, hit rate, dollar-weighted impact, and the five best and worst resolved calls. 404 means the fund had no scored events in the window, not that it is a bad fund.

Input parameters:

- `cik` (string, required)
- `sector` (string): Only this sector bucket (e.g. 'biotech'); default all buckets.

### `list_ticker_holders_us` (~215 tokens)

Investors with `ticker` in their top-50 positions, sorted by position size

Returns 13F filers that hold `ticker` **as one of their 50 largest positions**, scoped to the most recent reporting period by default. Only top-50 positions per investor are surfaced — smaller positions are not included. Pass an explicit `period` to query a different quarter.

Input parameters:

- `limit` (integer)
- `min_position_value_usd` (number): Only funds whose position in this ticker is ≥ this many USD.
- `min_total_value_usd` (number): Only funds with total AUM ≥ this many USD.
- `period` (string): Reporting period: '2026-Q2' or '2026-06-30'.
- `ratings` (array): Filter to specific fund ratings (e.g. ['3','4','5'] for 3-star and above). Use this to avoid pulling 200 funds when you only want a rating slice.
- `ticker` (string, required)

### `get_kpi` (~24 tokens)

Latest normalized KPI snapshot for one ticker

Input parameters:

- `ticker` (string, required)

### `screen_insiders` (~183 tokens)

Screen insider activity by country, date, value, role, and ticker

Screens one market per call, selected by `country`: 'KR' returns individual insider transactions, 'JP' returns 5%+ shareholding reports. The response echoes `country` — switch on it before reading `results`, since the two markets return different record shapes. There is no US coverage; use the 13F screen for US institutional flows.

Input parameters:

- `actor_role` (string)
- `country` (string, required): Market to screen: 'KR' (Korea) or 'JP' (Japan).
- `date_from` (string)
- `date_to` (string)
- `limit` (integer)
- `max_value` (number)
- `min_value` (number)
- `stock_codes` (array)
- `transaction_types` (array)

### `screen_holdings_us` (~204 tokens)

Screen 13F holdings by period, ticker, value, and rating; returns each matched fund with only the position(s) that matched

Results are wrapped in an envelope: `results` holds up to `limit` funds (max 500), `total_count` is the full server-side match count, and `truncated` says whether paging with `offset` would surface more. `period` accepts '2026-Q2' or an ISO date like '2026-06-30'.

Input parameters:

- `limit` (integer)
- `max_value_usd` (number)
- `min_value_usd` (number)
- `offset` (integer): Rows to skip, for paging past `limit` (see `truncated`).
- `period` (string): Reporting period: '2026-Q2' or an ISO date like '2026-06-30'.
- `ratings` (array)
- `tickers` (array)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/io-stockdrifts-mcp/mcp#diagnostics

## Score history

- 2026-11-05: 74
- 2026-11-04: 73
- 2026-11-03: 73
- 2026-11-02: 72
- 2026-11-01: 72
- 2026-10-31: 71
- 2026-10-30: 71
- 2026-10-29: 70
- 2026-10-28: 70
- 2026-10-27: 69
- 2026-10-26: 69
- 2026-10-25: 68
- 2026-10-24: 68
- 2026-10-23: 68
- 2026-10-22: 67
- 2026-10-21: 67
- 2026-10-20: 66
- 2026-10-19: 66
- 2026-10-18: 65
- 2026-10-17: 65
- 2026-10-16: 64
- 2026-10-15: 64
- 2026-10-14: 63
- 2026-10-13: 63
- 2026-10-12: 62
- 2026-10-10: 61
- 2026-10-07: 60

## Common questions

### What is the StockDrifts MCP server?

StockDrifts is an MCP server listed in the public MCP registry as io.stockdrifts/mcp. Rated 13F funds with average buy prices, company KPIs, Japan investor ratings, Korea insider buys. This page covers its hosted endpoint (https://mcp.stockdrifts.io/mcp/).

### Is the StockDrifts MCP server safe to use?

StockDrifts scores 74 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the StockDrifts MCP server expose?

StockDrifts exposes 32 tools: list_insider_trades_kr, get_insider_summary_kr, list_recent_trades_kr, list_top_buys_kr, list_top_sells_kr, and 27 more. Their descriptions and schemas cost roughly 4,058 tokens of context every time the server is loaded.

### Does the StockDrifts MCP server require authentication?

No. We connected to StockDrifts without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the StockDrifts MCP server still maintained?

StockDrifts is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What did VerifyMCP test on the StockDrifts MCP server?

VerifyMCP ran 11 checks on StockDrifts, covering TLS certificate, HTTPS, HSTS header, DNSSEC and 7 more. 2 items could not be completed, a gap on our side rather than a finding about StockDrifts: Authorization and Judged manipulation. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.

## Links

- Remote endpoint: https://mcp.stockdrifts.io/mcp/
- Authorisation metadata: https://mcp.stockdrifts.io/.well-known/oauth-protected-resource/mcp
- Repository: https://github.com/Stockdrifts/stockdrifts-mcp
- Website: https://www.stockdrifts.io/api-docs
- Changelog RSS feed: https://verifymcp.io/servers/io-stockdrifts-mcp/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-stockdrifts-mcp/mcp/changelog.json
- Trust report (JSON): https://verifymcp.io/servers/io-stockdrifts-mcp/mcp.json
- HTML version of this page: https://verifymcp.io/servers/io-stockdrifts-mcp/mcp
