使用说明
📘MCP库存工具服务器
轻量级 模型上下文协议(MCP) 服务器构建于 FastMCP,提供AI可访问的提取工具 实时的 和 历史库存数据 从 Finnhub 和 十二数据.
🚀 特性
- 🔹 实时股票报价 来自Finnhub
- 🔹 历史每日股票价格 来自十二个数据(可按月配置)
- 🔹 FastMCP兼容 --易于与LLM和AI客户端集成
- 🔹 HTTP/SSE传输 支持
- 🔹 易于在本地运行或在生产中部署
🧩 技术栈
| 组件 | 描述 |
|---|---|
| FastMCP | 轻量级MCP服务器框架 |
| Python 3.9+ | 核心运行时 |
| 请求: | 用于调用外部股票API |
| HTTP传输(SSE) | 启用远程MCP客户端连接 |
⚙️ 安装
1.️⃣ 克隆存储库
git clone https://github.com/your-username/mcp-stock-tools.git
cd mcp-stock-tools
2.️⃣ 安装依赖项
pip install fastmcp requests
3.️⃣ 设置API密钥
您需要来自的免费API密钥 Finnhub.io 和 TwelveData.com.
macOS/Linux:
export FINNHUB_API_KEY=your_finnhub_api_key
export TWELVEDATA_API_KEY=your_twelvedata_api_key
Windows(PowerShell):
setx FINNHUB_API_KEY "your_finnhub_api_key"
setx TWELVEDATA_API_KEY "your_twelvedata_api_key"
▶️ 运行服务器
python server.py
如果成功,您将看到:
Starting MCP server on http://127.0.0.1:8000/mcp
这将运行一个基于HTTP的MCP服务器 两个工具:
fetch_finnhub_quote--Finnhub的实时价格fetch_twelve_data_history--Twelve Data的每日价格历史
💡 MCP工具示例
fetch_finnhub_quote
获取最新的股票价格。
result = await client.call_tool("fetch_finnhub_quote", {"symbol": "AAPL"})
输出:
{
"c": 189.7,
"h": 190.5,
"l": 188.2,
"o": 189.1,
"pc": 188.8,
"t": 1731498361
}
fetch_twelve_data_history
获取过去N个月(1-12)的历史每日数据。
result = await client.call_tool("fetch_twelve_data_history", {"symbol": "AAPL", "months": 3})
输出(截断):
{
"meta": {...},
"values": [
{"datetime": "2025-11-11", "open": "189.5", "close": "190.1", "high": "191.0", "low": "188.9"},
...
]
}
🧠 客户端示例
您可以使用FastMCP客户端测试您的服务器:client.py
运行它:
python client.py
🧪 调试/开发技巧
- 📝 日志打印到控制台,便于调试
- ❌ 如果您看到“API错误”,请检查您的API密钥限制或连接
- 🔌 您可以连接任何兼容MCP的LLM或应用程序(例如Claude Desktop)
🔒 环境变量
| 名称 | 描述 | 必填 |
|---|---|---|
FINNHUB_API_KEY |
的API密钥 Finhub.io | ✅ |
TWELVEDATA_API_KEY |
的API密钥 twelveda.com | ✅ |
📜 许可证
麻省 理工 学院 执照© 2025年[导演:卡里姆·伊万] 该项目用于教育和研究目的。