Stock Analyzer MCP

81 herramientas para el análisis del mercado de valores de Taiwán y EE. UU. Primer servidor MCP con cobertura profunda de TWSE/TPEx (flujos institucionales, datos de chips, ingresos mensuales). SQLite local, LLM BYOK.

Documentación

Stock Analyzer MCP

📡 El servidor Model Context Protocol incluido con Stock Analyzer — una aplicación de escritorio para macOS para el análisis del mercado de valores de Taiwán y EE. UU.

Un servidor MCP con cobertura profunda del mercado taiwanés (TWSE / TPEx + flujos de las tres grandes instituciones + datos de chips + ingresos mensuales). 95 herramientas en 15 categorías + 6 recursos. Local-first — se ejecuta en proceso dentro de la aplicación Electron, sin costos de API, sin dependencia de la nube.

Versión actual: servidor MCP 1.3.0 · aplicación Stock Analyzer 0.48.0-beta · Actualizado 2026-06-30


⚠️ Cómo funciona realmente este servidor MCP

Este repositorio contiene el código fuente del shim MCP (mcp-server.js + lib/ai-tools + Dockerfile). El shim es un puente delgado HTTP-a-stdio — cuando un cliente MCP invoca una herramienta, el shim envía la llamada a http://localhost:3000/api/*, donde el backend Express integrado de la aplicación de escritorio Stock Analyzer realiza el trabajo real (consulta de BD, cálculo, análisis).

El servidor MCP de este repositorio, ejecutado de forma independiente (p. ej. mediante docker run), puede anunciar sus 95 herramientas mediante introspección pero no puede ejecutarlas. Necesitas Stock Analyzer ejecutándose en la misma máquina para que las herramientas realmente devuelvan datos.

Esta división es intencional — el motor de análisis + los datos de mercado + las funciones restringidas por licencia viven en la aplicación de escritorio de código cerrado; el shim MCP es de código abierto (MIT) para que la superficie de integración sea totalmente transparente.


Por qué existe este repositorio

La aplicación de escritorio Stock Analyzer en sí es un producto comercial (nivel Lite gratuito, Standard NT$1,499, Premium NT$2,999 — todas compras únicas, sin suscripción). Este repositorio existe para:

  • Publicar como código abierto la capa del shim MCP bajo MIT para que los marketplaces (awesome-mcp-servers, mcpservers.org, PulseMCP, Glama) puedan compilar y verificar una imagen funcional
  • Proporcionar un enlace canónico público para el descubrimiento de MCP
  • Alojar la guía de integración por separado del código fuente cerrado de la aplicación
  • Facilitar la configuración de Claude Desktop / Claude Code / frameworks de agentes contra el servidor MCP incluido

Compilación (Docker, para Glama / marketplaces)

docker build -t stock-analyzer-mcp .
docker run -i --rm stock-analyzer-mcp   # stdio JSON-RPC on stdin/stdout

La imagen es de ~258 MB (node:20-alpine + 2 dependencias npm). La compilación omite better-sqlite3, Electron y otras dependencias solo de backend porque el shim nunca las importa — todas las llamadas de datos van por HTTP a los endpoints /api/* de la aplicación Stock Analyzer que se ejecuta localmente.


Qué contiene este servidor MCP

95 herramientas en 15 categorías

CategoríaHerramientasEjemplos
market (14)Cotizaciones, historial, mapa de calor, ranking de sectores, noticias, FX, estacionalidad, tenencias de ETF, estado de días de negociaciónget_stock_price, get_market_heatmap, get_seasonality
chips (6)Flujos de las tres grandes instituciones, diagrama Sankey de flujos de fondos, alertas de información privilegiada, bloques anormales, ranking de márgenesget_institutional_flow, get_fund_flow_sankey
fundamentals (6)Estados financieros, ingresos mensuales, dividendos, EPS, valoración DCFget_financial_statements, calculate_dcf
technical (5)RSI / MACD / KD / Bollinger / Beta / correlación / patrones de velasget_technical_indicators, detect_kline_patterns
macro (8)Política de la FED, curva de rendimiento, inflación, empleo, calendario de resultadosget_macro_snapshot, get_fed_policy_stance
sentiment (6)Sentimiento de noticias, sentimiento del mercado, sentimiento por acción, pronósticos, estrategias de entrada, ratio put/call de TAIFEXget_stock_sentiment_v2, get_sentiment_forecasts
portfolio (11)Tenencias, ganancias/pérdidas, rendimiento, concentración, señales, CRUD de operacionesget_portfolio, get_portfolio_concentration
backtest (5)Acción individual, multiestrategia, búsqueda en cuadrícula, minería de factores MC, cartera aleatoriabacktest_strategy, monte_carlo_factor_mining
risk (6)VaR, riesgo sistémico, optimización de cartera, contribución marginal/por componente al VaR, prueba de estrés, propagación de estrés por escenariosget_systemic_risk, get_risk_contribution, run_scenario
ai workflow (7)Análisis completo de acciones, screener, flujos de trabajo, notas, + debate en profundidad + informe diario + comparación de candidatos + revisión posterior a la operaciónresearch_stock_deep_dive, portfolio_daily_briefing
thesis (7)CRUD de hipótesis de inversión + evaluación de calidadupsert_thesis, evaluate_thesis_quality
watchlist (4)CRUD de lista de seguimientoadd_watchlist
alert (3)Alertas de preciosset_price_alert
backfill (2)Relleno administrativo de datostrigger_backfill
forecast (5)Cono de probabilidad de precios (Monte Carlo GBM), historial de calibración de pronósticos no manipulable, contexto transversal de la preapertura de Taiwán, reproducción de conocimiento hasta la fecha (calibración multimétodo), liderazgo estadounidense en preapertura por acciónget_price_forecast, get_asof_replay, get_stock_preopen_lead

Cada herramienta incluye:

  • annotations.readOnlyHint — si la herramienta modifica estado (los clientes confirman automáticamente antes de operaciones destructivas)
  • annotations.destructiveHintdelete_* / cancel_* marcados como verdaderos
  • annotations.idempotentHintupsert_* / update_* marcados como verdaderos
  • _meta.tw.stockanalyzer/estimated_cost_usd — costo de LLM en el peor caso (la mayoría de las herramientas $0; deep-dive ~$0.16)

6 recursos (mencionables con @ en Claude Desktop)

Inyecta contexto en tu conversación sin gastar llamadas de herramientas:

RecursoContenido
saa://portfolioTenencias completas (TW + US, precios unificados USD/TWD, ganancias/pérdidas no realizadas)
saa://watchlistTodas las entradas de la lista de seguimiento con cotizaciones en vivo + estados de alerta
saa://thesisTesis de inversión activas (hipótesis, niveles clave, próximas fechas de revisión)
saa://market/todayFlujos de las tres grandes instituciones / ganadores por sector / riesgo sistémico / FX
saa://reports/recentÚltimo informe de cartera (gratuito; no activa automáticamente el LLM)
saa://system/infoIntrospección del servidor (versión, versión del esquema, perfil activo, número de herramientas)

Perfiles (filtra lo que se expone)

Configura la variable de entorno SAA_MCP_PROFILE para controlar qué herramientas son visibles para el cliente LLM:

PerfilHerramientas expuestasCaso de uso
default (omitir)Las 95Tu Claude Desktop personal
safe_readonly80 herramientas de solo lecturaClientes LLM compartidos / no confiables — bloquea add_trade / delete_* / upsert_thesis / set_price_alert / etc.

Los recursos permanecen disponibles en ambos perfiles (son de solo lectura por definición).


Comparación

ServidorCobertura TWCobertura USLocalModelo de licencia
Alpha Vantage MCP⚠️ Solo cotizaciones con retraso✅ Completa❌ API en la nubePago por llamada
Financial Datasets MCP❌ Ninguna✅ Completa❌ API en la nubeSuscripción
EODHD MCP⚠️ Solo cierre✅ Completa❌ API en la nubeSuscripción
Lambda Finance❌ Ninguna✅ Completa + opciones❌ NubeSuscripción
Stockflow (Yahoo)⚠️ Datos TW irregulares✅ Completa❌ NubeGratuito (con límite de tasa)
Stock Analyzer MCPTWSE + TPEx profundo + institucional + chips✅ CompletaSQLite localLicencia única (Lite gratuito)

Para lectores fuera de Taiwán: el mercado de valores taiwanés tiene su propio ecosistema de datos (TWSE, TPEx OpenAPI, las tres grandes instituciones inversoras, informes de ingresos mensuales) que está casi ausente en las plataformas de datos financieros en inglés. Si quieres un agente de IA que pueda responder "¿Cómo están operando los inversores institucionales de TSMC últimamente?" o "Encuéntrame small-caps taiwanesas con crecimiento de ingresos interanual >30%", Stock Analyzer MCP está construido exactamente para esto — herramientas deterministas de chips/institucional/ingresos TW que los servidores MCP centrados en inglés generalmente no tienen.


Inicio rápido: Claude Desktop

1. Instala Stock Analyzer

Obtén el nivel Lite gratuito en stockanalyzer.tw. La versión 0.47.4-beta o posterior incluye el servidor MCP v1.2.0.

2. Configura Claude Desktop

Edita ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "stock-analyzer": {
      "command": "/Applications/Stock Analyzer.app/Contents/Resources/app.asar.unpacked/bin/saa-mcp",
      "env": { "PORT": "3000" }
    }
  }
}

¿Por qué el wrapper? Ejecutar node mcp-server.js directamente provoca un desajuste de ABI de better-sqlite3 (el binding está compilado para el Node de Electron, no el del sistema). El wrapper bin/saa-mcp encuentra automáticamente el runtime Electron de SAA y ejecuta el servidor MCP con ELECTRON_RUN_AS_NODE=1. Las configuraciones antiguas que apuntan a node deberán actualizarse.

3. (Opcional) Restringir al modo de solo lectura

Si el cliente LLM no es totalmente confiable (proyecto compartido de Claude, agente de terceros), añade:

"env": { "PORT": "3000", "SAA_MCP_PROFILE": "safe_readonly" }

Esto bloquea 15 herramientas de escritura (add_trade, delete_trade, upsert_thesis, set_price_alert, etc.) pero mantiene todas las herramientas de lectura + los 6 recursos.

4. Reinicia completamente Claude Desktop (cmd+Q y luego vuelve a abrirlo)

5. Pruébalo

"Lista todas las herramientas de stock-analyzer de SAA"

"Analiza 2330 — flujo institucional del último mes + impulso de 3 meses + puntuación radar + dame una opinión de compra/venta"

"@saa://portfolio — ¿cuál es mi mayor riesgo de concentración?"

"Compara 2330, 2454 y 3008 como candidatos. Incluye sus tesis si existen."

Claude orquestará múltiples llamadas de herramientas (o menciones @ para recursos) y sintetizará un informe de investigación.


Herramientas destacadas (2026-05-18)

🎭 research_stock_deep_dive — nivel Premium

5 agentes de IA especializados debaten en paralelo:

  • 🐂 Alcista (solo ve evidencia que respalda una tesis alcista)
  • 🐻 Bajista (solo ve evidencia que respalda una tesis bajista)
  • 📰 Sentimiento (señales de noticias + sociales)
  • 🛡️ Riesgo (volatilidad, historial de drawdown, contexto de régimen)
  • 🎯 Sintetizador (ve los cuatro; produce una acción de 6 niveles: strong_buyavoid)

Cada agente usa un subconjunto distinto de las 95 herramientas. La salida incluye el razonamiento de cada agente + acción final + puntuación de confianza. Costo de LLM de ~$0.16/llamada (Anthropic Sonnet / OpenAI).

🌅 portfolio_daily_briefing — nivel Lite

Informe de cartera previo o posterior al mercado. Agrega tenencias actuales, ganancias/pérdidas no realizadas, exposición sectorial, macro / flujo institucional relevante en un resumen accionable.

  • mode='get' → lee el último informe en caché (gratuito, instantáneo)
  • mode='generate' → genera uno nuevo (~10-20s, costo de LLM de ~$0.04/llamada)

🔍 compare_investment_candidates — Lite, costo $0

Análisis profundo lado a lado de 2-5 acciones candidatas. Expansión en paralelo de get_full_stock_analysis (fundamentales + técnico + chips + institucional + niveles) por candidato, más el estado de las tesis existentes. Determinista — el agente ve evidencia cruda en lugar de una opinión sintetizada por LLM, lo que empíricamente produce mejor razonamiento.

📓 post_trade_review — Lite, costo $0

Reflexión de los últimos N días. Agrega analyze_trade_performance (ganancias/pérdidas FIFO, tasa de acierto, tiempo de tenencia) + get_trade_journal (operaciones recientes) + get_portfolio_signals (estado actual). Detecta automáticamente patrones observables:

  • low_win_rate (< 40%) → problema sistemático de selección o de timing
  • over_trading (tenencia promedio < 5 días) → las comisiones están comiendo los rendimientos
  • lopsided_pnl (pérdida promedio > ganancia promedio) → mala disciplina de stop-loss

Entrega al agente indicadores objetivos para redactar una revisión narrativa.


Documentación

  • Guía completa de uso de MCP (zh-TW + en): MCP-USAGE-GUIDE.md — configuración de Claude Desktop, solución de problemas, ejemplos de conversación
  • Publicación de lanzamiento del blog (bilingüe): docs/mcp-launch-2026-05.md — contexto sobre el panorama financiero MCP 2026 + por qué la cobertura TW era el vacío
  • Referencia de herramientas: incluida en la aplicación en Configuración → 🔌 MCP / Agente

Filosofía de diseño

  • Local-first: Todos los datos viven en ~/.twse-analyzer/stock_history.db (SQLite, archivo único). El servidor MCP se ejecuta en proceso dentro de la aplicación Electron mediante transporte stdio.
  • LLM BYOK: SAA en sí tiene un AI Hub que consume las mismas 95 herramientas. Trae tus propias claves (Claude / GPT / Gemini / Ollama). El servidor MCP en sí no está vinculado a ningún LLM — solo expone datos deterministas + algunos agregadores respaldados por LLM.
  • Metodología transparente: 16 páginas de metodología bilingües (zh-TW + en) explican la fórmula, la fuente de datos y las limitaciones de cada herramienta analítica. Disponibles en /methodology.html dentro de la aplicación.
  • Sin señales activas de trading: Solo salida de investigación — no ejecución de órdenes. Decisión regulatoria + de posicionamiento del producto.
  • Honestidad de costos: Cada herramienta muestra su costo máximo de LLM por adelantado mediante _meta.tw.stockanalyzer/estimated_cost_usd. Sin gasto oculto de API en la nube.

Versionado

El servidor MCP usa dos números de versión:

CampoSignificadoSe incrementa cuando
server_versionVersión binaria del MCP de SAA (se muestra en initialize)Cada lanzamiento de la aplicación SAA
tools_schema_version (en saa://system/info)Versión de la forma de herramientas/recursosHerramienta añadida/eliminada/renombrada/cambio de requisitos
Reglas:
  • patch — aditivo (nueva herramienta, nuevo recurso)
  • minor — nuevo parámetro obligatorio, nueva restricción de enumeración, cambio de readOnlyHint
  • major — renombrado, eliminación, cambio de claves obligatorias

Actual: servidor 1.2.0, esquema 1.2.0. Registro de cambios dentro del encabezado mcp-server.js.


Licencia

Este repositorio de documentación tiene licencia MIT (ver LICENSE). La aplicación Stock Analyzer en sí es software comercial de código cerrado.


Contacto

  • Sitio web: stockanalyzer.tw
  • Correo electrónico: hello@stockanalyzer.tw
  • Problemas: Usa GitHub Issues en este repositorio para preguntas de integración con MCP
  • Para solicitudes de funciones o informes de errores de la aplicación: correo electrónico anterior