关于 LuxAlgo MCP
LuxAlgo MCP 将 LuxAlgo 的交易分析资料、交易日志、市场数据和挑战模拟器提供给交易者及其 AI Agent。公共工具可匿名只读使用,账户与日志功能需 LuxAlgo 登录,本地经纪商工具使用用户自己的密钥。
主要功能
- 01搜索交易概念和指标资料
- 02读取并更新 LuxAlgo 交易日志
- 03读取经纪商账户、持仓和历史
- 04查询带样本量的市场统计
- 05访问带来源链接的美国市场记录
- 06模拟 prop firm 挑战结果
适用场景
- 01查询技术分析概念和指标信息
- 02检查交易日志表现并记录交易
- 03查看经纪商账户与交易历史
- 04比较 prop firm 挑战规则和模拟结果
MCP 相关
作为 MCP 服务,它向客户端提供资料库、账户、交易日志、经纪商、统计、市场追踪器和挑战模拟器等工具。托管端点提供公共及账户功能,本地 stdio 模式还可启用经纪商工具。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.luxalgo.com/mcpclaude mcp add --transport http luxalgo-luxalgo https://mcp.luxalgo.com/mcp{"mcpServers":{"luxalgo-luxalgo":{"type":"http","url":"https://mcp.luxalgo.com/mcp"}}}在 Cursor 中打开{"servers":{"luxalgo-luxalgo":{"type":"http","url":"https://mcp.luxalgo.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"luxalgo-luxalgo":{"type":"http","url":"https://mcp.luxalgo.com/mcp"}}}{"mcpServers":{"luxalgo-luxalgo":{"serverUrl":"https://mcp.luxalgo.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
42| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | enum | 否 | 限制为 'concepts'(解释)或 'indicators'(实现);默认值为全部all | concepts | indicators |
| limit | integer | 否 | 结果数量上限(默认值为 10) |
| query | string | 是 | 概念、指标名称、别名或主题,例如 'order blocks'、'mean reversion'、'stochastics' |
| family | enum | 否 | 限定为一个概念类别trend | momentum | volatility | volume-orderflow | market-structure | smc-ict | wyckoff | elliott-harmonics | patterns | levels | statistics | machine-learning | time-seasonality | sentiment-breadth | risk-exits | meta-composition | validation |
| context | string | 是 | 用第三人称以 15-25 个词说明调用此工具的原因,以及它如何支持用户目标。仅用于分析。你必须只描述工具调用的抽象目的。绝不能包含、重复、转述或推断用户请求或工具结果中的个人、敏感或可识别信息,包括姓名、电子邮件、电话号码、IP、ID 或凭据。必须将具体实体概括为“用户”“客户”或“账户”等角色。例如:“检索客户近期订单,以调查账单问题并帮助支持人员确定适当的解决方案。” |
详细介绍
LuxAlgo MCP 是 LuxAlgo 的开源项目。概览和设置说明:luxalgo.com/mcp。
它将 LuxAlgo 生态系统整合到单个 MCP 服务中:交易与技术分析百科全书、你的 LuxAlgo 交易日志、对你自己经纪账户的只读访问权限、托管会话统计数据(每个数字都附带样本量)、美国市场的公开记录(国会交易、内部人士申报、游说、合同、专利等,每行都附有原始来源链接)、蒙特卡洛挑战模拟器,以及实时自营交易公司目录。所有托管服务均无需 API 密钥:公共工具免费且只读;交易日志和账户工具使用你的 LuxAlgo 登录信息;本地经纪商工具使用你自己的密钥,且绝不会将其发送到任何地方。
claude mcp add --transport http luxalgo https://mcp.luxalgo.com/mcp
内容
| 区域 | 提供内容 |
|---|---|
| 知识库 | 交易和技术分析百科:数百个概念页面,包含公式;按类别和概念整理的完整指标目录;以及公开提供的 Pine Script® 源码。 |
| 交易日志(登录后使用) | 你在 LuxAlgo 应用中的个人日志:仪表板(指标、Edge Score、权益曲线)、盈亏日历、按星期几/持仓时间/交易品种/标签等分类的统计、包含成交记录和注释的每笔交易、每日备注,以及让日志持续运转的写入功能:手动记录成交、为交易添加注释(标签、错误、评级、止损和目标、复盘)、撰写备注。始终以你的身份操作你的数据;规则由应用负责。 |
| 经纪商(仅限本地) | 通过 broker-sdk 只读访问你在 22 家经纪商和交易所的个人账户:余额、持仓、交易历史、FIFO 绩效统计。密钥以环境变量形式保存在 MCP 客户端配置中,绝不会离开你的设备。托管端点不会提供这些工具,这是有意为之。 |
| Edge Stats | 由开源 edge-stats 引擎提供的托管会话统计:某个设置实际奏效的频率(缺口回补、开盘区间突破、星期效应、事件日),每个数字都附有样本量和 Wilson 95% 置信区间。每晚构建会使用免费市场数据运行真实引擎,并仅发布衍生统计数据;这些工具会原样提供这些数据。 |
| 市场追踪器 | 仅来自一手来源的美国市场公开记录:国会议员交易、内部人士(Form 3/4/5)交易、13F 持仓、联邦合同和拨款、游说申报、FINRA 卖空成交量、已授权专利、临床试验、FDA 药物事件、CFTC 持仓、联邦法案、FEC 竞选财务、听证会记录、美联储沟通、委员会任职情况、Wikipedia 页面浏览量。直接读取流水线的 CC0 数据转储——实时数据树和深度历史档案——每一行都包含 provenance.sourceUrl。只有数据:不提供信号、评分或预测。 |
| 挑战模拟器 | 开源 prop-firm-sim 蒙特卡洛引擎,在服务中本地运行。将你的统计数据或真实的 R 倍数交易序列应用于某家公司的确切规则集:通过概率及其置信区间、预期尝试次数和成本、获资助期限内的期望值、最优风险扫描、跨挑战比较。使用种子即可确保结果确定,并公开披露所有假设。 |
| 自营交易公司目录 | 模拟器使用的实时数据:公司、带有完整规则手册的获资助账户挑战(账户规模、费用、步骤、利润分成、回撤模式、交易限制)以及当前优惠。 |
| 图表(你的浏览器) | 不是工具:使用工具返回的内容绘制的图表。Vela by LuxAlgo 的开源核心会在你的设备上的浏览器标签页中运行 library_get_source_code 返回的 Pine Script®,并绘制 broker_trades 列出的成交记录。了解这一流程的运作方式。 |
安装
托管服务只有一个 URL:
https://mcp.luxalgo.com/mcp
Claude(网页、桌面端、移动端)
依次选择 Customize → Connectors → Add custom connector,URL 填写 https://claude.mcp.luxalgo.com/mcp,并在 Authentication 下选择 Required when the server asks。Claude 会匿名连接,所有无需密钥的工具都能立即使用,只有在首次调用账户工具时才会显示登录卡片。之所以提供这个仅供 Claude 使用的地址,是因为对于任何能发现其 OAuth 元数据的服务,Claude.ai 都会在连接时打开 OAuth 窗口(claude-ai-mcp#1013);此地址提供相同的工具,但会隐藏这些元数据,直到确实需要登录。其他所有客户端都使用 https://mcp.luxalgo.com/mcp。
Claude Code
claude mcp add --transport http luxalgo https://mcp.luxalgo.com/mcp
Cursor
使用上方的 Install in Cursor 按钮,或将以下内容添加到 .cursor/mcp.json:
{
"mcpServers": {
"luxalgo": {
"url": "https://mcp.luxalgo.com/mcp"
}
}
}
任何其他 MCP 客户端
将客户端的 MCP 配置指向托管 URL:
{
"mcpServers": {
"luxalgo": {
"url": "https://mcp.luxalgo.com/mcp"
}
}
}
各客户端的配置文件位置
| 客户端 | 添加位置 |
|---|---|
| Cursor | .cursor/mcp.json,或使用上方的安装按钮 |
| Claude Desktop | claude_desktop_config.json |
| VS Code | 使用上方的安装按钮,或在 MCP 设置中添加 |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
| Zed | settings.json 中的 context_servers |
| Warp | Settings → Agents → MCP servers |
| LM Studio | mcp.json |
| OpenCode | opencode.json |
| Gemini CLI | ~/.gemini/settings.json |
本地(stdio)
在本地运行所有托管工具,并启用经纪商工具。为你使用的经纪商设置只读凭据环境变量。可以设置任意子集:当某个经纪商的所有变量均已设置时,该经纪商便会连接;如果一个变量都未设置,经纪商工具则会保持未配置状态。
{
"mcpServers": {
"luxalgo": {
"command": "npx",
"args": ["-y", "@luxalgo/mcp"],
"env": {
"BROKERS_ALPACA_API_KEY": "…",
"BROKERS_ALPACA_API_SECRET": "…",
"BROKERS_KRAKEN_API_KEY": "…",
"BROKERS_KRAKEN_API_SECRET": "…",
"BROKERS_HYPERLIQUID_WALLET_ADDRESS": "0x…"
}
}
}
}
环境变量名称根据各经纪商的凭据字段生成:BROKERS_<BROKER>_<FIELD>(例如 BROKERS_OKX_PASSPHRASE、BROKERS_IBKR_FLEX_FLEX_TOKEN)。broker_setup 工具会列出所有受支持的经纪商、对应的准确变量,以及创建具有只读权限的密钥的简短指南;本服务始终只需要只读权限。
使用 LuxAlgo 登录(可选)
这里几乎所有功能都无需密钥,也不需要账户即可使用。下文 Account 和 Trade Journal 部分中的工具需要识别你的身份;它们通过标准 OAuth 2.1 使用你的 LuxAlgo 账户,并由 app.luxalgo.com 作为授权服务器。无需预先设置任何内容:每个客户端都可以连接、列出工具,并匿名使用公开工具;只有在你首次调用账户工具时,才会要求登录。
托管方式(ChatGPT、Claude、Cursor,以及任何远程连接器)。 服务会公布其受保护资源元数据,并在未通过身份验证的账户工具调用时返回 401 + WWW-Authenticate 挑战;MCP 客户端会处理其余流程(发现、PKCE、浏览器中的授权页面),并为你保存令牌。每个工具也会在 tools/list 中声明其策略(securitySchemes:公开工具使用 noauth,账户工具使用 oauth2),因此 ChatGPT 也能按工具进行关联。客户端可以通过 Client ID Metadata Documents 或 Dynamic Client Registration 标识自身;该应用两种方式均接受。有一个客户端例外:只要能发现 OAuth 元数据,Claude.ai/Desktop 连接器就会在连接时登录,无论其 Authentication 设置如何。因此它们使用专属地址 https://claude.mcp.luxalgo.com/mcp,其元数据只能通过 401 响应访问(见安装)。
本地(stdio)。 在你的计算机上运行的服务本身就是 OAuth 客户端。只需登录一次:
npx -y @luxalgo/mcp login # opens your browser; tokens are stored under your user config dir (0600)
npx -y @luxalgo/mcp status # who is signed in, token expiry
npx -y @luxalgo/mcp logout
令牌保存在 ~/.config/luxalgo/mcp-auth.json(Windows 上为 %APPDATA%\luxalgo\mcp-auth.json,或使用 LUXALGO_MCP_AUTH_FILE),会自动刷新,并且只会发送到 LuxAlgo 应用。如果你的 MCP 客户端支持 URL 模式引导(MCP 2026-07-28),就可以跳过此命令:首次调用账户工具时,客户端会打开登录页面,并在你批准后继续。否则,工具会返回挑战和 login 提示。
令牌的用途。 此服务绝不会判定你有权使用哪些功能——它的代码是公开的,任何此类检查都只是装饰。相反,登录后,工具向 LuxAlgo 应用发出的每个请求都会携带你的令牌,应用据此解析你的账户和套餐,方式与使用 Web 应用时完全相同。公开工具无需令牌即可使用;有了令牌,应用就能根据你的情况调整返回内容。如果应用拒绝请求——未有效登录(401)或使用了套餐不包含的功能(403)——工具会报告这一情况,并指出涉及的权限。
工具
资料库
| 工具 | 描述 |
|---|---|
library_search | 搜索概念(支持别名)和指标 |
library_get_concept | 完整的概念页面 Markdown 内容 |
library_get_indicator | 指标详情:正文、类别、概念、源代码可用性 |
library_get_source_code | 按需获取源代码:公开提供时返回完整代码;对于应用向未登录用户提供预览的指标,返回其开头部分(complete: false);chart_url 可在 Vela 图表中打开该指标 |
library_list_concepts | 分页列出概念,可按类别筛选 |
library_list_indicators | 筛选并分页浏览(类别、概念、平台、等级),支持服务端排序 |
library_list_families | 带计数的分类体系主干 |
library_get_family | 以 Markdown 格式提供类别主页及概念列表 |
资料库输出为精简 JSON,并包含用于引用的规范 url。概念和类别页面也可直接以 Markdown 格式获取:在任意概念 URL 末尾追加 .md。
账户(需要登录)
| 工具 | 描述 |
|---|---|
luxalgo_account | 已登录用户的套餐等级、权益(警报、历史 K 线、AI 积分等)和基本资料——让 Agent 能根据套餐的实际权限调整回答 |
交易日志(需要登录)
你在 LuxAlgo 应用中的个人交易日志——与应用显示的账户、交易、批注和备注相同,并以你的身份读取和写入。日期是日志时区中的 YYYY-MM-DD 日键(journal_list_accounts 会报告该时区);账户筛选器使用同一次调用返回的 ID。
| 工具 | 描述 |
|---|---|
journal_list_accounts | 日志账户(经纪商同步、导入或手动创建;包含货币、初始余额、手数计算方法、上次同步时间、归档状态)和日志时区——这是首次调用,因为每个 accounts 筛选器都需要使用这些 ID |
journal_overview | 时间窗口的仪表板:绩效指标、Edge Score、每日 P&L、权益曲线、未平仓头寸、账户和设置;compare 会添加前一个等长时间窗口的数据 |
journal_calendar | 一个月的 P&L 日历:每日单元格、每周和每月合计、交易日和盈利日 |
journal_breakdown | 按星期、时段、持仓时间、交易品种、方向、头寸规模、标签、评级和资产类别分组的已平仓交易——展示 P&L 的来源 |
journal_list_trades | 交易摘要,采用键集分页;可按账户、开仓日期范围、交易品种、方向、状态和标签筛选;可按开仓/平仓时间、净额或毛额 P&L、持续时间、数量、交易品种或评级排序,支持升序或降序 |
journal_get_trade | 一笔交易的完整信息:成交记录(报告值、更正值、隐藏项)、每次退出的 P&L、所有批注 |
journal_get_day | 单日的统计数据、交易和备注 |
journal_list_tags | 用户的批注词汇表——标签、错误、操作手册及其使用次数——便于新批注沿用现有用词 |
journal_search_notes | 将每日备注和交易备注合并为按时间从新到旧排列的列表;支持文本查询、日期范围、交易品种和账户筛选,并支持分页 |
journal_add_trade | 手动记录一笔交易:将其成交记录写入手动账户或导入账户;返回生成的交易 |
journal_update_trade | 为交易添加批注:备注、标签(替换或添加/移除)、错误、操作手册、评级、止损、止盈目标、已审核状态 |
journal_write_note | 为某一天添加备注 |
journal_update_note | 替换某日备注的文本,或将其移至另一天 |
日志工具和 luxalgo_account 是唯一需要 LuxAlgo 账户的工具;请参阅使用 LuxAlgo 登录。未登录时,它们会返回 OAuth 挑战,而不是数据——绝不会静默回退。写入工具仅以已登录用户的身份操作,且仅作用于该用户的日志;应用会验证并管理每项更改。
经纪商(仅限本地 stdio)
| 工具 | 描述 |
|---|---|
broker_setup | 支持的经纪商及其环境变量(仅显示已设置或未设置,绝不显示变量值)、只读密钥指南 |
broker_accounts | 已连接的账户:经纪商、货币、权益、现金 |
broker_positions | 未平仓头寸及其市值、资产类别和入场价;负数量表示做空 |
broker_trades | 交易历史,按时间从新到旧排列;可按经纪商或交易品种筛选 |
broker_stats | 总权益、按经纪商划分的权益、主要头寸、FIFO 胜率和已实现 PnL |
broker_refresh | 绕过 5 分钟缓存并立即重新获取 |
从设计上即为只读:SDK 的根导出不包含交易端点,服务绝不会在任何地方写入机密信息,并会报告各经纪商的失败情况及其结果,绝不会静默丢弃。
Edge Stats
由开源 edge-stats 引擎托管的会话统计数据,每晚预先计算:
| 工具 | 描述 |
|---|---|
edge_symbols | 托管存储涵盖的内容:交易品种、会话日历、覆盖时间范围、最近构建时间 |
edge_presets | 预先计算的问题目录,每个问题都用通俗语言说明其数值的含义 |
edge_report | 引擎完整诚实性信息中的一项结果:估算值、N、Wilson 95% 置信区间、最低样本量保护条件、稳定性拆分、逐年计数、分布、免责声明 |
每个数值都会附带样本量——引擎中没有任何代码路径会在不提供样本量的情况下返回百分比。结果是历史条件频率,绝非预测。如需执行任意组合查询或使用自己的市场数据,请在本地运行 edge-stats;其 MCP 服务会通过本地存储提供完整引擎。
Market Trackers
| 工具 | 描述 |
|---|---|
trackers_datasets | 目录:每个数据集的行数、数据新鲜度、有数据的年份(实时数据与深度历史存档)、是否可按股票代码搜索;传入 dataset 可查看其字段列表、可筛选路径、注意事项、逐年覆盖情况、数据源健康状况和转储 URL |
trackers_query | 按股票代码、自由文本、精确字段值(where、点分隔路径)和事件日期范围搜索单个数据集,并选择要读取的年份;支持按最新/最早顺序排列并分页 |
trackers_latest | 数据集最新的每日增量(今日的内幕交易申报、本周的国会披露),可选择按股票代码或文本缩小范围 |
trackers_ticker | 按年份查询某个股票代码在所有包含股票代码的数据集中的记录:各数据集的计数及最新行——一份公共记录档案 |
数据是 LuxAlgo/market-trackers 的 CC0 输出,每日发布到 LuxAlgo/market-trackers-data:仓库实时目录树中按年份分片的 gzip 压缩 JSON,以及附加到数据仓库 GitHub Releases 并在其 archives.json 中编入索引的深度历史分片。服务按行流式读取分片(绝不加载整个文件),并受每次调用的压缩字节数预算限制,因此深度历史年份(通常压缩后为 30–60 MB)一次只读取一个。以范围形式披露的金额会保留为范围;合同、游说、临床试验、FDA 事件和专利的股票代码映射会尽力匹配经过整理的上市公司映射表;每一行都保留指向主要来源的深层链接。
Challenge Simulator
在服务内本地运行:
| 工具 | 描述 |
|---|---|
propfirms_list_simulatable | 实时目录中的所有可模拟公司和挑战,并披露来源信息 |
propfirms_challenge_rules | 某项挑战的完整编码规则集(回撤模式、一致性、付款限制、引用来源),可直接编辑并重新模拟 |
propfirms_simulate | 使用某家公司的精确规则集和获资期限,对你的统计数据(胜率、平均盈利、每日交易次数、风险规模)进行 Monte Carlo 模拟:通过概率及置信区间、导致尝试失败的规则、预期尝试次数和成本、EV、付款概率 |
propfirms_simulate_trades | 相同的模拟,但使用你的真实 R 倍数交易序列;区块自助法会保留你的连胜连败 |
propfirms_optimal_risk | 风险扫描:通过概率最优与 EV 最优的每笔交易风险(两者不同) |
propfirms_compare | 对同一交易者在最多 12 项挑战中的表现进行比较,并按 EV 排序(不是排名) |
propfirms_pass_rates | 网站参考原型的通过概率,实时重新计算(种子 42、10k 条路径) |
propfirms_validate_strategy | 根据明确的通过门槛,筛查某个策略在所有可模拟挑战中的表现 |
每个模拟结果都会附带其假设、未模拟规则标记、种子和引擎版本。结果是在所述假设下得到的分布,绝非承诺。引擎在本地运行;公司的规则会根据实时目录调整,内联规格可在完全离线的情况下进行完整模拟。
自营交易公司目录
模拟器使用的实时目录,可直接查询:
| 工具 | 描述 |
|---|---|
propfirms_search | 搜索公司;公司筛选条件(平台、市场、付款方式、Trustpilot 评分、国家可用性)可与嵌套的挑战和优惠筛选条件组合使用,include 可嵌套符合条件的子项 |
propfirms_get | 某家公司的完整档案:简介、所有挑战、实时优惠、书面概述 |
propfirms_search_challenges | 按规则(规模、费用、阶段、利润分成、回撤、交易限制)和所属公司搜索挑战;可附加适用的实时优惠 |
propfirms_search_offers | 当前折扣和促销码,可按公司或挑战查询 |
在浏览器中使用 Vela 绘制图表
上面的每个工具都会返回文本和 JSON。需要图表时,可使用 LuxAlgo 的开源核心 Vela(@luxalgo/vela,Apache-2.0,GitHub)——Vela 背后的图表库:它是一款无头图表,拥有自己的 WebGL2 渲染器,可使用你已有的 K 线数据,也可以从无需密钥的公共数据提供商获取数据,并通过可插拔引擎运行指标脚本。Pine Script® 位于 @luxalgo/vela-pinets 插件中,它让 Vela 与 Library 形成闭环:library_get_source_code 会向 Agent 提供指标的准确 Pine 源代码,而 Vela 的开源核心会在图表上执行该代码。
要在 Vela 中打开指标,请将 library_get_source_code 返回的 chart_url 提供给用户;当指标代码只能在 LuxAlgo 上运行时,该链接会指向 LuxAlgo 新一代图表平台 vela.luxalgo.com/chart。
这并非样机:Library 的 SuperTrend 源代码由 library_get_source_code 返回,并由 @luxalgo/vela-pinets 在 @luxalgo/vela 0.6 图表上执行,最后通过无头 Chromium 截图。K 线数据是带标签的合成样本;可将 data 指向你自己的数据,或注册数据提供商以获取实时数据。
整个演示只需两个 script 标签和五行代码。source 是 library_get_source_code 结果中的 source 字段:
<div id="chart" style="height: 480px"></div>
<script src="https://cdn.jsdelivr.net/npm/@luxalgo/[email protected]/dist/vela.global.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@luxalgo/[email protected]/dist/vela-pinets.global.min.js"></script>
<script>
const chart = new Vela.Vela('#chart', { data: bars, timeframe: '1D', theme: 'dark' }); // bars: [{ time, open, high, low, close, volume? }]
chart.registerEngine('pine', new VelaPinets.PineEngine());
chart.addIndicator(source);
</script>
使用打包工具时,做法相同,只需通过 import { Vela } from '@luxalgo/vela' 和 import { PineEngine } from '@luxalgo/vela-pinets' 调用三个函数;参见 Vela 的快速入门。同一张图表也能绘制你自己的交易记录:Trade Journal 使用 broker_trades 返回的数据结构,并通过 Vela 的原生指标 API 绘制入场、离场和盈亏标签,无需引擎,只需使用一个组件,即可直接复用。
各部分的运行位置。 这点很重要,因为它与本服务其余部分的工作方式恰好相反:
| 部分 | 位置 | 说明 |
|---|---|---|
| Vela | 你设备上的浏览器标签页中(Canvas 2D 或 WebGL2)。 | 不会在本服务内部运行,无论是托管模式还是 stdio 模式,也不会出现在 MCP 响应中。Agent 获取的是 Pine 源代码和交易记录文本;你可以用它们构建图表。 |
| K 线数据 | 由你通过 data 提供,或由浏览器从 Vela 无需密钥的 Binance、Coinbase 和 Hyperliquid 数据提供商获取。 | 本服务不提供市场数据,因此图表无需 LuxAlgo 密钥,也不会向 LuxAlgo 发出请求。 |
| Pine Script® | @luxalgo/vela-pinets,用于执行 PineTS 运行时。 | AGPL-3.0,许可与 Vela 的 Apache-2.0 和本服务的 MIT 许可证相互独立。Vela 本身不附带引擎,也不包含 Pine 代码。 |
| 署名 | 每张图表左下角的 Vela 标识。 | 除非你在图表旁展示具有同等效果的署名,否则必须保留;参见 Vela 的 NOTICE。 |
Vela 已用于绘制 Trade Journal 和托管版 Market Trackers 中的图表,velacharts.dev 也提供实时图表。
开发
npm install
npm run build
npm start # stdio
npm run start:http # streamable HTTP on :3333/mcp
npm test # smoke suite over stdio (hits live endpoints); --only library,edge for a subset
npm run test:http # the same suite against a running HTTP entry on :3333
npm run test:parity # simulator tools vs upstream package + raw engine
npm run test:trackers # offline checks of the Market Trackers streaming engine
布局——每个关注点一个目录,每个工具领域一个目录:
src/
index.ts the `luxalgo-mcp` binary → entries/stdio.ts
entries/ stdio.ts (local), node-http.ts (plain Node), hosted.ts (shared by node-http and api/server.ts)
server/ manifest.ts (the list of tool modules; protected / local-only derived from it),
create-server.ts (registration shared by every entry), version.ts (serverInfo)
tools/<domain>/ index.ts exports a ToolModule (name, tool names, protected, localOnly, register);
api.ts wraps the domain's endpoints; the rest is the domain's own
tools/_shared/ result/format helpers and the ToolModule contract
auth/ OAuth: config, gate, verify, metadata, challenge, runtime, protected-tool, local/ (stdio client)
platform/ app-client.ts (the one HTTP client for the LuxAlgo app), analytics.ts
api/server.ts the Vercel function
test/ smoke.mjs runner + smoke/<domain>.mjs suites, parity.mjs, trackers-check.mjs
添加工具领域:创建 src/tools/<domain>/index.ts,导出一个 ToolModule,并在 src/server/manifest.ts 中列出;注册时会断言模块注册的工具与其声明的工具完全一致。需要已登录用户的工具应标记在 protectedTools 中(并使用 registerProtectedTool 注册);读取本地凭据的模块应标记为 localOnly。
可选环境变量:LUXALGO_APP_ORIGIN 和 LUXALGO_SITE_ORIGIN 用于将服务指向非生产环境;LUXALGO_CHART_ORIGIN(默认为 https://vela.luxalgo.com)是 chart_url 打开图表的位置;MARKET_TRACKERS_DUMPS_ORIGIN(默认为 https://raw.githubusercontent.com/LuxAlgo/market-trackers-data/main)和 MARKET_TRACKERS_DATA_REPO 用于将 Market Trackers 工具指向其他转储目录树。
OAuth 环境变量(见 src/auth/config.ts):授权服务器始终为 LUXALGO_APP_ORIGIN + /api/auth;MCP_RESOURCE(默认为 https://mcp.luxalgo.com/mcp)是此服务的资源标识符和令牌受众——必须与应用的 LUXALGO_MCP_SERVER_RESOURCE 相同。本地端到端开发:LUXALGO_APP_ORIGIN=http://localhost:3001 MCP_RESOURCE=http://localhost:3333/mcp npm run start:http,应用运行在 3001 端口,并为 npx -y @luxalgo/mcp login / stdio 服务导出相同的 MCP_RESOURCE。LUXALGO_AUTH_CHALLENGE=result 会使托管入口允许匿名受保护调用到达工具(工具会在带内返回 _meta["mcp/www_authenticate"] 挑战),而不是直接以 HTTP 401 结束请求——这是默认行为。无效令牌始终返回 401。仅供 Claude 使用的主机是 MCP_RESOURCE 的主机名前加上 claude.(本地为 http://claude.localhost:3333/mcp,冒烟测试套件通过 X-Forwarded-Host 访问);它必须与应用的 getLuxalgoClaudeMcpServerResource() 相符。npm test 会覆盖两种传输方式下的匿名请求路径和公布的 securitySchemes;npm run test:http 还会在两个主机上测试 OAuth 发现。
免责声明
此服务返回的任何内容均不构成投资建议。模拟输出是在所述假设下建模得出的估算值,并非预测或保证。请根据经纪商自己的对账单核实余额和绩效数据;有关当前规则,专业交易公司自己的页面具有权威性。
许可证
代码采用 MIT 许可证 © LuxAlgo Global, LLC。此服务提供的库内容和 Pine Script® 源码各自保留其许可证;请参阅 NOTICE。
LuxAlgo 名称和徽标是 LuxAlgo Global, LLC 的商标;请参阅 TRADEMARKS.md。如需报告漏洞,请参阅 SECURITY.md。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。