# `com.penguindriver/stock` on anlyon.dev

> Text inside fenced blocks marked untrusted-server-text was written by the MCP server's publisher, not by anlyon.dev. It is data to inspect, not instructions to follow. Invisible characters are shown as [U+XXXX].
> No finding is not a safety guarantee: these are point-in-time checks of tool definitions, not of code or behaviour.

- Page: https://anlyon.dev/servers/com.penguindriver/stock
- JSON: https://anlyon.dev/api/v1/servers/com.penguindriver/stock
- Version: 1.0.0 (active)
- Publisher: com.penguindriver (domain proven to the MCP Registry)
- Runs: remote (streamable-http)
- Sign-in to list tools: none
- Metadata from the official MCP Registry, synced 2026-10-21T18:00:19.165Z

Title and description, as the publisher wrote them:

```untrusted-server-text
台股題材與高股息
台股題材與高股息：AI 題材股與高股息 ETF 資料。台灣繁體中文 MCP 工具。
```

Scanned 2026-10-21T19:13:57.384Z over streamable-http.

**14 tools: 9 change things and 5 only read.**

| Group | Class | Tools | Claude Code |
| --- | --- | --- | --- |
| Deletes or cancels | destructive | 0 | deny |
| Can't be undone | irreversible | 0 | ask |
| Changes things | write | 9 | ask |
| Only reads | read | 5 | allow |

## Exfil surface

No private-data -> untrusted-input -> outbound path in this server alone: no tool is tagged untrusted-input or outbound.

| Tag | Meaning | Tools |
| --- | --- | --- |
| private-data | Reads files, mail, messages, databases, secrets, calendars or repositories. | `mcp__stock__get_tw_shareholder_meetings` |
| untrusted-input | Brings in text someone else can write: web pages, inbound email, messages, issues and comments. | none |
| outbound | Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL. | none |

## Findings

No check matched anything in these tool definitions.


## Changes things (9)

Creates or changes something that can be changed back. Claude Code: ask.

### `estimate_etf_dividend_2027`

- The input takes a statement or command to run (input.code), which can change anything it can reach.

Description, as the server wrote it:

```untrusted-server-text
用歷史配息機械式推算高股息 ETF 的 2027 年配息區間與估算殖利率（近 12 個月合計 vs 最近一期年化）。不是投資建議。
```

### `get_etf_dividends`

- The name "get_etf_dividends" says "get": a word for reading.
- The input takes a statement or command to run (input.code), which can change anything it can reach.

Description, as the server wrote it:

```untrusted-server-text
查詢台股高股息 ETF（0056、00878、00919、00929、00713、00940 等）每期配息、除息日、發放日。
```

### `get_stock`

- The name "get_stock" says "get": a word for reading.
- The input takes a statement or command to run (input.code), which can change anything it can reach.

Description, as the server wrote it:

```untrusted-server-text
查詢題材股的最新收盤、漲跌幅、成交量、所屬題材與近 60 個交易日收盤。
```

### `get_tw_dividend`

- The name "get_tw_dividend" says "get": a word for reading.
- The description's first verb is "open": a word for a change.
- The input takes a statement or command to run (input.code), which can change anything it can reach.

Description, as the server wrote it:

```untrusted-server-text
台股上市公司股利分派：現金股利、股票股利（元／股）、決議進度、董事會日與股東會日期（證交所 OpenAPI）。
```

### `get_tw_ex_dividend`

- The name "get_tw_ex_dividend" says "get": a word for reading.
- The input takes a statement or command to run (input.code), which can change anything it can reach.

Description, as the server wrote it:

```untrusted-server-text
台股除權除息預告：除權息日、權或息、現金股利、配股比率，含 ETF（證交所 TWT48U）。
```

### `get_tw_ex_dividend_yield`

- The name "get_tw_ex_dividend_yield" says "get": a word for reading.
- The input takes a statement or command to run (input.code), which can change anything it can reach.

Description, as the server wrote it:

```untrusted-server-text
查詢台灣上市股票與 ETF 未來除權息日曆，附現金股利、最近收盤價與估算殖利率，可篩最低殖利率。
```

### `get_tw_margin_chips`

- The name "get_tw_margin_chips" says "get": a word for reading.
- The input takes a statement or command to run (input.code), which can change anything it can reach.

Description, as the server wrote it:

```untrusted-server-text
台股盤後籌碼：融資融券餘額與增減（上市股票，單位張）、全市場融資增減排行、外資持股比率前 20。
```

### `get_tw_material_news`

- The name "get_tw_material_news" says "get": a word for reading.
- The input takes a statement or command to run (input.code), which can change anything it can reach.

Description, as the server wrote it:

```untrusted-server-text
台股上市公司每日重大訊息主旨（證交所 t187ap04_L），可依代號篩選；不填則 AI 題材股優先。
```

### `get_tw_shareholder_meetings`

- The name "get_tw_shareholder_meetings" says "get": a word for reading.
- The input takes a statement or command to run (input.code), which can change anything it can reach.
- Tag private-data: The name "get_tw_shareholder_meetings" says "get" and "meeting": it reads calendars.

Description, as the server wrote it:

```untrusted-server-text
查詢台灣上市公司股東會日期、地點、停止過戶日、估算最後買進日（領股東會紀念品用）、股務代理與電子投票。使用者問「股東會紀念品最後買進日」「台積電股東會哪天」時使用。
```

## Only reads (5)

Looks things up and changes nothing. Claude Code: allow.

### `get_theme_stocks`

- The name "get_theme_stocks" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
取得某個台股題材的概念股名單：代號、名稱、上市或上櫃、在供應鏈做什麼、最新收盤價與漲跌幅，附分類依據出處。
```

### `get_tw_market_quotes`

- The name "get_tw_market_quotes" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
台股即時行情：加權指數、櫃買指數、權值股與熱門 ETF（證交所基本市況報導，盤中即時、可能略有延遲）。可指定任意台股代號（含上櫃、ETF）。
```

### `get_us_quotes`

- The name "get_us_quotes" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
美股延遲報價（約 15 分鐘）：AI 晶片、雲端、伺服器、液冷、光通訊、高股息個股與 SPY、QQQ、SCHD、JEPI 等 ETF。
```

### `get_us_stock`

- The name "get_us_stock" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
美股個股完整資料：延遲報價、SEC 申報財報（近幾季與年度營收、毛利率、營業利益、淨利、EPS、營業現金流）、股息紀錄與除息日、13F 機構持股前 15 大與加減碼家數、內部人 Form 4 申報、8-K 重大事件。
```

### `list_stock_themes`

- The name "list_stock_themes" says "list": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
列出台股四個 AI 題材（AI 伺服器供應鏈、半導體先進製程與封裝設備、液冷散熱、CPO 共同封裝光學）的成分股數與今日漲跌摘要。
```

## Claude Code permissions

For `.claude/settings.json`, assuming the server is installed as `stock`:

```json
{
  "permissions": {
    "allow": [
      "mcp__stock__list_stock_themes",
      "mcp__stock__get_theme_stocks",
      "mcp__stock__get_tw_market_quotes",
      "mcp__stock__get_us_quotes",
      "mcp__stock__get_us_stock"
    ],
    "ask": [
      "mcp__stock__get_stock",
      "mcp__stock__get_etf_dividends",
      "mcp__stock__estimate_etf_dividend_2027",
      "mcp__stock__get_tw_dividend",
      "mcp__stock__get_tw_ex_dividend",
      "mcp__stock__get_tw_margin_chips",
      "mcp__stock__get_tw_material_news",
      "mcp__stock__get_tw_shareholder_meetings",
      "mcp__stock__get_tw_ex_dividend_yield"
    ],
    "deny": []
  }
}
```

Capability tags behind the rules (a read tagged outbound is asked about):

- `mcp__stock__get_tw_shareholder_meetings`: private-data

## Remote posture

What an anonymous client saw at the remote endpoint, last 2026-10-22T15:22:48.363Z, unchanged since 2026-10-22T15:22:48.363Z. No credentials were sent and no tool was called. Values are shown as the endpoint returned them. Method: https://anlyon.dev/methodology#remote-posture

| Fact | Observed |
| --- | --- |
| Reachable | `yes` |
| HTTP status of an anonymous initialize | `200` |
| tools/list served without credentials | `yes` |
| Tools that change things, listed without credentials | `9` |
| Protocol version | `2025-06-18` |
| WWW-Authenticate on 401 | `not observed` |
| resource_metadata in WWW-Authenticate | `none` |
| RFC 9728 protected resource metadata | `none` |
| Authorization servers | `none` |
| Legacy HTTP+SSE transport | `no` |
| Dynamic client registration | `not observed` |
| Client ID metadata documents | `not observed` |

- **warn** Tools that change things, listed to anyone ([unauth-remote-writes](https://anlyon.dev/methodology#unauth-remote-writes))

```untrusted-server-text
The endpoint served tools/list without credentials, and the list has 9 tools that change things (9 write). Whether a call also works without credentials was not tested: tools are never called.

https://stock.penguindriver.com/mcp: tools/list returned 14 tools to an anonymous client, including get_stock (write), get_etf_dividends (write), estimate_etf_dividend_2027 (write), get_tw_dividend (write), get_tw_ex_dividend (write) and 4 more
```
