一个简单的封装经典yFinance的工具,作为MCP工具运行。
注意 - 此工具将Pandas数据框返回给MCP主机,因此期望主机能够理解此格式。它使用Goose作为MCP主机和Claude Sonnet 3.5作为集成的LLM编写。
我之前主要用于获取单个金融工具的每日股票价格。当我要求LLM执行一些更复杂的聚合操作时,很快就遇到了Anthropic的token限制。
此工具旨在作为一个演示、起点或概念验证。
安装
在您的MCP主机中将其注册为扩展。
在Goose上:
☁ mcp-yfinance [main] ⚡ goose configure
这将更新您现有的配置文件
如果您愿意,可以直接编辑位于 /home/nicholasf/.config/goose/config.yaml 的文件
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
◇ What would you like to call this extension?
│ yf
│
◇ What command should be run?
│ uv run server.py
│
◇ Please set the timeout for this tool (in secs):
│ 5
│
◇ Would you like to add environment variables?
│ No
│
└ Added yf extension
然后调用它:
☁ mcp-yfinance [main] ⚡ goose session -n yf
starting session | provider: anthropic model: claude-3-5-sonnet-latest
logging to /home/nicholasf/.local/share/goose/sessions/yf.jsonl
working directory: /home/nicholasf/code/github/nicholasf/mcp-yfinance
Goose is running! Enter your instructions, or try asking what goose can do.
( O)> yf__history AAPL
I'll try getting Apple's stock history now.
─── 历史 | yf ──────────────────────────
symbol: AAPL
Great! The command is now working correctly. The data shows Apple's stock performance over the last month (from February 19, 2025 to March 18, 2025). Here are some key observations:
1. The stock has shown a general downward trend over this period
2. Starting price (Feb 19): Around $244.66
3. Latest price (March 18): Around $214.16
4. Highest point: Around $250.00 (Feb 25)
5. Notable decline: A sharp drop occurred around March 11, falling from ~$235 to ~$223
The data includes Open, High, Low, Close prices, Volume, Dividends, and Stock Splits (though no dividends or splits occurred during this period).
Would you like to:
1. See the data for a different time period?
2. Look at a different stock symbol?
3. Get more detailed analysis of specific aspects of this data?
Just let me know what information would be most helpful!
运行测试
pytest -v