Alpaca MCP Gold Standard
Un servidor para interactuar con la API de trading de Alpaca. Requiere credenciales de API a través de variables de entorno.
Documentación
Alpaca MCP Gold Standard
Una implementación integral de la arquitectura definitiva del servidor MCP (Model Context Protocol) para operaciones de trading profesionales, logrando un 100% de cumplimiento con los patrones de estándar de oro documentados en la arquitectura de referencia de Quick Data MCP.
🏆 ¿Qué Hace que Esto Sea el Estándar de Oro?
Esta implementación representa la referencia definitiva para el desarrollo profesional de MCP, implementando los 7 patrones arquitectónicos principales con más de 50 herramientas que abarcan operaciones de trading, análisis avanzado y capacidades universales de análisis de datos.
📊 Métricas de Implementación
- 31 Herramientas MCP: Cobertura completa de operaciones de trading
- 11 Espejos de Recursos: Compatibilidad universal con clientes
- 4 Prompts de Contexto: Guía inteligente de conversación
- 7/7 Patrones de Arquitectura: 100% de cumplimiento con el estándar de oro
- Más de 50 Capacidades Totales: Plataforma de trading integral
- 91 Pruebas de API Reales: 100% de tasa de aprobación con integración real de Alpaca API
🎯 Patrones de Arquitectura del Estándar de Oro
1. Descubrimiento Adaptativo ✅
Clasifica automáticamente acciones y posiciones con asignación inteligente de roles:
- Candidatos de Crecimiento: Acciones con indicadores de impulso positivo
- Activos Volátiles: Posiciones de alta volatilidad que requieren monitoreo activo
- Generadores de Ingresos: Posiciones de dividendos o retorno estable
- Instrumentos de Cobertura: Activos de gestión de riesgos y protección de cartera
- Jugadas Especulativas: Oportunidades de alto riesgo y alta recompensa
2. Patrón de Espejo de Recursos ✅
Compatibilidad universal con CUALQUIER cliente MCP:
- 11 herramientas espejo proporcionan funcionalidad idéntica a los recursos
- Cero sobrecarga de mantenimiento mediante envoltura de funciones
- Respaldo sin interrupciones para clientes solo de herramientas
- Ruta de migración a prueba de futuro
3. Prompts Conscientes del Contexto ✅
Iniciadores de conversación que hacen referencia a su cartera real:
portfolio_first_look- Analiza sus tenencias específicastrading_strategy_workshop- Personalizado según la composición de su carteramarket_analysis_session- Enfocado en sus símbolos rastreadoslist_mcp_capabilities- Guía completa de funciones
4. Ejecución Segura de Código Personalizado ✅
Ejecute análisis personalizados con aislamiento de subprocesos:
- Estrategias de Trading: Ejecute algoritmos personalizados con contexto de cartera
- Optimización de Cartera: Optimización avanzada con parámetros de riesgo
- Análisis de Riesgo: Métricas y cálculos de riesgo personalizados
- Analítica Universal: Funciona con CUALQUIER estructura de datos
- Protección de tiempo de espera de 30 segundos con manejo integral de errores
5. Herramientas de Análisis Avanzado ✅
Inteligencia sofisticada de cartera:
- Evaluación de Salud de Cartera: Sistema de puntuación de 100 puntos
- Análisis de diversificación
- Métricas de concentración de riesgo
- Evaluación del equilibrio de rendimiento
- Recomendaciones accionables con herramientas específicas
- Análisis de Correlación de Mercado: Matrices de correlación de 30 días
- Identificar posiciones sobre-correlacionadas
- Puntuación de diversificación
- Perspectivas y recomendaciones de riesgo
6. Agnosticismo Universal de Datos ✅
Más allá del trading: funciona con CUALQUIER dato estructurado:
- Auto-descubre tipos de columnas y relaciones
- Herramientas genéricas de correlación y segmentación
- Capacidades de visualización adaptativa
- Patrones de integración entre conjuntos de datos
7. Manejo Consistente de Errores ✅
Gestión de errores de nivel profesional:
{
"status": "error",
"message": "Human-readable error description",
"error_type": "ExceptionType",
"metadata": {"context": "additional_info"}
}
🚀 Inicio Rápido
Requisitos Previos
- Python 3.12+
- Administrador de paquetes uv
- Cuenta de trading de Alpaca (trading en papel compatible)
Instalación
# Clone and setup
git clone <repository>
cd alpaca-mcp-gold-standard
# Install dependencies
uv sync
# Configure environment
cp .env.example .env
# Edit .env with your Alpaca API credentials
Ejecutar el Servidor
# Development mode
uv run python main.py
# Debug mode with verbose logging
LOG_LEVEL=DEBUG uv run python main.py
# Production mode with Docker
docker build -t alpaca-mcp-gold .
docker run -p 8000:8000 --env-file .env alpaca-mcp-gold
Pruebas
# Run all tests with coverage
uv run pytest tests/ -v --cov=src --cov-report=term-missing
# Test specific gold standard patterns
uv run pytest tests/test_resource_mirrors.py -v # Resource mirror pattern
uv run pytest tests/test_state_management.py -v # State management
uv run pytest tests/test_integration.py -v # Full workflows
📋 Configuración del Cliente MCP
Para Claude Desktop
Agregue a su configuración de Claude:
{
"mcpServers": {
"alpaca-trading-gold": {
"command": "/path/to/uv",
"args": [
"--directory",
"/absolute/path/to/alpaca-mcp-gold-standard",
"run",
"python",
"main.py"
],
"env": {
"LOG_LEVEL": "INFO"
}
}
}
}
🛠️ Catálogo Completo de Herramientas
Gestión de Cuenta y Cartera (4 herramientas)
get_account_info_tool()- Estado de cuenta en tiempo real con perspectivas de carteraget_positions_tool()- Tenencias con clasificación adaptativa de rolesget_open_position_tool(symbol)- Detalles de posición específicaget_portfolio_summary_tool()- Análisis integral con sugerencias de IA
Datos de Mercado e Investigación (4 herramientas)
get_stock_quote_tool(symbol)- Cotizaciones en tiempo real con análisis de spreadget_stock_trade_tool(symbol)- Información de la última operaciónget_stock_snapshot_tool(symbols)- Datos completos de mercado con volatilidadget_historical_bars_tool(symbol, timeframe)- Datos históricos OHLCV
Gestión de Órdenes (5 herramientas)
place_market_order_tool(symbol, side, quantity)- Ejecución inmediataplace_limit_order_tool(symbol, side, quantity, price)- Fijación de precios objetivoplace_stop_loss_order_tool(symbol, side, quantity, stop_price)- Gestión de riesgosget_orders_tool(status, limit)- Historial y seguimiento de órdenescancel_order_tool(order_id)- Cancelación de órdenes
Ejecución de Estrategias Personalizadas (3 herramientas)
execute_custom_trading_strategy_tool(code, symbols)- Ejecutar algoritmos personalizadosexecute_portfolio_optimization_strategy_tool(code, risk_tolerance)- Optimizar tenenciasexecute_risk_analysis_strategy_tool(code, benchmarks)- Analítica de riesgos
Análisis Avanzado (2 herramientas)
generate_portfolio_health_assessment_tool()- Puntuación de salud de 100 puntosgenerate_advanced_market_correlation_analysis_tool(symbols)- Matrices de correlación
Analítica Universal (2 herramientas)
execute_custom_analytics_code_tool(dataset, code)- Análisis de cualquier conjunto de datoscreate_sample_dataset_from_portfolio_tool()- Convertir cartera a conjunto de datos
Espejos de Recursos (11 herramientas)
Cada recurso tiene una herramienta correspondiente para compatibilidad universal:
resource_account_info_tool()→trading://account/inforesource_portfolio_summary_tool()→trading://portfolio/summary- Y 9 herramientas espejo más...
Herramientas de Utilidad (1 herramienta)
clear_portfolio_state_tool()- Restablecer estado para pruebas
🏗️ Resumen de Arquitectura
src/mcp_server/
├── config/ # Environment-based configuration
│ ├── settings.py # Pydantic settings management
│ └── simple_settings.py # Simplified config loader
├── models/ # Core business logic
│ ├── schemas.py # Entity classification & state management
│ └── alpaca_clients.py # Singleton API client management
├── tools/ # 31 MCP tools by category
│ ├── account_tools.py # Account operations
│ ├── market_data_tools.py # Market data access
│ ├── order_management_tools.py # Trading operations
│ ├── custom_strategy_execution.py # Safe code execution
│ ├── advanced_analysis_tools.py # Portfolio analytics
│ ├── execute_custom_analytics_code_tool.py # Universal analytics
│ └── resource_mirror_tools.py # Compatibility layer
├── resources/ # URI-based data access
│ └── trading_resources.py # trading:// scheme handlers
├── prompts/ # Context-aware conversations
│ └── trading_prompts.py # 4 adaptive prompt generators
└── server.py # FastMCP registration (31 tools)
🧪 Excelencia en Pruebas
Suite Integral de Pruebas
tests/
├── conftest.py # Mock Alpaca API & fixtures
├── test_account_tools.py # Account operation tests
├── test_market_data_tools.py # Market data tests
├── test_order_management_tools.py # Order operation tests
├── test_resources.py # Resource URI tests
├── test_resource_mirrors.py # Mirror consistency validation
├── test_state_management.py # Memory & state tests
└── test_integration.py # Complete workflow tests
Los Accesorios de Prueba Proporcionan
- Limpieza automática de estado entre pruebas
- Alpaca API simulada con respuestas realistas
- Funciones auxiliares para validación de respuestas
- Seguimiento del uso de memoria
💡 Innovaciones Clave
1. Clasificación de Roles de Entidades
Cada acción/posición se clasifica inteligentemente:
entity = EntityInfo(
symbol="AAPL",
suggested_role=EntityRole.GROWTH_CANDIDATE,
characteristics=["high_momentum", "tech_sector", "large_cap"],
confidence_score=0.85
)
2. Gestión de Estado Eficiente en Memoria
# Automatic cleanup and tracking
StateManager.add_symbol("AAPL", entity_info)
memory_usage = StateManager.get_memory_usage() # Returns MB used
StateManager.clear_all() # Clean slate
3. Patrón de Aislamiento de Subprocesos
# Safe execution with timeout
async def execute_custom_code(code: str) -> str:
process = await asyncio.create_subprocess_exec(
'uv', 'run', '--with', 'pandas', '--with', 'numpy',
'python', '-c', execution_code,
stdout=asyncio.subprocess.PIPE,
stderr=asyncio.subprocess.STDOUT
)
stdout, _ = await asyncio.wait_for(process.communicate(), timeout=30)
4. Perspectivas Adaptativas de Cartera
# Context-aware suggestions based on actual holdings
"Your portfolio shows high concentration in tech stocks (65%).
Consider diversifying with healthcare or consumer staples for
better risk balance. Use get_stock_snapshot('JNJ,PG,KO') to
research defensive positions."
📊 Rendimiento y Monitoreo
- Tiempos de Respuesta: Promedio <100ms para operaciones de datos
- Uso de Memoria: ~50MB en reposo, ~200MB con cartera completa cargada
- Tiempo de Espera de Subprocesos: Protección de 30 segundos para código personalizado
- Monitoreo de Salud: Verificaciones continuas de conexión con Alpaca API
- Seguimiento de Estado: Monitoreo del uso de memoria en tiempo real
🔧 Guía de Desarrollo
Agregar Nuevas Herramientas
- Cree la función en el
tools/category_tools.pyapropiado - Siga el formato de respuesta estándar:
async def your_new_tool(param: str) -> Dict[str, Any]: try: # Implementation return { "status": "success", "data": result_data, "metadata": {"operation": "your_new_tool"} } except Exception as e: return { "status": "error", "message": str(e), "error_type": type(e).__name__ } - Regístrese en
server.pycon el decorador@mcp.tool() - Agregue pruebas integrales
- Actualice la documentación
Estándares de Calidad de Código
# Format code
uv run black src/ tests/
# Lint code
uv run ruff check src/ tests/
# Type checking
uv run mypy src/
# Run all quality checks
uv run black src/ tests/ && uv run ruff check src/ tests/ && uv run mypy src/
🔒 Mejores Prácticas de Seguridad
- Gestión de Credenciales: Solo variables de entorno
- Validación de Entradas: Modelos Pydantic para todas las entradas
- Sanitización de Errores: Sin credenciales en mensajes de error
- Aislamiento de Subprocesos: El código no confiable se ejecuta en sandbox
- Limitación de Tasa de API: Manejo integrado de límites de tasa de Alpaca
📚 Estructura de Documentación
- README.md: Esta guía integral
- CLAUDE.md: Guía para el desarrollo con Claude Code
- ai_docs/: Referencias optimizadas para IA
alpaca_py_sdk_reference.md- Guía del SDK de Alpacamcp_server_sdk_reference.md- Guía de patrones MCP
- specs/: Especificaciones arquitectónicas
architecture_overview.md- Patrones del estándar de orocustom_analytic_code.md- Diseño de subprocesospoc_init_generic.md- Patrones universalesresource_workaround.md- Patrón de espejo
- .claude/commands/: Flujos de trabajo de desarrollo
- Patrones de implementación paralela
- Marcos de validación
🚢 Despliegue en Producción
Despliegue con Docker
# Build production image
docker build -t alpaca-mcp-gold .
# Run with environment file
docker run -d \
--name alpaca-mcp \
-p 8000:8000 \
--env-file .env \
--restart unless-stopped \
alpaca-mcp-gold
Variables de Entorno
# Required
ALPACA_API_KEY=your_api_key
ALPACA_SECRET_KEY=your_secret_key
# Optional
ALPACA_PAPER_TRADE=True # Use paper trading (recommended)
LOG_LEVEL=INFO # Logging verbosity
MCP_SERVER_NAME=alpaca-trading-gold
🤝 Contribuciones
Este proyecto sirve como referencia de estándar de oro para el desarrollo de MCP. Al contribuir:
- Siga los Patrones de Arquitectura: Mantenga los 7 patrones del estándar de oro
- Pruebas Integrales: Cobertura mínima del 80% para código nuevo
- Documentación: Actualice los documentos relevantes para nuevas funciones
- Consistencia: Iguale el estilo y los patrones de código existentes
- Lista de Verificación de Revisión:
- Las pruebas pasan con cobertura
- Los espejos de recursos se actualizan si es necesario
- El manejo de errores sigue el formato estándar
- Documentación actualizada
- Sugerencias de tipo incluidas
🌟 Por Qué Esta Implementación Importa
Este no es solo otro servidor MCP: es una clase magistral de arquitectura de software:
- Implementación de Referencia: Demuestra cada mejor práctica de MCP
- Listo para Producción: Manejo integral de errores, monitoreo y pruebas
- Patrones Universales: Técnicas aplicables a CUALQUIER dominio
- Valor Educativo: Aprenda patrones profesionales de desarrollo MCP
- Base Extensible: Fácil de adaptar para otros casos de uso
📈 Mejoras Futuras
La arquitectura está diseñada para expansión:
- Transmisión de datos de mercado en tiempo real por WebSocket
- Algoritmos avanzados de optimización de cartera
- Soporte para gestión de múltiples cuentas
- Marco de backtesting de estrategias de trading
- Integración con corredores adicionales
- Perspectivas impulsadas por aprendizaje automático
📄 Licencia
Este proyecto está licenciado bajo los mismos términos que el servidor MCP original de Alpaca.
🙏 Agradecimientos
Construido sobre la base del servidor MCP original de Alpaca, implementando las mejores prácticas integrales documentadas en el análisis del repositorio principal de patrones MCP de estándar de oro. Agradecimientos especiales a las comunidades de MCP y Alpaca por su excelente documentación y herramientas.
Esta es la implementación de referencia definitiva para el desarrollo profesional de MCP. Ya sea que esté construyendo sistemas de trading, plataformas de análisis de datos o cualquier otra aplicación impulsada por MCP, este código demuestra los patrones y prácticas que conducen a sistemas listos para producción, mantenibles y extensibles.