About Mcp Yfinance
Mcp Yfinance wraps a yFinance ticker-history call as an MCP tool, intended for MCP host users who want historical prices for individual instruments. It returns a Pandas DataFrame; the README notes that complex aggregations may run into token limits.
Key features
- 01Wraps yFinance history calls
- 02Returns a Pandas DataFrame
- 03Registers as an MCP host extension
Use cases
- 01Fetch daily prices for an instrument
- 02Call the history tool from an MCP host
MCP support
The project exposes a yFinance history call as a tool for MCP hosts. Its output is a Pandas DataFrame, which the host must be able to understand.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEA simple wrapper around the classic yFinance that operates as an MCP tool.
Note - this tool passes back a Pandas Dataframe to the MCP host, so it expects that to be understood by the host. It was written using Goose as the MCP Host and Claude Sonnet 3.5 as the integrated LLM.
I've so far used it to fetch daily stock prices for individual instruments. When I've asked the LLM to perform some more advanced aggregations I've quickly hit token limits from Anthropic.
This tool is meant as a demo, starting point or a proof of concept.
Install
Register it as an extension in your MCP host.
On goose:
☁ mcp-yfinance [main] ⚡ goose configure
This will update your existing config file
if you prefer, you can edit it directly at /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
Then invoke it:
☁ 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.
─── history | 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!
Running tests
pytest -v
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.