返回 MCP 目录
public公开dns本地运行

pinescript-mcp-server

一个用于TradingView PineScript的MCP服务器,提供代码验证、错误修复和模板生成功能。

article

README

🚀 TradingView PineScript MCP 服务器

TradingView PineScript MCP 服务器是一个专门用于与 TradingView PineScript 协作的工具。它基于 Model Context Protocol (MCP),借助标准化 API 为 PineScript 代码提供验证、修复和生成等功能,极大提升了代码处理的效率和准确性。

🚀 快速开始

先决条件

  • Node.js 16.x 或更高版本
  • npm 8.x 或更高版本

安装

  1. 克隆仓库
git clone https://github.com/yourusername/pinescriptproject1.git
cd pinescriptproject1
  1. 安装依赖项
npm install
  1. 构建项目
npm run build

运行服务器

启动 MCP 服务器:

npm run start-server

这将启动一个 stdio 传输的服务器,允许其与 MCP 客户端通信。

✨ 主要特性

  • PineScript 验证:自动检测 PineScript 代码中的语法错误和警告。
  • 错误修复:自动修正常见的 PineScript 语法错误。
  • 模板生成:提供经过验证的策略和指标的 PineScript 代码模板。

📚 详细文档

API 文档

工具集

MCP 服务器暴露了以下工具:

1. validate_pinescript

验证 PineScript 代码是否存在语法错误和警告。

  • 参数
    • script (字符串):要验证的 PineScript 代码。
    • version (字符串,可选):预期的 PineScript 版本(例如,'v5'、'v4')。
  • 返回值
    • valid (布尔值):脚本是否有效。
    • errors (字符串[]):错误列表。
    • warnings (字符串[]):警告列表。
2. fix_pinescript_errors

自动修正 PineScript 代码中的常见语法错误。

  • 参数
    • script (字符串):要修复的 PineScript 代码。
  • 返回值
    • fixed (布尔值):是否进行了任何修复。
    • fixedCode (字符串):已修复的代码。
    • changes (字符串[]):记录所做的更改。
3. get_pinescript_template

提供常见 PineScript 策略和指标的验证模板。

  • 参数
    • template_type (字符串):模板类型('strategy' 或 'indicator')。
    • name (字符串):模板名称。
  • 返回值
    • template (字符串):模板代码。
    • message (字符串):确认信息。

支持的 PineScript 功能

语法验证

当前版本检测以下内容:

  • 空白脚本
  • 版本注释
  • 平衡括号
  • 字符串引号
  • 函数调用中的逗号位置
  • PineScript v5 中的已弃用函数
  • 不正确的变量导出语法

错误修复

修正器可以自动修复以下内容:

  • 缺少版本注释
  • 括号不平衡
  • 未闭合的字符串文字
  • 函数调用中缺少逗号
  • 已弃用的 study() 函数
  • 不正确的变量导出语法

🔧 技术细节

开发

运行测试

npm test

调试

以开发模式运行服务器,带有自动重载功能:

npm run dev

📄 许可证

ISC

贡献

欢迎贡献!

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端