Files
market_sync/requirements.txt
T
gao 91e83a3b0b feat(mcp): MCP server (5 tools) — 任务/状态/数据集/详情/今日汇总
新增 app/mcp_server.py,让 LLM (Claude Desktop / Claude Code) 通过
MCP stdio 协议查询 market_sync 的同步情况:

工具列表:
  1. list_sync_tasks        - 列出 13 个 sync task + 当前状态 + 7d 运行统计
  2. get_task_status        - 单个 task 的状态机 + 最近 N 天所有 run
  3. list_datasets          - 17 张 PG 表的行数 + 日期范围
  4. get_dataset_info       - 单表的 schema/索引/PK + 3 行抽样(白名单防注入)
  5. get_today_sync_summary - 今日 KPI + 每个 task 的最新 run

传输: stdio (本地启动 Claude Desktop 直连)
启动: python -m app.mcp_server
依赖: mcp[cli]>=1.0.0 (已加入 requirements.txt)

复用层: app.core.db.ops + app.core.sync.registry 的 helper,
不绕过 ORM session (与 dashboard API 一致)。

验证:
  - initialize 握手 OK
  - tools/list 返回 5 个工具的完整 schema
  - 各 tool 在 stdio 协议下正常返回 JSON
2026-07-07 17:59:05 +08:00

37 lines
942 B
Plaintext

# Web/API
fastapi>=0.110.0
uvicorn[standard]>=0.30.0
pydantic>=2.0.0
pydantic-settings>=2.0.0
# MCP server (stdio 传输, 给 Claude Desktop / Claude Code 用)
mcp[cli]>=1.0.0
# Data
pandas>=2.2.0
numpy>=1.26.0
pyarrow>=15.0.0
# Storage
SQLAlchemy>=2.0.0
PyMySQL>=1.0.0
DBUtils>=3.0.0
cryptography>=42.0.0
# HTTP / Retry
requests>=2.30.0
tenacity>=8.0.0
# Datasources — A 股免费源
# akshare 仅用于"无稳定替代源"的数据集(2026-07-01 决策)。
# 当前仅龙虎榜使用(聚合层 stock_lhb_detail_em + 席位层 stock_lhb_stock_detail_em)。
# 5min K / moneyflow / kline_daily 等已有 baostock / mairui 替代,禁 akshare。
akshare>=1.18.0
baostock>=0.9.0
# 雪球非官方 SDK:需要 XUEQIU_TOKEN(环境变量)才能拿到股本 / 日K 复核
# 没装 → share / kline_daily 任务静默失败(ImportError 被 except 吞)
pysnowball>=0.1.8
# Logging / Config
PyYAML>=6.0.0
python-dotenv>=1.0.0