update pay function
This commit is contained in:
115
mcp_server.py
115
mcp_server.py
@@ -701,6 +701,75 @@ TOOLS: List[ToolDefinition] = [
|
||||
"required": []
|
||||
}
|
||||
),
|
||||
# ==================== 分钟频数据工具 ====================
|
||||
ToolDefinition(
|
||||
name="get_stock_minute_data",
|
||||
description="获取股票分钟频K线数据。适用于分析日内走势、寻找交易时机、技术分析等场景。",
|
||||
parameters={
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"code": {
|
||||
"type": "string",
|
||||
"description": "股票代码,例如:'600519' 或 '600519.SH'"
|
||||
},
|
||||
"start_time": {
|
||||
"type": "string",
|
||||
"description": "开始时间,格式:YYYY-MM-DD HH:MM:SS 或 YYYY-MM-DD"
|
||||
},
|
||||
"end_time": {
|
||||
"type": "string",
|
||||
"description": "结束时间,格式:YYYY-MM-DD HH:MM:SS 或 YYYY-MM-DD"
|
||||
},
|
||||
"limit": {
|
||||
"type": "integer",
|
||||
"description": "返回条数,默认240(约一个交易日)",
|
||||
"default": 240
|
||||
}
|
||||
},
|
||||
"required": ["code"]
|
||||
}
|
||||
),
|
||||
ToolDefinition(
|
||||
name="get_stock_minute_aggregation",
|
||||
description="获取股票分钟频数据的聚合K线(5分钟、15分钟、30分钟等周期)。适用于中短期技术分析。",
|
||||
parameters={
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"code": {
|
||||
"type": "string",
|
||||
"description": "股票代码"
|
||||
},
|
||||
"date": {
|
||||
"type": "string",
|
||||
"description": "交易日期,格式:YYYY-MM-DD"
|
||||
},
|
||||
"interval": {
|
||||
"type": "integer",
|
||||
"description": "聚合间隔(分钟),可选:5、15、30、60",
|
||||
"default": 5
|
||||
}
|
||||
},
|
||||
"required": ["code", "date"]
|
||||
}
|
||||
),
|
||||
ToolDefinition(
|
||||
name="get_stock_intraday_statistics",
|
||||
description="获取股票日内统计数据,包括开高低收、成交量、成交额、日内波动率等汇总指标。",
|
||||
parameters={
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"code": {
|
||||
"type": "string",
|
||||
"description": "股票代码"
|
||||
},
|
||||
"date": {
|
||||
"type": "string",
|
||||
"description": "交易日期,格式:YYYY-MM-DD"
|
||||
}
|
||||
},
|
||||
"required": ["code", "date"]
|
||||
}
|
||||
),
|
||||
]
|
||||
|
||||
# ==================== MCP协议端点 ====================
|
||||
@@ -1114,6 +1183,48 @@ async def handle_get_user_following_events(args: Dict[str, Any]) -> Any:
|
||||
"data": []
|
||||
}
|
||||
|
||||
|
||||
# ==================== 分钟频数据处理函数 ====================
|
||||
|
||||
async def handle_get_stock_minute_data(args: Dict[str, Any]) -> Any:
|
||||
"""处理股票分钟频数据查询"""
|
||||
code = args["code"]
|
||||
start_time = args.get("start_time")
|
||||
end_time = args.get("end_time")
|
||||
limit = args.get("limit", 240)
|
||||
|
||||
result = await db.get_stock_minute_data(code, start_time, end_time, limit)
|
||||
return {
|
||||
"success": True,
|
||||
"data": result,
|
||||
"count": len(result)
|
||||
}
|
||||
|
||||
|
||||
async def handle_get_stock_minute_aggregation(args: Dict[str, Any]) -> Any:
|
||||
"""处理股票分钟频数据聚合查询"""
|
||||
code = args["code"]
|
||||
date = args["date"]
|
||||
interval = args.get("interval", 5)
|
||||
|
||||
result = await db.get_stock_minute_aggregation(code, date, interval)
|
||||
return {
|
||||
"success": True,
|
||||
"data": result,
|
||||
"count": len(result),
|
||||
"interval": f"{interval}分钟"
|
||||
}
|
||||
|
||||
|
||||
async def handle_get_stock_intraday_statistics(args: Dict[str, Any]) -> Any:
|
||||
"""处理股票日内统计数据查询"""
|
||||
code = args["code"]
|
||||
date = args["date"]
|
||||
|
||||
result = await db.get_stock_intraday_statistics(code, date)
|
||||
return result
|
||||
|
||||
|
||||
# 工具处理函数映射
|
||||
TOOL_HANDLERS = {
|
||||
"search_news": handle_search_news,
|
||||
@@ -1136,6 +1247,10 @@ TOOL_HANDLERS = {
|
||||
"get_stock_comparison": handle_get_stock_comparison,
|
||||
"get_user_watchlist": handle_get_user_watchlist,
|
||||
"get_user_following_events": handle_get_user_following_events,
|
||||
# 分钟频数据工具
|
||||
"get_stock_minute_data": handle_get_stock_minute_data,
|
||||
"get_stock_minute_aggregation": handle_get_stock_minute_aggregation,
|
||||
"get_stock_intraday_statistics": handle_get_stock_intraday_statistics,
|
||||
}
|
||||
|
||||
# ==================== Agent系统实现 ====================
|
||||
|
||||
Reference in New Issue
Block a user