StockDrifts

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

我該用這個嗎

品質與安全性

A
說明品質
80%
結構描述完整度
84%
命名品質
95%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(14)

  • LOWTool 'list_insider_trades_kr' description lacks action verb在 list_insider_trades_kr 中
  • LOWTool 'list_recent_trades_kr' description lacks action verb在 list_recent_trades_kr 中
  • LOWTool 'list_leaderboard_kr' description lacks action verb在 list_leaderboard_kr 中
  • LOWTool 'list_insider_filings_jp' description lacks action verb在 list_insider_filings_jp 中
  • LOWTool 'list_recent_filings_jp' description lacks action verb在 list_recent_filings_jp 中
  • LOWTool 'list_investor_filings_jp' description lacks action verb在 list_investor_filings_jp 中
  • LOWTool 'list_leaderboard_jp' description lacks action verb在 list_leaderboard_jp 中
  • LOWTool 'list_convergence_jp' description lacks action verb在 list_convergence_jp 中
  • LOWTool 'list_investor_periods_us' description lacks action verb在 list_investor_periods_us 中
  • LOWTool 'get_investor_changes_us' description lacks action verb在 get_investor_changes_us 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~6,377Token(工具定義)
~1.7 KB典型回應大小
顯著的注意力影響(128k 上下文的 4.98%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

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

遠端端點

https://mcp.stockdrifts.io/mcp/streamable-http

它能做什麼

工具清單

工具(32)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢list_insider_trades_kr(stock_code, days, limit, page, transaction_types, ...)

Insider trades for one KR ticker

輸入結構描述

{
  "type": "object",
  "properties": {
    "stock_code": {
      "type": "string",
      "title": "Stock Code"
    },
    "days": {
      "type": "integer",
      "maximum": 9999,
      "minimum": 1,
      "default": 180,
      "title": "Days"
    },
    "limit": {
      "type": "integer",
      "maximum": 500,
      "minimum": 1,
      "default": 200,
      "title": "Limit"
    },
    "page": {
      "type": "integer",
      "minimum": 0,
      "description": "0-indexed page number.",
      "default": 0,
      "title": "Page"
    },
    "transaction_types": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Filter to BUY only, SELL only, or both. Defaults to both.",
      "title": "Transaction Types"
    },
    "min_value_krw": {
      "type": "number",
      "minimum": 0,
      "description": "Drop trades worth less than this many KRW.",
      "title": "Min Value Krw"
    },
    "acquisition_method": {
      "type": "string",
      "description": "Filter to one acquisition_method (e.g. '장내매수' for open-market buys). Useful for excluding stock-dividend (주식배당) bookings.",
      "title": "Acquisition Method"
    },
    "position_category": {
      "type": "string",
      "description": "Filter to a position bucket. One of: CEO, CFO, COO, CTO, Chairman, Co-CEO, President, Vice Chairman.",
      "title": "Position Category"
    }
  },
  "required": [
    "stock_code"
  ]
}
🟢get_insider_summary_kr(stock_code)

Pre-aggregated insider summary for one KR ticker

輸入結構描述

{
  "type": "object",
  "properties": {
    "stock_code": {
      "type": "string",
      "title": "Stock Code"
    }
  },
  "required": [
    "stock_code"
  ]
}
🟢list_recent_trades_kr(days, limit, page, transaction_types, min_value_krw, ...)

Recent KR insider trades across all tickers

輸入結構描述

{
  "type": "object",
  "properties": {
    "days": {
      "type": "integer",
      "maximum": 365,
      "minimum": 1,
      "default": 7,
      "title": "Days"
    },
    "limit": {
      "type": "integer",
      "maximum": 500,
      "minimum": 1,
      "default": 200,
      "title": "Limit"
    },
    "page": {
      "type": "integer",
      "minimum": 0,
      "description": "0-indexed page number.",
      "default": 0,
      "title": "Page"
    },
    "transaction_types": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Filter to BUY only, SELL only, or both. Defaults to both.",
      "title": "Transaction Types"
    },
    "min_value_krw": {
      "type": "number",
      "minimum": 0,
      "description": "Drop trades worth less than this many KRW.",
      "title": "Min Value Krw"
    },
    "acquisition_method": {
      "type": "string",
      "description": "Filter to one acquisition_method (e.g. '장내매수' for open-market buys). Useful for excluding stock-dividend (주식배당) bookings.",
      "title": "Acquisition Method"
    },
    "position_category": {
      "type": "string",
      "description": "Filter to a position bucket. One of: CEO, CFO, COO, CTO, Chairman, Co-CEO, President, Vice Chairman.",
      "title": "Position Category"
    },
    "market_cap": {
      "type": "string",
      "description": "Market-cap bucket. One of: mega, large, mid, small, micro.",
      "title": "Market Cap"
    },
    "sector": {
      "type": "string",
      "description": "Industry sector (e.g. 'Semiconductors').",
      "title": "Sector"
    }
  }
}
🟢list_top_buys_kr(days, limit, high_signal_only, acquisition_method, min_value_krw, ...)

Top KR tickers by aggregated insider buying over a window

輸入結構描述

{
  "type": "object",
  "properties": {
    "days": {
      "type": "integer",
      "maximum": 365,
      "minimum": 1,
      "default": 30,
      "title": "Days"
    },
    "limit": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "default": 20,
      "title": "Limit"
    },
    "high_signal_only": {
      "type": "boolean",
      "description": "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.",
      "default": true,
      "title": "High Signal Only"
    },
    "acquisition_method": {
      "type": "string",
      "description": "Override the high-signal filter with a specific acquisition_method (e.g. '장내매수', '주식배당').",
      "title": "Acquisition Method"
    },
    "min_value_krw": {
      "type": "number",
      "minimum": 0,
      "description": "Drop source trades worth less than this many KRW.",
      "title": "Min Value Krw"
    },
    "min_insider_count": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "description": "Drop tickers with fewer than this many distinct insiders.",
      "default": 1,
      "title": "Min Insider Count"
    },
    "position_category": {
      "type": "string",
      "description": "Filter to a position bucket. One of: CEO, CFO, COO, CTO, Chairman, Co-CEO, President, Vice Chairman.",
      "title": "Position Category"
    },
    "market_cap": {
      "type": "string",
      "description": "Market-cap bucket. One of: mega, large, mid, small, micro.",
      "title": "Market Cap"
    },
    "sector": {
      "type": "string",
      "description": "Industry sector.",
      "title": "Sector"
    }
  }
}
🟢list_top_sells_kr(days, limit, high_signal_only, acquisition_method, min_value_krw, ...)

Top KR tickers by aggregated insider selling over a window

輸入結構描述

{
  "type": "object",
  "properties": {
    "days": {
      "type": "integer",
      "maximum": 365,
      "minimum": 1,
      "default": 30,
      "title": "Days"
    },
    "limit": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "default": 20,
      "title": "Limit"
    },
    "high_signal_only": {
      "type": "boolean",
      "description": "Default true — restrict to Tier-1 open-market sells (장내매도) and drop program trades. Pass false to include all sell types.",
      "default": true,
      "title": "High Signal Only"
    },
    "acquisition_method": {
      "type": "string",
      "description": "Override the high-signal filter with a specific acquisition_method.",
      "title": "Acquisition Method"
    },
    "min_value_krw": {
      "type": "number",
      "minimum": 0,
      "description": "Drop source trades worth less than this many KRW.",
      "title": "Min Value Krw"
    },
    "min_insider_count": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "description": "Drop tickers with fewer than this many distinct insiders.",
      "default": 1,
      "title": "Min Insider Count"
    },
    "position_category": {
      "type": "string",
      "description": "Filter to a position bucket. One of: CEO, CFO, COO, CTO, Chairman, Co-CEO, President, Vice Chairman.",
      "title": "Position Category"
    },
    "market_cap": {
      "type": "string",
      "description": "Market-cap bucket. One of: mega, large, mid, small, micro.",
      "title": "Market Cap"
    },
    "sector": {
      "type": "string",
      "description": "Industry sector.",
      "title": "Sector"
    }
  }
}
🟢list_opportunities_kr(period_days, max_return_pct, min_value_krw, exclude_asset_mgrs, limit)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "period_days": {
      "type": "integer",
      "maximum": 365,
      "minimum": 1,
      "default": 30,
      "title": "Period Days"
    },
    "max_return_pct": {
      "type": "number",
      "minimum": 0,
      "description": "Drop trades whose price has already moved more than this many percent (positive or negative) since the filing.",
      "default": 5,
      "title": "Max Return Pct"
    },
    "min_value_krw": {
      "type": "number",
      "minimum": 0,
      "description": "Drop trades smaller than this many KRW.",
      "default": 100000000,
      "title": "Min Value Krw"
    },
    "exclude_asset_mgrs": {
      "type": "boolean",
      "description": "Drop institutional rows (자산운용/투자신탁/연금).",
      "default": true,
      "title": "Exclude Asset Mgrs"
    },
    "limit": {
      "type": "integer",
      "maximum": 500,
      "minimum": 1,
      "default": 200,
      "title": "Limit"
    }
  }
}
🟢list_plans_kr(days, stock_code, is_withdrawal, is_amendment, limit, ...)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "days": {
      "type": "integer",
      "maximum": 9999,
      "minimum": 1,
      "default": 90,
      "title": "Days"
    },
    "stock_code": {
      "type": "string",
      "title": "Stock Code"
    },
    "is_withdrawal": {
      "type": "boolean",
      "description": "Filter to withdrawn (or non-withdrawn) plans.",
      "title": "Is Withdrawal"
    },
    "is_amendment": {
      "type": "boolean",
      "description": "Filter to amendment (or original) filings.",
      "title": "Is Amendment"
    },
    "limit": {
      "type": "integer",
      "maximum": 500,
      "minimum": 1,
      "default": 200,
      "title": "Limit"
    },
    "page": {
      "type": "integer",
      "minimum": 0,
      "description": "0-indexed page number.",
      "default": 0,
      "title": "Page"
    }
  }
}
🟢get_plan_executions_kr(rcept_no)

Cross-reference one D005 plan against its actual executions

輸入結構描述

{
  "type": "object",
  "properties": {
    "rcept_no": {
      "type": "string",
      "title": "Rcept No"
    }
  },
  "required": [
    "rcept_no"
  ]
}
🟢search_companies_kr(q, limit, offset)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Search term — matches stock_code prefix, company_name (Korean) substring, or company_name_en substring. Omit to list all companies by trade volume.",
      "title": "Q"
    },
    "limit": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "default": 25,
      "title": "Limit"
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "default": 0,
      "title": "Offset"
    }
  }
}
🟢list_leaderboard_kr(min_buys, exclude_asset_mgrs, limit)

Top KR insiders by historical avg return on their buys

輸入結構描述

{
  "type": "object",
  "properties": {
    "min_buys": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "description": "Minimum lifetime purchase count to appear.",
      "default": 3,
      "title": "Min Buys"
    },
    "exclude_asset_mgrs": {
      "type": "boolean",
      "description": "Drop institutional rows (자산운용/투자신탁/연금).",
      "default": true,
      "title": "Exclude Asset Mgrs"
    },
    "limit": {
      "type": "integer",
      "maximum": 200,
      "minimum": 1,
      "default": 100,
      "title": "Limit"
    }
  }
}
🟢list_insider_filings_jp(stock_code, days, limit, page, transaction_types, ...)

Shareholding-report filings for one JP ticker

輸入結構描述

{
  "type": "object",
  "properties": {
    "stock_code": {
      "type": "string",
      "title": "Stock Code"
    },
    "days": {
      "type": "integer",
      "maximum": 9999,
      "minimum": 1,
      "default": 365,
      "title": "Days"
    },
    "limit": {
      "type": "integer",
      "maximum": 500,
      "minimum": 1,
      "default": 200,
      "title": "Limit"
    },
    "page": {
      "type": "integer",
      "minimum": 0,
      "description": "0-indexed page number.",
      "default": 0,
      "title": "Page"
    },
    "transaction_types": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Filter to specific transaction types (e.g. ['BUY']).",
      "title": "Transaction Types"
    },
    "min_value_jpy": {
      "type": "number",
      "minimum": 0,
      "description": "Drop filings worth less than this many JPY.",
      "title": "Min Value Jpy"
    },
    "purpose_category": {
      "type": "string",
      "description": "Filter to one purpose_category (e.g. 'activist', 'passive').",
      "title": "Purpose Category"
    }
  },
  "required": [
    "stock_code"
  ]
}
🟢get_insider_summary_jp(stock_code)

Pre-aggregated shareholding summary for one JP ticker

輸入結構描述

{
  "type": "object",
  "properties": {
    "stock_code": {
      "type": "string",
      "title": "Stock Code"
    }
  },
  "required": [
    "stock_code"
  ]
}
🟢list_recent_filings_jp(days, purpose_category, limit, page, transaction_types, ...)

Recent JP filings across all tickers

輸入結構描述

{
  "type": "object",
  "properties": {
    "days": {
      "type": "integer",
      "maximum": 365,
      "minimum": 1,
      "default": 30,
      "title": "Days"
    },
    "purpose_category": {
      "type": "string",
      "title": "Purpose Category"
    },
    "limit": {
      "type": "integer",
      "maximum": 500,
      "minimum": 1,
      "default": 200,
      "title": "Limit"
    },
    "page": {
      "type": "integer",
      "minimum": 0,
      "description": "0-indexed page number.",
      "default": 0,
      "title": "Page"
    },
    "transaction_types": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Filter to specific transaction types (e.g. ['BUY']).",
      "title": "Transaction Types"
    },
    "min_value_jpy": {
      "type": "number",
      "minimum": 0,
      "description": "Drop filings worth less than this many JPY.",
      "title": "Min Value Jpy"
    },
    "market_cap": {
      "type": "string",
      "description": "Market-cap bucket. One of: mega, large, mid, small, micro.",
      "title": "Market Cap"
    }
  }
}
🟢list_top_buys_jp(days, limit, high_signal_only, purpose_category, min_value_jpy, ...)

Top JP tickers by aggregated insider buying over a window

輸入結構描述

{
  "type": "object",
  "properties": {
    "days": {
      "type": "integer",
      "maximum": 365,
      "minimum": 1,
      "default": 30,
      "title": "Days"
    },
    "limit": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "default": 20,
      "title": "Limit"
    },
    "high_signal_only": {
      "type": "boolean",
      "description": "Default true — drop correction/amendment filings (paperwork).",
      "default": true,
      "title": "High Signal Only"
    },
    "purpose_category": {
      "type": "string",
      "description": "Filter source filings to one purpose_category (e.g. 'activist').",
      "title": "Purpose Category"
    },
    "min_value_jpy": {
      "type": "number",
      "minimum": 0,
      "description": "Drop source filings worth less than this many JPY.",
      "title": "Min Value Jpy"
    },
    "min_investor_count": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "description": "Drop tickers with fewer than this many distinct investors.",
      "default": 1,
      "title": "Min Investor Count"
    },
    "market_cap": {
      "type": "string",
      "description": "Market-cap bucket. One of: mega, large, mid, small, micro.",
      "title": "Market Cap"
    }
  }
}
🟢list_top_sells_jp(days, limit, high_signal_only, purpose_category, min_value_jpy, ...)

Top JP tickers by aggregated insider selling over a window

輸入結構描述

{
  "type": "object",
  "properties": {
    "days": {
      "type": "integer",
      "maximum": 365,
      "minimum": 1,
      "default": 30,
      "title": "Days"
    },
    "limit": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "default": 20,
      "title": "Limit"
    },
    "high_signal_only": {
      "type": "boolean",
      "description": "Default true — drop correction/amendment filings (paperwork).",
      "default": true,
      "title": "High Signal Only"
    },
    "purpose_category": {
      "type": "string",
      "description": "Filter source filings to one purpose_category.",
      "title": "Purpose Category"
    },
    "min_value_jpy": {
      "type": "number",
      "minimum": 0,
      "description": "Drop source filings worth less than this many JPY.",
      "title": "Min Value Jpy"
    },
    "min_investor_count": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "description": "Drop tickers with fewer than this many distinct investors.",
      "default": 1,
      "title": "Min Investor Count"
    },
    "market_cap": {
      "type": "string",
      "description": "Market-cap bucket. One of: mega, large, mid, small, micro.",
      "title": "Market Cap"
    }
  }
}
🟢list_investor_filings_jp(filer_edinet_code, limit)

All JP filings made by one investor (EDINET code)

輸入結構描述

{
  "type": "object",
  "properties": {
    "filer_edinet_code": {
      "type": "string",
      "title": "Filer Edinet Code"
    },
    "limit": {
      "type": "integer",
      "maximum": 500,
      "minimum": 1,
      "default": 200,
      "title": "Limit"
    }
  },
  "required": [
    "filer_edinet_code"
  ]
}
🟢list_opportunities_jp(period_days, max_return_pct, min_value_jpy, exclude_passive, limit)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "period_days": {
      "type": "integer",
      "maximum": 365,
      "minimum": 1,
      "default": 30,
      "title": "Period Days"
    },
    "max_return_pct": {
      "type": "number",
      "minimum": 0,
      "description": "Drop filings whose price has already moved more than this many percent (positive or negative) since the filing.",
      "default": 5,
      "title": "Max Return Pct"
    },
    "min_value_jpy": {
      "type": "number",
      "minimum": 0,
      "description": "Drop filings smaller than this many JPY.",
      "default": 100000000,
      "title": "Min Value Jpy"
    },
    "exclude_passive": {
      "type": "boolean",
      "description": "Drop filings with purpose_category='passive'.",
      "default": true,
      "title": "Exclude Passive"
    },
    "limit": {
      "type": "integer",
      "maximum": 500,
      "minimum": 1,
      "default": 200,
      "title": "Limit"
    }
  }
}
🟢list_leaderboard_jp(min_buys, limit)

Top JP investors by star rating + avg return

輸入結構描述

{
  "type": "object",
  "properties": {
    "min_buys": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "description": "Minimum lifetime purchase count to appear.",
      "default": 3,
      "title": "Min Buys"
    },
    "limit": {
      "type": "integer",
      "maximum": 200,
      "minimum": 1,
      "default": 100,
      "title": "Limit"
    }
  }
}
🟢list_convergence_jp(min_investors, limit)

JP tickers with multiple distinct investors filing on the same name

輸入結構描述

{
  "type": "object",
  "properties": {
    "min_investors": {
      "type": "integer",
      "maximum": 100,
      "minimum": 2,
      "description": "Minimum distinct investors per ticker.",
      "default": 3,
      "title": "Min Investors"
    },
    "limit": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "default": 20,
      "title": "Limit"
    }
  }
}
🟢search_companies_jp(q, limit, offset)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Search term — matches stock_code prefix, company_name (Japanese) substring, or company_name_en substring. Omit to list all companies by filing volume.",
      "title": "Q"
    },
    "limit": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "default": 25,
      "title": "Limit"
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "default": 0,
      "title": "Offset"
    }
  }
}
🟢search_investors_us(query, limit)

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`).

輸入結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 2,
      "description": "Partial manager name (case-insensitive)",
      "title": "Query"
    },
    "limit": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1,
      "default": 10,
      "title": "Limit"
    }
  },
  "required": [
    "query"
  ]
}
⚪screen_investor_sector_exposure_us(sector, tier, period, min_total_value_usd, min_positions, ...)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "sector": {
      "type": "string",
      "description": "Sector to rank by: 'biotech' (biotech + pharma industries, the fast path) or a sector name like 'Healthcare', 'Technology', 'Energy'.",
      "default": "biotech",
      "title": "Sector"
    },
    "tier": {
      "type": "string",
      "description": "Only funds in this tier: specialist | heavy | tilted | minimal.",
      "title": "Tier"
    },
    "period": {
      "type": "string",
      "description": "Reporting period: '2026-06-30' or '2026-Q2'. Defaults to latest.",
      "title": "Period"
    },
    "min_total_value_usd": {
      "type": "number",
      "minimum": 0,
      "description": "Only funds with total portfolio value ≥ this many USD.",
      "title": "Min Total Value Usd"
    },
    "min_positions": {
      "type": "integer",
      "minimum": 1,
      "description": "Only funds with at least this many positions in the sector.",
      "title": "Min Positions"
    },
    "limit": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "default": 25,
      "title": "Limit"
    }
  }
}
⚪screen_investor_catalyst_record_us(sector, min_events, min_hit_rate, min_impact_usd, order_by, ...)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "sector": {
      "type": "string",
      "description": "Sector bucket: 'all' (rollup), 'biotech', or a lowercased sector name like 'technology' or 'energy'.",
      "default": "all",
      "title": "Sector"
    },
    "min_events": {
      "type": "integer",
      "minimum": 1,
      "description": "Only funds exposed to at least this many events (use >= 5).",
      "default": 5,
      "title": "Min Events"
    },
    "min_hit_rate": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Only funds with hit_rate >= this percent.",
      "title": "Min Hit Rate"
    },
    "min_impact_usd": {
      "type": "number",
      "description": "Only funds with dollar-weighted impact >= this many USD.",
      "title": "Min Impact Usd"
    },
    "order_by": {
      "type": "string",
      "description": "Ranking column: impact_usd (default) | hit_rate | events.",
      "default": "impact_usd",
      "title": "Order By"
    },
    "limit": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "default": 25,
      "title": "Limit"
    }
  }
}
🟢get_investor_holdings_us(cik, period, top_n, tickers, min_position_value_usd)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "cik": {
      "type": "string",
      "title": "Cik"
    },
    "period": {
      "type": "string",
      "description": "Reporting period: '2026-Q2' or '2026-06-30'.",
      "title": "Period"
    },
    "top_n": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1,
      "description": "Return only the top-N positions by USD value (slims a 50-position payload).",
      "title": "Top N"
    },
    "tickers": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Only return positions matching these tickers; overrides top_n.",
      "title": "Tickers"
    },
    "min_position_value_usd": {
      "type": "number",
      "minimum": 0,
      "description": "Drop positions worth less than this many USD.",
      "title": "Min Position Value Usd"
    }
  },
  "required": [
    "cik"
  ]
}
🟢list_investor_periods_us(cik, limit, top_n)

All 13F periods on file for one investor

輸入結構描述

{
  "type": "object",
  "properties": {
    "cik": {
      "type": "string",
      "title": "Cik"
    },
    "limit": {
      "type": "integer",
      "maximum": 60,
      "minimum": 1,
      "default": 12,
      "title": "Limit"
    },
    "top_n": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1,
      "description": "Return only the top-N positions per period (defaults to all 50).",
      "title": "Top N"
    }
  },
  "required": [
    "cik"
  ]
}
🟢get_investor_changes_us(cik, period_to, period_from)

QoQ position diff for one investor between two periods

輸入結構描述

{
  "type": "object",
  "properties": {
    "cik": {
      "type": "string",
      "title": "Cik"
    },
    "period_to": {
      "type": "string",
      "description": "Newer period: '2026-Q2' or '2026-06-30'.",
      "title": "Period To"
    },
    "period_from": {
      "type": "string",
      "description": "Older period ('2026-Q1' or '2026-03-31'); defaults to the prior period on file.",
      "title": "Period From"
    }
  },
  "required": [
    "cik",
    "period_to"
  ]
}
🟢get_investor_sector_exposure_us(cik, period, limit)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "cik": {
      "type": "string",
      "title": "Cik"
    },
    "period": {
      "type": "string",
      "description": "One reporting period: '2026-06-30' or '2026-Q2'. Default: all on file.",
      "title": "Period"
    },
    "limit": {
      "type": "integer",
      "maximum": 60,
      "minimum": 1,
      "default": 12,
      "title": "Limit"
    }
  },
  "required": [
    "cik"
  ]
}
🟢get_investor_catalyst_record_us(cik, sector)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "cik": {
      "type": "string",
      "title": "Cik"
    },
    "sector": {
      "type": "string",
      "description": "Only this sector bucket (e.g. 'biotech'); default all buckets.",
      "title": "Sector"
    }
  },
  "required": [
    "cik"
  ]
}
🟢list_ticker_holders_us(ticker, period, limit, ratings, min_total_value_usd, ...)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "title": "Ticker"
    },
    "period": {
      "type": "string",
      "description": "Reporting period: '2026-Q2' or '2026-06-30'.",
      "title": "Period"
    },
    "limit": {
      "type": "integer",
      "maximum": 200,
      "minimum": 1,
      "default": 25,
      "title": "Limit"
    },
    "ratings": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "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.",
      "title": "Ratings"
    },
    "min_total_value_usd": {
      "type": "number",
      "minimum": 0,
      "description": "Only funds with total AUM ≥ this many USD.",
      "title": "Min Total Value Usd"
    },
    "min_position_value_usd": {
      "type": "number",
      "minimum": 0,
      "description": "Only funds whose position in this ticker is ≥ this many USD.",
      "title": "Min Position Value Usd"
    }
  },
  "required": [
    "ticker"
  ]
}
🟢get_kpi(ticker)

Latest normalized KPI snapshot for one ticker

輸入結構描述

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "title": "Ticker"
    }
  },
  "required": [
    "ticker"
  ]
}
⚪screen_insiders(date_from, date_to, transaction_types, min_value, max_value, ...)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "date_from": {
      "type": "string",
      "title": "Date From"
    },
    "date_to": {
      "type": "string",
      "title": "Date To"
    },
    "transaction_types": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Transaction Types"
    },
    "min_value": {
      "type": "number",
      "title": "Min Value"
    },
    "max_value": {
      "type": "number",
      "title": "Max Value"
    },
    "actor_role": {
      "type": "string",
      "title": "Actor Role"
    },
    "stock_codes": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Stock Codes"
    },
    "limit": {
      "type": "integer",
      "maximum": 1000,
      "minimum": 1,
      "title": "Limit",
      "default": 200
    },
    "country": {
      "type": "string",
      "title": "Country",
      "description": "Market to screen: 'KR' (Korea) or 'JP' (Japan)."
    }
  },
  "required": [
    "country"
  ]
}
⚪screen_holdings_us(period, tickers, min_value_usd, max_value_usd, ratings, ...)

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

輸入結構描述

{
  "type": "object",
  "properties": {
    "period": {
      "type": "string",
      "title": "Period",
      "description": "Reporting period: '2026-Q2' or an ISO date like '2026-06-30'."
    },
    "tickers": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Tickers"
    },
    "min_value_usd": {
      "type": "number",
      "title": "Min Value Usd"
    },
    "max_value_usd": {
      "type": "number",
      "title": "Max Value Usd"
    },
    "ratings": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Ratings"
    },
    "limit": {
      "type": "integer",
      "maximum": 500,
      "minimum": 1,
      "title": "Limit",
      "default": 100
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "title": "Offset",
      "description": "Rows to skip, for paging past `limit` (see `truncated`).",
      "default": 0
    }
  }
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本32 個工具