AITrader
基于MCP的人工智能交易助手,将人工智能客户端与实时市场数据、技术分析和人工智能驱动的研究联系起来。构建为具有Python数据管道和TypeScript MCP服务器的单仓库。
建筑
复制 ┌──────────────┐ stdio (JSON-RPC) ┌──────────────────┐
│ AI Client │◄────────────────────────►│ MCP Server │
│ (Claude, │ │ (TypeScript) │
│ etc.) │ │ 16 tools │
└──────────────┘ │ 6 resources │
└────┬────────┬─────┘
│ │
HTTP :8321 │ │ HTTP :4141
▼ ▼
┌────────────┐ ┌──────────────┐
│ Bot API │ │ copilot-api │
│ (Python) │ │ (AI backend)│
│ FastAPI │ │ OpenAI- │
│ tvscreener│ │ compatible │
└────────────┘ └──────────────┘
│
▼
TradingView
Scanner API
三层:
层
技术
端口
角色
数据
Python、tvscreener、FastAPI
8321
市场数据、技术、筛选
AI
副驾驶api(GitHub副驾驶代理)
4141
研究报告,交易创意生成
MCP
TypeScript,@modelcontextprotocol/sdk
stdio
AI客户端的工具/资源接口
先决条件
Node.js>=18 (.nvmrc 设置为22)
Python>=3.10
GitHub Copilot 订阅 (通过副驾驶api获取AI功能)
设置
复制 # Clone and enter the project
cd AITrader
# Install everything (npm + Python)
npm run setup
# Or manually:
npm install
cd packages/bot && pip install -e . && cd ../..
# Build the MCP server
npm run mcp -- --workspace=packages/mcp run build
# or directly:
npx tsc --project packages/mcp/tsconfig.json
跑步
快速启动(所有服务)
这将启动:
副驾驶api 在端口4141上(AI后端)
博特API 端口8321(数据管道)
打印连接MCP服务器的说明
手动启动(个人服务)
复制 # Terminal 1: AI backend
npx copilot-api@latest start
# Terminal 2: Data pipeline
python3 -m aitrader_bot.api
# Terminal 3: MCP server (connect to an AI client)
node packages/mcp/dist/index.js
使用克劳德代码注册
复制 claude mcp add aitrader -- node /path/to/AITrader/packages/mcp/dist/index.js
环境变量
变量
默认值
描述
BOT_API_URL
http://localhost:8321
Python机器人程序API地址
AI_BASE_URL
http://localhost:4141/v1
副驾驶api地址
AI_API_KEY
dummy
API密钥(copilot-API不需要真正的密钥)
AI_MODEL
gpt-4.1
用于AI功能的模型
CONTENT_DIR
./content
缓存的报告和新闻目录
MCP工具
市场数据和符号
工具
说明
symbol-overview
完整快照:价格、交易量、基本面、技术面、评级
symbols-search
按名称或股票代码查找符号
sp500-movers
标普500指数涨幅或跌幅最大的股票
macro-snapshot
主要指数(SPY、QQQ、DIA、IWM)、波动率指数、利率、大宗商品、外汇
screen-stocks
带过滤器的柔性筛分机(price > 100, rsi < 30等)、排序、索引过滤
crypto-overview
加密货币快照
forex-overview
外汇对快照
技术分析
工具
说明
technicals-get
RSI、MACD、布林带、SMA(20/50/200)、随机指标、ADX、CCI、动量
signals-get
离散信号:RSI超买/超卖、MACD交叉、黄金/死亡交叉、布林触线
signals-batch
多个符号的批处理信号
prices-recent-closes
最近的OHLCV数据
支持的时间范围: 1, 5, 15, 30, 60, 240, 1D, 1W, 1M
人工智能研究
工具
说明
symbol-research
获取市场数据+技术数据+信号,然后生成人工智能分析师报告
trade-ideas
筛选候选人,运行批量信号,根据标准生成人工智能交易想法
report-latest
检索符号的最新缓存报告
news-index
列出某个符号的缓存新闻文章
效用
工具
说明
help-usage
完整的工具列表、工作流示例和连接状态
MCP资源
URI可寻址只读端点:
URI
返回
report://{symbol}/latest
最新缓存的研究报告(降价)
technicals://{symbol}
实时技术指标(JSON)
signals://{symbol}
实时交易信号(JSON)
movers://sp500/{direction}
标准普尔500指数走势图(JSON)
files://news/{symbol}
缓存的新闻文件列表
files://reports/{symbol}
缓存的报告文件列表
工作流
筛选循环
复制 sp500-movers (direction: "up")
→ signals-batch (top movers)
→ technicals-get (best candidates)
→ symbol-research (top pick)
深潜
复制 symbol-overview ("AAPL")
→ technicals-get + signals-get
→ symbol-research
→ report-latest (retrieve cached)
贸易创意生成
复制 trade-ideas (criteria: "oversold large caps with high volume")
→ internally screens, runs signals, generates AI ideas
宏观背景
复制 macro-snapshot
→ sp500-movers (direction: "down")
→ signals-batch (losers to find oversold bounces)
项目结构
复制 AITrader/
├── packages/
│ ├── bot/ # Python data pipeline
│ │ ├── aitrader_bot/
│ │ │ ├── screener.py # tvscreener integration (11 functions)
│ │ │ └── api.py # FastAPI HTTP bridge
│ │ └── pyproject.toml
│ └── mcp/ # TypeScript MCP server
│ ├── src/
│ │ ├── index.ts # Server entry point (stdio transport)
│ │ ├── lib/
│ │ │ ├── bot-client.ts # HTTP client → Python bot API
│ │ │ ├── ai-client.ts # OpenAI client → copilot-api
│ │ │ └── cache.ts # File-based report/news cache
│ │ ├── tools/
│ │ │ ├── market-data.ts # 7 market data tools
│ │ │ ├── technicals.ts # 4 technical analysis tools
│ │ │ ├── research.ts # 4 AI research tools
│ │ │ └── utility.ts # help tool
│ │ └── resources/
│ │ └── index.ts # 6 URI resource endpoints
│ ├── tsconfig.json
│ └── package.json
├── config/
│ └── mcp.json # MCP client configuration
├── content/ # Cached reports & news (auto-created)
├── database/ # SQLite databases
├── start.sh # All-in-one launcher
├── start-dev.sh # Dev mode launcher
├── .nvmrc # Node version (22)
└── package.json # Workspace root
数据源
市场数据 : 电视筛选器 (非官方TradingView屏蔽程序API)
AI后端 : 副驾驶api (GitHub Copilot作为兼容OpenAI的API)
备注
MCP服务器通过以下方式进行通信 标准 . stdout 仅适用于JSON-RPC消息。所有日志都转到 stderr.
人工智能研究工具会优雅地降级:如果副驾驶api不可用,原始数据仍然会返回。
缓存的报告以markdown形式存储在 content/{SYMBOL}/reports/.
tvscreener查询TradingView的公共API,不需要身份验证。