使用说明
金融与市场MCP服务器(Python)
脚手架 金融与市场 MCP服务器在 python 使用FastAPI。 该项目公开了LLM可以调用的模块化“工具”,以获取市场数据、加密货币价格、, 汇率、历史价格和计算投资组合价值。
功能包括
- 具有API-key身份验证的基于FastAPI的MCP服务器
- 动态工具加载
src/tools/ - 工具包括:
stock.quote--最新股票报价(使用yfinance)stock.history--自动收报机的历史OHLCV数据crypto.price-当前加密货币价格(CoinGecko公共API)forex.rate-透过汇率计算的汇率。邮政公众APIportfolio.value--根据持有量计算投资组合市场价值
- 调用MCP服务器的示例客户端
run.sh在本地启动服务器
快速入门
- 创建virtualenv并安装:
python -m venv .venv source .venv/bin/activate # or .\.venv\Scripts\activate on Windows pip install -r requirements.txt - 启动服务器:
export MCP_API_KEY=secret123 ./run.sh ./run.bat - 示例:
python example_client.py --api-key secret123 --tool list_tools python example_client.py --api-key secret123 --tool stock.quote --args '{"ticker":"AAPL"}' python example_client.py --api-key secret123 --tool crypto.price --args '{"id":"bitcoin"}'
测试
运行测试
启动服务器后,您可以使用示例客户端测试所有工具:
# 1. Health check (Windows - use .venv\Scripts\python.exe, Linux/Mac - use .venv/bin/python)
.venv\Scripts\python.exe -c "import requests; r = requests.get('http://localhost:8000/health'); print(r.status_code, r.json())"
# 2. List all available tools
python example_client.py --api-key secret123 --tool list_tools
# 3. Test stock quote
python example_client.py --api-key secret123 --tool stock.quote --args '{"ticker":"AAPL"}'
# 4. Test historical stock data
python example_client.py --api-key secret123 --tool stock.history --args '{"ticker":"MSFT","period":"5d"}'
# 5. Test crypto price
python example_client.py --api-key secret123 --tool crypto.price --args '{"id":"bitcoin"}'
# 6. Test forex rates
python example_client.py --api-key secret123 --tool forex.rate --args '{"base":"USD","symbols":"EUR"}'
# 7. Test portfolio value
python example_client.py --api-key secret123 --tool portfolio.value --args '{"holdings":[{"type":"stock","symbol":"AAPL","qty":10},{"type":"crypto","symbol":"bitcoin","qty":0.5}]}'
预期结果
所有命令都应返回状态 200 JSON响应包含:
- 库存报价:当前价格、市值、每日高点/低点
- 股票历史:指定时间段的OHLCV数据数组
- 密码密码:当前价格、市值、24小时变化
- 外汇汇率:货币之间的汇率
- 投资组合价值:总投资组合价值,按持有量细分
注释和安全
yfinance从雅虎金融(没有API密钥)获取数据,CoinGecko是公共的,exchangerate.host是一个免费的API公共费率。- 对于生产环境,添加速率限制、缓存,并限制允许使用哪些外部API。
- 工具在用于查询之前应仔细验证输入。