
📡 MCP server bundled with Stock Analyzer (macOS) — 81 tools, deep Taiwan + US stock coverage, local SQLite, BYOK LLM. First MCP with TWSE/TPEx + institutional flow + chip data.
概览
📡 The server bundled with Stock Analyzer — a macOS desktop app for Taiwan + US stock market analysis. (TWSE / TPEx + three major institutional flows + chip data + monthly revenue). 95 tools across 15 categories + 6 resources. — runs in-process inside the Electron app, no API costs, no cloud dependency. : MCP server 1.3.0 · Stock Analyzer app 0.48.0-beta · Updated 2026-06-30 This repo contains the (mcp-server.js + lib/ai-tools + Dockerfile). The shim is a — when an MCP client invokes a tool, the shim proxies the call to http://localhost:3000/api/*, where the does the actual work (DB query, computation, analysis). You need Stock Analyzer running on the same machine for tools to actually return data. This split is intentional — the analysis engine + market data + license-gated features live in the closed-source desktop app; the MCP shim is open-source (MIT) so the integration surface is fully transparent.
README
以下为原文 README 节选,完整内容请查看原文。
Stock Analyzer MCP
📡 The Model Context Protocol server bundled with Stock Analyzer — a macOS desktop app for Taiwan + US stock market analysis.
An MCP server with deep Taiwan stock coverage (TWSE / TPEx + three major institutional flows + chip data + monthly revenue). 95 tools across 15 categories + 6 resources. Local-first — runs in-process inside the Electron app, no API costs, no cloud dependency.
Current version: MCP server 1.3.0 · Stock Analyzer app 0.48.0-beta · Updated 2026-06-30
⚠️ How this MCP server actually works
This repo contains the MCP shim source (mcp-server.js + lib/ai-tools + Dockerfile). The shim is a thin HTTP-to-stdio bridge — when an MCP client invokes a tool, the shim proxies the call to http://localhost:3000/api/*, where the Stock Analyzer desktop app’s embedded Express backend does the actual work (DB query, computation, analysis).
The MCP server in this repo, run standalone (e.g. via
docker run), can advertise its 95 tools through introspection but cannot execute them. You need Stock Analyzer running on the same machine for tools to actually return data.
This split is intentional — the analysis engine + market data + license-gated features live in the closed-source desktop app; the MCP shim is open-source (MIT) so the integration surface is fully transparent.
Why this repo exists
The Stock Analyzer desktop app itself is a commercial product (Lite tier free, Standard NT$1,499, Premium NT$2,999 — all one-time purchases, no subscription). This repo exists to:
- Open-source the MCP shim layer under MIT so marketplaces (awesome-mcp-servers, mcpservers.org, PulseMCP, Glama) can build & verify a working image
- Provide a public canonical link for MCP discovery
- Host the integration guide separately from the closed app source
- Make Claude Desktop / Claude Code / agentic frameworks easy to configure against the bundled MCP server
Build (Docker, for Glama / marketplaces)
docker build -t stock-analyzer-mcp .
docker run -i --rm stock-analyzer-mcp # stdio JSON-RPC on stdin/stdout
Image is ~258 MB (node:20-alpine + 2 npm deps). The build skips better-sqlite3, Electron, and other backend-only dependencies because the shim itself never imports them — all data calls go via HTTP to the locally-running Stock Analyzer app’s /api/* endpoints.
What’s in this MCP server
95 tools across 15 categories
| Category | Tools | Examples |
|---|---|---|
| market (14) | Quotes, history, heatmap, sector ranking, news, FX, seasonality, ETF holdings, trading-day status | get_stock_price, get_market_heatmap, get_seasonality |
| chips (6) | Three major institutional flows, fund flow Sankey, insider alerts, abnormal blocks, margin ranking | get_institutional_flow, get_fund_flow_sankey |
安装
docker run -i --rm stock-analyzer-mcp # stdio JSON-RPC on stdin/stdout配置
{
"mcpServers": {
"stock-analyzer": {
"command": "/Applications/Stock Analyzer.app/Contents/Resources/app.asar.unpacked/bin/saa-mcp",
"env": { "PORT": "3000" }
}
}
}