mcp-finance-server

mcp-finance-server

MCP server that provides real-time stock quotes and company summaries using the Alpha Vantage API. It enables natural language financial data queries in Claude Desktop and other MCP clients.

Category
Visit Server

README

mcp-finance-server

Servidor MCP (Model Context Protocol) que expone herramientas de datos financieros usando la API de Alpha Vantage. Permite que Claude Desktop u otros clientes MCP consulten cotizaciones bursátiles y datos de empresas directamente en una conversación natural, sin salir del chat.

Qué es MCP

Model Context Protocol (MCP) es un estándar abierto que permite conectar modelos de lenguaje como Claude con herramientas y fuentes de datos externas de forma estructurada. Un servidor MCP expone un conjunto de "herramientas" (funciones) que el cliente (por ejemplo, Claude Desktop) puede invocar durante la conversación, pasándole argumentos y recibiendo resultados de vuelta. Esto evita tener que copiar y pegar datos manualmente: el modelo decide cuándo llamar a la herramienta según lo que el usuario le pida.

Herramientas expuestas

obtener_precio_actual(ticker: str)

Consulta el endpoint GLOBAL_QUOTE de Alpha Vantage y devuelve el precio actual, la variación y el porcentaje de cambio de un ticker.

Ejemplo de uso (en una conversación con Claude Desktop):

Usuario: ¿A cuánto cotiza AAPL ahora mismo?

Claude (llama a obtener_precio_actual("AAPL")):

Cotización de AAPL:
Precio actual: 311.0000 USD
Variación: 1.6200
Cambio porcentual: 0.5236%

obtener_resumen_empresa(ticker: str)

Consulta el endpoint OVERVIEW de Alpha Vantage y devuelve nombre, sector, industria, capitalización de mercado y una breve descripción de la empresa.

Ejemplo de uso:

Usuario: Dame un resumen de la empresa detrás del ticker MSFT.

Claude (llama a obtener_resumen_empresa("MSFT")):

Resumen de Microsoft Corporation (MSFT):
Sector: TECHNOLOGY
Industria: SERVICES-PREPACKAGED SOFTWARE
Capitalización de mercado: 3120000000000
Descripción: Microsoft Corporation is an American multinational technology company...

Cómo instalarlo y conectarlo

1. Instalar dependencias

cd mcp-finance-server
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

2. Configurar la API key

Copia .env.example a .env y añade tu clave de Alpha Vantage (gratuita en alphavantage.co/support/#api-key):

cp .env.example .env
ALPHA_VANTAGE_API_KEY=tu-clave-real-aqui

3. Probarlo localmente (sin cliente MCP)

python main.py test AAPL

Esto ejecuta ambas herramientas directamente y muestra el resultado por consola, útil para verificar que la key funciona antes de conectar un cliente.

4. Añadirlo a Claude Desktop

Edita el archivo de configuración de Claude Desktop (claude_desktop_config.json) y añade el servidor dentro de mcpServers, usando la ruta absoluta al Python del entorno virtual y al main.py:

{
  "mcpServers": {
    "finance-server": {
      "command": "/ruta/absoluta/a/mcp-finance-server/venv/bin/python",
      "args": [
        "/ruta/absoluta/a/mcp-finance-server/main.py"
      ]
    }
  }
}

Reinicia Claude Desktop tras guardar el archivo. Las herramientas obtener_precio_actual y obtener_resumen_empresa aparecerán disponibles en la conversación.

Limitaciones

  • El plan gratuito de Alpha Vantage limita las peticiones a 25 al día (y 1 por segundo). Al superarlo, la API no devuelve un error HTTP, sino un JSON 200 OK con una clave Note o Information explicando el límite.
  • Ambas herramientas detectan estas respuestas (Error Message, Note, Information) y devuelven un mensaje legible en vez de fallar o devolver un JSON crudo, para que el cliente MCP pueda mostrárselo al usuario de forma clara.
  • No hay caché ni reintentos automáticos: cada llamada consume una petición de la cuota diaria.

Qué aprendí

Al probar el servidor conectado desde Claude Desktop (en vez del modo test local), config.py fallaba al no encontrar la variable ALPHA_VANTAGE_API_KEY pese a que el .env existía en la carpeta del proyecto. La causa: load_dotenv() sin argumentos busca el archivo .env en el directorio de trabajo actual del proceso, no en la carpeta donde vive el script. Claude Desktop lanza el proceso con su propio directorio de trabajo (no el del proyecto), así que la búsqueda relativa fallaba silenciosamente.

La solución fue anclar la ruta del .env a la ubicación del propio archivo config.py, independientemente de desde dónde se invoque el script:

from pathlib import Path
from dotenv import load_dotenv

load_dotenv(Path(__file__).parent / ".env")

Lección general: cualquier script pensado para ser lanzado por un proceso externo (un cliente MCP, un cron, un servicio) no debe asumir nada sobre el directorio de trabajo actual — todas las rutas a archivos propios del proyecto deben resolverse de forma absoluta a partir de __file__.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured