TradingView MCP
TradingView MCP
Un servidor Model Context Protocol local-first y API REST de bucle invertido para datos de mercado, análisis técnico determinista, renderizado de gráficos y flujos de trabajo opcionales del navegador TradingView Supercharts.
El servidor se ejecuta sobre stdio y solo inicia su visor local y los navegadores Playwright cuando una herramienta los necesita. Las herramientas de alto nivel de historial y análisis cierran el navegador administrado automáticamente de forma predeterminada.
[!IMPORTANT] Este es un proyecto independiente de código abierto. No está afiliado, patrocinado ni respaldado por TradingView. TradingView y Lightweight Charts son marcas comerciales de TradingView, Inc. Los usuarios son responsables de cumplir con los términos de TradingView, los permisos de cuenta, los derechos de acceso a bolsas y las licencias de datos aplicables.
Características
Herramientas MCP para descubrimiento de mercado, cotizaciones, OHLCV, análisis y estado de gráficos
Capturas de pantalla oficiales de TradingView en una sola llamada para un símbolo, intervalo y rango de fechas exactos
Contexto de fecha histórica en una sola llamada con OHLCV, huecos, cambios, volumen, campos de indicadores exportados, rendimiento móvil y análisis técnico
Cálculos deterministas de SMA, EMA, RSI, MACD, Bandas de Bollinger, ATR, tendencia, señal y soporte/resistencia
Visor local Lightweight Charts con captura PNG
CSV, OHLCV en línea, datos de demostración y soporte ascendente opcional configurado
Superposiciones atómicas de indicadores, niveles, series personalizadas, zonas de precios y marcadores
Flujos de trabajo Playwright opcionales para navegación, exportación CSV, indicadores y capturas de pantalla de TradingView Supercharts autorizados por cuenta
Resultados MCP compactos de forma predeterminada para que las matrices OHLCV grandes no consuman contexto del modelo innecesariamente
Enlace HTTP solo de bucle invertido, contención de rutas, validación de entradas, filtrado de credenciales y comprobaciones de navegador con cierre seguro
Related MCP server: TradingView MCP Jackson
Arquitectura
MCP client -- stdio --+-- deterministic analysis and chart state
+-- on-demand local viewer / PNG capture
+-- optional on-demand TradingView browser
REST client -- loopback HTTP -- local viewer and compatible JSON endpointsEl visor local es una superficie de renderizado determinista; no es un clon de las funciones propietarias de gráficos de TradingView. Consulte el límite de compatibilidad.
Requisitos
Node.js 22 o más reciente
npm
Chromium instalado a través de Playwright cuando se utilizan herramientas de captura de pantalla o navegador
Instalar desde el código fuente
git clone https://github.com/moeuu/tradingview-mcp.git
cd tradingview-mcp
npm ci
npx playwright install chromium
npm run buildPara CI de Linux o una máquina sin dependencias de sistema de Chromium:
npx playwright install --with-deps chromiumConectar un cliente MCP
TradingView MCP es independiente del cliente. Utiliza el transporte estándar MCP stdio y no llama a API específicas del cliente. Cualquier cliente MCP que pueda lanzar un proceso local puede usar:
node /absolute/path/to/tradingview-mcp/dist/mcp.jsMuchos clientes de escritorio y editores usan esta forma de configuración común:
{
"mcpServers": {
"tradingview": {
"command": "node",
"args": ["/absolute/path/to/tradingview-mcp/dist/mcp.js"],
"env": {
"MARKET_CHART_PORT": "0",
"MARKET_CHART_DATA_ROOT": "/absolute/path/to/tradingview-mcp/data"
}
}
}
}Adapte las claves de configuración externas a su cliente si es necesario; el comando, los argumentos, el entorno y el protocolo MCP siguen siendo los mismos. Reinicie el cliente después de cambiar su configuración. MARKET_CHART_PORT=0 selecciona un puerto de visor efímero y evita un servicio que escuche permanentemente.
Consulte Configuración y compatibilidad de clientes MCP para conocer el comportamiento del transporte, el ciclo de vida y la resolución de problemas.
Flujo de trabajo MCP recomendado
Llame a
market_get_capabilitiescuando la disponibilidad del proveedor no esté clara.Use
tradingview_get_daypara obtener información completa sobre un símbolo en una fecha específica.Use
tradingview_capture_periodpara un PNG oficial de Supercharts que cubra fechas de calendario exactas.Use
tradingview_analyze_symbolpara una llamada única de historial reciente más análisis determinista.Use
tradingview_get_historycuando solo se necesite historial reciente.Use
chart_import_csvochart_set_datapara datos locales/proporcionados por el usuario.Use
chart_analyze,chart_apply_overlaysychart_snapshotpara análisis y visualización locales.
Ejemplos de llamadas:
{
"name": "tradingview_capture_period",
"arguments": {
"symbol": "NASDAQ:AAPL",
"interval": "D",
"from": "2024-01-02",
"to": "2024-03-28"
}
}{
"name": "tradingview_get_day",
"arguments": {
"symbol": "NASDAQ:AAPL",
"date": "2024-01-03",
"interval": "D",
"timezone": "America/New_York"
}
}tradingview_get_day devuelve un estado explícito no_session_bar para fines de semana, días festivos y fechas no disponibles en lugar de sustituir silenciosamente una sesión cercana. En una fecha coincidente devuelve OHLCV de sesión, barras anterior y siguiente cuando están cargadas, cambios de cierre anterior y hueco de apertura, rango intradía, rendimiento móvil de 5/20/50/200 períodos, indicadores y señales deterministas, y cada columna de indicadores adicional presente en la exportación oficial del gráfico de TradingView. Establezca un interval intradía y includeBars:true para recibir todas las barras exportadas asignadas a esa fecha.
Las herramientas de alto nivel de TradingView cierran el navegador de forma predeterminada. Establezca includeBars: true solo cuando se requieran barras sin procesar en la respuesta MCP, y keepBrowserOpen: true solo para herramientas de navegador de seguimiento inmediato.
El servidor expone tanto herramientas de alto nivel como granulares. Los clientes que admiten una lista de permitidos enabled_tools pueden exponer solo las herramientas necesarias para un flujo de trabajo determinado.
Flujo de trabajo opcional del navegador TradingView
La automatización del navegador está deshabilitada de forma predeterminada. Una exportación de cookies es la fuente de autenticación preferida porque puede contener solo las cookies de sesión requeridas. Nunca pegue valores de credenciales en argumentos MCP, archivos de repositorio, configuración de cliente o indicaciones.
chmod 600 /absolute/path/to/tradingview-cookies.txt
export TRADINGVIEW_BROWSER_ENABLED=true
export TRADINGVIEW_BROWSER_BASE_URL=https://www.tradingview.com
export TRADINGVIEW_BROWSER_COOKIE_FILE=/absolute/path/to/tradingview-cookies.txt
export TRADINGVIEW_BROWSER_AUTH_COOKIE_NAMES=sessionid,sessionid_sign,device_t
export TRADINGVIEW_BROWSER_HEADLESS=true
export TRADINGVIEW_BROWSER_TIMEOUT_MS=120000El archivo de autenticación debe permanecer fuera del repositorio, ser más pequeño que 1 MiB y tener permisos de solo propietario en sistemas POSIX. La política predeterminada importa solo sessionid, sessionid_sign y device_t de dominios de TradingView. El almacenamiento local no se importa de forma predeterminada. Los valores de cookies, los valores de almacenamiento y las rutas de archivos de autenticación nunca se aceptan como argumentos de herramientas MCP ni se devuelven en respuestas MCP o REST.
Se puede usar un archivo de estado de almacenamiento de Playwright con TRADINGVIEW_BROWSER_AUTH_STATE cuando no hay una exportación de cookies disponible. Se aplica la misma lista de permitidos de cookies. Establezca TRADINGVIEW_BROWSER_AUTH_STORAGE_KEYS solo cuando un flujo de trabajo verificado requiera claves específicas de almacenamiento local; su valor predeterminado está vacío.
La disponibilidad de la interfaz de Supercharts, los selectores, las exportaciones, los planes de cuenta, los derechos de acceso a bolsas y el estado de retraso/en vivo están controlados por TradingView y pueden cambiar independientemente de este proyecto. La automatización nunca intenta una actualización o compra de cuenta.
Consulte Flujos de trabajo del navegador TradingView para obtener detalles y limitaciones.
API REST independiente y visor
La API REST es opcional y no necesita ejecutarse para el uso normal de MCP.
npm run serveSe vincula a 127.0.0.1:4317 de forma predeterminada:
curl http://127.0.0.1:4317/api/health
curl 'http://127.0.0.1:4317/api/price/DEMO:MARKET?timeframe=60&range=20'Establezca un token de portador antes de habilitar un proveedor ascendente de pago/configurado o exponer datos de gráficos locales confidenciales a otro proceso local:
export MARKET_CHART_API_TOKEN='replace-with-a-long-random-value'
npm run serveEl enlace HTTP está restringido a direcciones de bucle invertido. Consulte la referencia de la API REST.
Configuración
Copie .env.example como referencia, pero cargue valores reales desde su shell, administrador de procesos o almacén de secretos. La aplicación no lee archivos .env automáticamente.
Variable | Predeterminado | Propósito |
|
| Solo dirección de enlace de bucle invertido |
|
| Puerto REST/visor; use |
|
| Raíz contenida de CSV, exportación y captura |
| sin establecer | Token de portador REST opcional |
|
| Habilitar captura PNG del visor local |
|
| Habilitar herramientas de navegador Supercharts |
|
| Origen permitido de TradingView |
| sin establecer | Ruta externa de estado de almacenamiento de Playwright |
| sin establecer | Ruta externa de exportación de cookies |
|
| Lista de permitidos de nombres de cookies; los valores permanecen en el archivo externo |
| vacío | Lista de permitidos de claves de almacenamiento local opcional |
|
| Ejecutar Chromium administrado sin interfaz |
|
| Tiempo de espera de operación del navegador, 5-120 segundos |
| sin establecer | Clave ascendente compatible opcional |
| predeterminado del proveedor | Host ascendente compatible opcional |
Formato CSV local
Las importaciones CSV deben resolverse dentro de MARKET_CHART_DATA_ROOT, contener marcas de tiempo ascendentes y permanecer dentro de los límites configurados.
time,open,high,low,close,volume
2026-01-02T00:00:00Z,100,104,99,103,1200000
2026-01-03T00:00:00Z,103,106,101,105,1350000timestamp o date pueden reemplazar a time; también se aceptan segundos y milisegundos Unix.
Modelo de seguridad
Un proceso MCP stdio inactivo no crea ningún listener de red.
Las rutas HTTP locales se vinculan solo a bucle invertido y validan el encabezado
Host.Los archivos importados usan contención de ruta real y rechazan el recorrido de enlaces simbólicos.
La autenticación del navegador se lee de un archivo externo de solo propietario y se filtra por dominio, nombre de cookie, caducidad, tamaño y listas de permitidos de claves de almacenamiento local opcionales.
Los esquemas de solicitud MCP y REST no aceptan cookies, tokens, estado de almacenamiento ni rutas de archivos de autenticación.
Las operaciones del navegador serializan el trabajo de interfaz con estado y rechazan entradas de herramientas similares a credenciales.
Los artefactos generados del navegador, credenciales, archivos
.env, trazas y datos de mercado locales son ignorados por Git.Los resultados son observaciones analíticas, no asesoramiento de inversión ni garantía de rendimiento futuro.
Informe las vulnerabilidades según SECURITY.md.
Desarrollo
npm ci
npx playwright install chromium
npm run checknpm run check ejecuta comprobaciones de seguridad de publicación pública, validación de texto solo en inglés en todo el repositorio, comprobación estricta de TypeScript, la suite completa de Vitest y la compilación de producción.
Las contribuciones son bienvenidas; consulte CONTRIBUTING.md. Al participar, acepta seguir CODE_OF_CONDUCT.md.
Licencia y atribución
El código fuente del proyecto está disponible bajo la Licencia MIT. El visor incluido usa TradingView Lightweight Charts bajo Apache-2.0; los avisos requeridos están en NOTICE, THIRD_PARTY_LICENSES.md y licenses/Apache-2.0.txt.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceA type-safe MCP server that enables AI agents to control TradingView Desktop via Chrome DevTools Protocol, allowing chart state reading, symbol/timeframe changes, and OHLCV data fetching.112541MIT
- FlicenseNot gradedqualityCmaintenanceAn MCP server that connects to TradingView Desktop via Chrome DevTools Protocol, enabling chart control, Pine Script development, and a morning brief workflow with AI-driven analysis.254
- FlicenseBqualityCmaintenanceA TradingView-style market research and charting MCP server that provides tools for market data, indicators, watchlists, and local HTML chart rendering without scraping TradingView.9
- AlicenseNot gradedqualityCmaintenanceA local-first MCP server that bridges AI coding agents with MetaTrader 5 for inspection, market data, MQL5 development, compiling, Strategy Tester review, workspace sync, logs, audit trails, demo trading, and carefully gated live trading.MIT
Related MCP Connectors
TradeOS MCP: ticker search, My Agent, chart TA, macro news. npm stdio or HTTP.
Open-source MCP server for Zerodha Kite Connect. Portfolio, market data, backtesting, alerts.
MCP server exposing the Backtest360 engine API as tools for AI agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/moeuu/tradingview-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server