Finance MCP Server
A Model Context Protocol (MCP) server that provides financial data for LLMs. This server specifically fetches financial statements (Income Statement, Balance Sheet, Cash Flow) for public companies.
Features
- Free to use: No API keys required.
- Structured Data: Returns data in consistent Pydantic models (JSON schema).
- Easy Integration: Works with any MCP-compliant client (Claude Desktop, Cursor, etc.).
Data Source
This package retrieves financial data from Yahoo Finance using the yfinance library.
Note: This tool is for educational and research purposes. Please respect Yahoo Finance's terms of service.
Installation & Usage
Option 1: Quick Use with uvx (Recommended)
You can run this server directly without standard installation using uv (or uvx).
Add this to your MCP settings configuration (e.g., ~/.config/Claude/claude_desktop_config.json or your IDE's MCP config):
{
"mcpServers": {
"finance": {
"command": "uvx",
"args": [
"finance-mcp-free"
]
}
}
}
Option 2: Local Development (Git Clone)
If you want to modify the code or run it locally:
-
Clone the repository:
git clone https://github.com/ryar001/finance_mcp.git cd finance_mcp
-
Install dependencies:
# Using uv (recommended) uv venv source .venv/bin/activate uv sync # Or using pip pip install -e .
-
Run the server:
# Run directly finance-mcp # Or via fastmcp dev for auto-reload fastmcp dev finance_mcp/main_mcp.py:mcp_server
Data Models
The server returns data structured according to strict Pydantic models to ensure reliability for your LLM.
Example Return Format
All financial statements return a dictionary where keys are dates and values are the statement object.
Income Statement Example:
{
"30/09/2023": {
"ticker": "AAPL",
"period": "30/09/2023",
"total_revenue": 89498000000,
"net_income": 22956000000,
"cost_of_revenue": 49071000000,
"gross_profit": 40427000000,
"operating_expenses": 13458000000,
"operating_income": 26969000000,
...
}
}
The data is strictly typed to ensure your LLM can reliably query fields like total_revenue, net_income, etc.
Metadata
Release files for finance-mcp-free 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| finance_mcp_free-0.1.3.tar.gz | 212.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| finance_mcp_free-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 238.1 kB
Release files / finance_mcp_free-0.1.3.tar.gz
| Download URL | finance_mcp_free-0.1.3.tar.gz |
|---|---|
| Size | 212.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
87061050d668c3d296be7b0fdaf16870f27c245976b7d141cba606629f02f25e
|
|
BLAKE2b-256 checksum How to use checksums |
214302f3aed5973587a886f85c18c0834a7f5cfa314ac52c5ad33818ec322bf6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.9
|
Release files / finance_mcp_free-0.1.3-py3-none-any.whl
| Download URL | finance_mcp_free-0.1.3-py3-none-any.whl |
|---|---|
| Size | 25.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dca435f7aee1c81b12519398d2aecf7af2a55f0d69cbd3d12cc1fb88fe498418
|
|
BLAKE2b-256 checksum How to use checksums |
e07ea92871c0b478b945fcab519359a2e6619b87dbb1d22a2fb716a676b1a3b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.9
|