Yahoo Finance
Um servidor MCP para consultar dados do Yahoo Finance usando a biblioteca yfinance.
Documentação
Servidor MCP do Yahoo Finance
Este projeto fornece um servidor Model Context Protocol (MCP) que expõe várias funções da biblioteca yfinance como ferramentas individuais. Isso permite que um cliente MCP (como o Claude Desktop) consulte dados do Yahoo Finance.
Pré-requisitos
- Python: Certifique-se de ter o Python instalado (Python 3.8+ recomendado).
- uv: Este projeto usa
uvpara gerenciamento de ambiente e pacotes. Se você não o tiver, instale-o seguindo as instruções aqui: https://github.com/astral-sh/uv
Configuração
-
Clone o repositório:
git clone git@github.com:a05031113/yahoo-fianace-mcp.git cd yahoo-finance # Or your repository directory name -
Crie um ambiente virtual: É altamente recomendável usar um ambiente virtual. Crie um usando
uv:uv venvIsso criará um diretório
.venv. -
Ative o ambiente virtual:
- No macOS/Linux:
source .venv/bin/activate - No Windows (Git Bash/WSL):
source .venv/Scripts/activate - No Windows (Prompt de Comando/PowerShell):
.venv\Scripts\activate
Você deve ver
(.venv)no início do prompt do seu terminal. - No macOS/Linux:
-
Instale as dependências: Instale os pacotes Python necessários usando
uv:uv pip install -r requirements.txt
Executando o Servidor
Este servidor se comunica via entrada/saída padrão (stdio), conforme esperado pelo MCP. Para executar o servidor, basta executar o script main.py usando o interpretador Python do seu ambiente virtual ativado:
python main.py
O servidor iniciará e imprimirá mensagens de log no erro padrão (stderr), aguardando solicitações JSON-RPC na entrada padrão (stdin).
Normalmente, você configuraria seu cliente MCP (por exemplo, no arquivo JSON de configurações) para executar este comando:
{
"mcpServers": {
"yahoo_finance_engine": {
"command": "/path/to/your/yahoo-finance/.venv/bin/python", // Adjust path accordingly
"args": [
"/path/to/your/yahoo-finance/main.py" // Adjust path accordingly
]
}
// ... other servers
}
}
O cliente MCP então gerenciará a inicialização e a comunicação com este processo do servidor.
Ferramentas Disponíveis
O servidor expõe os métodos públicos da classe YahooFinance (definida em src/tool.py) como ferramentas MCP individuais. Isso inclui (mas não se limita a):
get_current_stock_price(symbol: str)get_stock_price_by_date(symbol: str, date: str)get_stock_price_date_range(symbol: str, start_date: str, end_date: str)get_historical_stock_prices(symbol: str, period: str = "1mo", interval: str = "1d")get_dividends(symbol: str)get_income_statement(symbol: str, freq: str = "yearly")get_cashflow(symbol: str, freq: str = "yearly")get_balance_sheet(symbol: str, freq: str = "yearly")get_earning_dates(symbol: str, limit: int = 12)get_news(symbol: str)get_company_info(symbol: str)get_splits(symbol: str)get_recommendations(symbol: str)get_analyst_price_targets(symbol: str)get_major_holders(symbol: str)get_institutional_holders(symbol: str)get_mutualfund_holders(symbol: str)get_option_expiration_dates(symbol: str)get_option_chain(symbol: str, date: str)get_sustainability(symbol: str)
Consulte as docstrings em main.py ou src/tool.py para obter detalhes sobre os parâmetros de cada ferramenta.
Certificado pela Revisão MCP. https://mcpreview.com/mcp-servers/a05031113/yahoo-fianace-mcp