get_income_statementsLABSCO SUMMARY
Fundamentals the model can reason over, not screenshots of them.
The three statement tools are what lift this above a price feed: an agent can pull an income statement and a balance sheet for the same ticker and compare them without anyone exporting a spreadsheet. Crypto has its own set, with get_available_crypto_tickers to find out what is covered before you ask for a price.
What it is
A Python server over the Financial Datasets API, covering company fundamentals, stock prices, company news and crypto prices.
What you get
- get_income_statements, get_balance_sheets and get_cash_flow_statements for a company's three core statements
- get_current_stock_price for the latest price, get_historical_stock_prices for the series
- get_company_news
- get_available_crypto_tickers for what is covered on the crypto side
- get_current_crypto_price, get_crypto_prices and get_historical_crypto_prices
Requirements
Python 3.10 or newer and the uv package manager. A Financial Datasets API key goes in a .env file copied from .env.example; the server runs with uv run server.py.
Setup effort
Build from source — git clone https://github.com/financial-datasets/mcp-server
USE CASES
Checking whether a company's profit is turning into cash
Pull the income statement and the cash flow statement for the same periods and read them side by side.
Seeing how leveraged a business is before a conversation about it
Fetch the balance sheet and look at what is owed against what is held.
Explaining why a stock moved
Put the historical price series next to the company news for the same window.
Quoting a current price mid-conversation
Ask for the latest price for a ticker without switching to a chart.
Working with crypto rather than equities
List the tickers the API covers, then take the current price or the history for one.
10 tools
Listed in project docs. Your client may show a different list.
get_balance_sheetsget_cash_flow_statementsget_current_stock_priceget_historical_stock_pricesget_company_newsget_available_crypto_tickersget_crypto_pricesget_historical_crypto_pricesget_current_crypto_priceBEFORE YOU INSTALL
What to know first
Tools you get
10 tools named in the project's documentation. All tools only read. get_crypto_prices and get_historical_crypto_prices share an identical description, so one may be a duplicate.
Requires
- Python 3.10 or later
- FINANCIAL_DATASETS_API_KEY in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/financial-datasets/mcp-server
cd mcp-server
uv venv
source .venv/bin/activate
uv add "mcp[cli]" httpx
cp .env.example .envOpen .env and set your key:
FINANCIAL_DATASETS_API_KEY=<YOUR_FINANCIAL_DATASETS_API_KEY>MCP Clients
Claude Desktop
{
"mcpServers": {
"financial-datasets": {
"command": "<YOUR_PATH_TO_UV>",
"args": [
"--directory",
"<YOUR_PATH_TO_FINANCIAL_DATASETS_MCP>",
"run",
"server.py"
]
}
}
}<YOUR_PATH_TO_UV> is the output of which uv, and <YOUR_PATH_TO_FINANCIAL_DATASETS_MCP> is the absolute path of the mcp-server folder the clone step created.
The configuration on this page does not set FINANCIAL_DATASETS_API_KEY; the project's instructions put it in a .env file. Check which folder the server reads that file from before you rely on it.