Files
FastapiAdmin/backend/app/mcp_server/mcp_server.py
T
zhangtao ecec6ceadb feat: 新增MCP服务器和客户端功能,支持AI工具调用和天气查询
refactor: 重构基础模型和响应类,增加success字段

fix: 修复定时任务日志记录和异常处理问题

style: 调整中间件日志记录逻辑,优化参数处理

docs: 更新数据库配置和依赖项说明

perf: 优化文件上传服务,支持OSS存储

test: 添加定时任务日志模型和参数验证

chore: 更新依赖项,添加openai库支持
2025-08-30 13:22:48 +08:00

39 lines
1023 B
Python

from typing import Literal
from mcp.server.fastmcp import FastMCP
from tool_table import TableTool
from tool_weather import WeatherTool
# 初始化 MCP 服务器
mcp = FastMCP("FluxMcpServer")
@mcp.tool()
async def query_weather(city: str) -> str:
"""
输入指定城市的英文名称,返回今日天气查询结果。
:param city: 城市名称(需使用英文)
:return: 格式化后的天气信息
"""
data = await WeatherTool.fetch_weather(city)
return WeatherTool.format_weather(data)
@mcp.tool()
async def query_table(table_name: Literal["car_driver", "student_info"]) -> str:
"""
输入指定表名,获取表内的数据。
Args:
table_name: 表名选项:
- car_driver: 司机信息
- student_info: 学生信息表
return: 数据表内容
"""
data = await TableTool.fetch_table_data(table_name)
return data
if __name__ == "__main__":
# 以标准 I/O 方式运行 MCP 服务器
mcp.run(transport='stdio')