内容
[](https://github.com/TheFractalyst/PineMCP)
[](https://pypi.org/project/pinemcp/)
[](https://python.org)
[](https://trychroma.com)
[](https://modelcontextprotocol.io)
[](LICENSE)
[](https://github.com/TheFractalyst/PineMCP/actions/workflows/test.yml)
完整的 PineScript v6 参考文档 MCP 服务器,包含 1751 个条目,涵盖官方 TradingView PineScript v6 参考中的所有函数、变量、常量、类型、关键字、运算符和注释。
[快速开始](#快速开始) |
[工具](#工具) |
[配置](#配置) |
[数据库](#数据库) |
[开发](#开发)
---
## 一条命令。两分钟。全功能。
```bash
pip install pinemcp
pinemcp
```
就是这样。首次运行时,服务器会自动从随附的 JSON 数据构建 ChromaDB 矢量存储(需要 30-60 秒来下载和索引嵌入模型)。后续运行立即启动。
**您将获得:**
- 6 个 PineScript v6 文档查找、代码验证和代码生成的 MCP 工具
- 1751 个条目索引到本地 ChromaDB 矢量存储中(100% 离线)
- 亚毫秒级热缓存,用于优先级查找
- 远程 TradingView 编译器集成,用于 `pine_compile` 和 `pine_repair`
- 与 Claude Desktop、Cursor、Windsurf、OpenCode 和任何 MCP 客户端兼容
**您需要:**
- Python 3.10+
- 任何 MCP 兼容的 AI 客户端
---
## 为什么选择 PineMCP?
AI 编码助手会幻化 PineScript v6 语法。PineScript v6 引入了与 v5 的重大更改(类型化的 `na`、删除的 `transp`、`when` 参数删除、布尔转换更改等),而在较旧代码上训练的模型会出错。
PineMCP 为 AI 助手提供 **权威、实时的** 访问完整的 TradingView v6 参考:
- **100% 覆盖率**:919/919 个基本条目来自实时 TradingView v6 参考
- **语义搜索**:矢量嵌入通过含义查找相关文档,而不仅仅是关键词
- **远程编译**:`pine_compile` 验证代码是否符合真实的 TradingView 编译器
- **v5 迁移到 v6**:`pine_repair(mode="migrate")` 应用所有已知的 v5->v6 替换
- **代码生成**:`pine_scaffold` 生成验证的指标或策略模板
- **100% 本地**:运行时无网络调用(可选编译器验证除外)
---
## 工具
```
+----------------------+---------------------------------------------+
| 工具 | 描述 |
+----------------------+---------------------------------------------+
| pine_lookup | 通过确切名称获取符号的完整文档 |
| pine_search | 跨所有文档的语义搜索 |
| pine_browse | 枚举命名空间的所有成员 |
| pine_compile | 通过 TradingView 编译 PineScript 代码 |
| pine_repair | 修复编译器错误或将 v5 迁移到 v6 |
| pine_scaffold | 生成指标或策略模板 |
+----------------------+---------------------------------------------+
```
### 工具详情
**`pine_lookup(name, kind?)`**
通过确切名称获取 PineScript v6 符号的完整文档。自动检测函数、变量、类型、常量、关键字或运算符。返回语法、参数、返回值、备注、示例和相关链接。
**`pine_search(query, category?, namespace?, return_type?, has_examples?, current_line?, n_results?)`**
跨整个 v6 参考的语义搜索。支持类别过滤、命名空间过滤、返回类型匹配、仅示例模式和基于当前正在输入的行进行上下文感知函数建议。
**`pine_browse(namespace, category?, style?)`**
枚举命名空间的所有成员(例如 `ta`、`strategy`、`array`)。`style="cheatsheet"` 生成一个紧凑的、以框线绘制的签名摘要。
**`pine_compile(code?, file_path?, explain?)`**
通过远程 TradingView 编译器编译 PineScript v6 代码。支持内联代码、文件路径和 `explain=True` 进行错误特定修复提示。
**`pine_repair(code, context, mode?)`**
修复编译器错误(`mode="targeted"`)或将 v5 代码迁移到 v6(`mode="migrate"`)。应用所有已知的 v5->v6 更改替换,然后重新编译以进行验证。
**`pine_scaffold(kind, name, description?, inputs?, overlay?, initial_capital?, commission_pct?, pyramiding?)`**
生成验证的 PineScript v6 指标或策略模板。预先连接了标准输入、风险参数和绘图函数。
## MCP 客户端配置
### Claude Desktop
添加到 `~/Library/Application Support/Claude/claude_desktop_config.json`(macOS)或 `%APPDATA%\Claude\claude_desktop_config.json`(Windows):
```json
{
"mcpServers": {
"pinescript-v6": {
"command": "pinemcp",
"transport": "stdio"
}
}
}
```
### Cursor / Windsurf / OpenCode
添加到项目的 `.mcp.json` 或全局 MCP 配置:
```json
{
"mcpServers": {
"pinescript-v6": {
"command": "pinemcp",
"transport": "stdio"
}
}
}
```
### SSE(HTTP)
```bash
pinemcp --transport sse --port 8080
```
连接到 `http://localhost:8080`。为身份验证设置 `MCP_API_KEY` 环境变量。
## 配置
```
+------------------------+---------------------+----------------------------------+
| 环境变量 | 默认值 | 描述 |
+------------------------+---------------------+----------------------------------+
| TRANSPORT | stdio | 传输方式:stdio 或 sse |
| PORT | 8080 | SSE 传输端口 |
| PINESCRIPT_DB_PATH | ~/.pinescript_mcp/db| ChromaDB 路径 |
| PINESCRIPT_COLLECTION | pine_reference | ChromaDB 集合名称 |
| PINE_EMBED_MODEL | all-MiniLM-L6-v2 | 句子转换器模型 |
| LOG_LEVEL | INFO | 日志级别 |
| LAZY_MODEL | 0 | 延迟模型加载 |
| MCP_API_KEY | (无) | SSE 身份验证 API 密钥(可选) |
+------------------------+---------------------+----------------------------------+
```
## 数据库
- 1751 个条目(仅 v6)
- 53 个命名空间(ta、strategy、array、matrix、math、str、color 等)
- 919/919 个基本条目来自实时 TradingView v6 参考(100% 覆盖率)
- 832 个附加丰富条目来自本地文档解析
- 热缓存:1447 个条目预加载到内存中进行亚毫秒级查找
- 首次运行时从随附的 JSON 数据自动构建(2.1MB)
重建数据库:
```bash
pinemcp build
```
## 开发
```bash
git clone https://github.com/TheFractalyst/PineMCP.git
cd PineMCP
pip install -e ".[dev]"
pytest tests/ -v
```
### 从 TradingView 重新抓取
```bash
pip install -e ".[pipeline]"
python -m playwright install chromium
python pipeline/discover_entries.py
python pipeline/scrape_entries.py
python pipeline/merge_and_index.py --reset
```
## 技术栈
- **FastMCP 3.0** - 具有文件系统提供程序自动发现的 MCP 服务器框架
- **ChromaDB** - 用于语义搜索的本地矢量数据库
- **SentenceTransformers** - `all-MiniLM-L6-v2` 嵌入模型(384 维)
- **RapidFuzz** - 用于名称查找的模糊字符串匹配
- **Loguru** - 具有每日轮换的 structured logging(SSE 模式)
## 链接
- [fractalyst.dev](https://fractalyst.dev/) - 作品集
- [TradingView](https://www.tradingview.com/u/Fractalyst/#published-scripts) - 公共 PineScript 指标
- [@TheFractalyst](https://x.com/TheFractalyst) - X / Twitter
## 许可证
MIT - 请参阅 [LICENSE](LICENSE)