PsiAnimator-MCP
Un servidor para simulación y animación de física cuántica, utilizando QuTip para cálculos y Manim para visualizaciones.
Documentación
PsiAnimator-MCP
Servidor de Simulación y Animación de Física Cuántica
Un servidor de Protocolo de Contexto de Modelo (MCP) que integra QuTip (Quantum Toolbox en Python) para cálculos de física cuántica con Manim (Motor de Animación Matemática) para visualización.
Características
- 🔬 Motor de Física Cuántica: Gestión completa de estados, evolución temporal y herramientas de medición
- 🎬 Animaciones Manim: Visualizaciones de calidad de publicación con escenas específicas de cuántica
- 🔌 Integración MCP: Integración perfecta con clientes compatibles con MCP
- 🧮 Computación Científica: Construido sobre NumPy, SciPy y QuTip para precisión
- 📊 Tipos de Visualización: Esferas de Bloch, funciones de Wigner, tomografía de estados, circuitos
- 🎓 Enfoque Educativo: Perfecto para la educación e investigación en mecánica cuántica
Instalación
Instalación Rápida
Opción 1: Instalación de una línea (Unix/macOS)
curl -fsSL https://raw.githubusercontent.com/username/PsiAnimator-MCP/main/scripts/install.sh | bash
Opción 2: PowerShell (Windows)
iwr https://raw.githubusercontent.com/username/PsiAnimator-MCP/main/scripts/install.ps1 | iex
Opción 3: pip (cuando esté disponible en PyPI)
# Core installation (quantum computation only)
pip install psianimator-mcp
# Full installation with animation support
pip install "psianimator-mcp[animation]"
# Development installation
pip install "psianimator-mcp[dev,animation]"
Opción 4: Desde el código fuente
git clone https://github.com/username/PsiAnimator-MCP.git
cd PsiAnimator-MCP
./scripts/install.sh --from-source
Requisitos Previos
- Python ≥ 3.10
- Git (para instalación de desarrollo)
Para funciones de animación:
- LaTeX (para renderizado matemático avanzado)
- FFmpeg (para generación de video)
- Biblioteca gráfica Cairo (para renderizado de alta calidad)
Opciones de Instalación Explicadas
🚀 Instalación Principal (Recomendada para la mayoría de usuarios)
pip install psianimator-mcp
- Incluye todas las funciones de computación cuántica
- Funcionalidad del servidor MCP
- QuTip, NumPy, SciPy para física cuántica
- Funciona inmediatamente sin dependencias del sistema
🎬 Instalación de Animación (Para visualización)
pip install "psianimator-mcp[animation]"
- Todo lo de la instalación principal
- Manim para generar animaciones
- Requiere dependencias del sistema (LaTeX, FFmpeg)
- Mayor tiempo de descarga e instalación
🔧 Instalación de Desarrollo
git clone https://github.com/username/PsiAnimator-MCP.git
cd PsiAnimator-MCP
pip install -e ".[dev,animation]"
Por Qué la Animación es Opcional
Las funciones de animación (Manim) se mantienen opcionales porque:
- Dependencias Pesadas: Manim requiere LaTeX, FFmpeg y Cairo que pueden ocupar varios GB
- Complejidad de Instalación: Las dependencias del sistema pueden fallar en diferentes plataformas
- Separación de Casos de Uso: Muchos usuarios solo necesitan computación cuántica, no visualización
- Fiabilidad de CI/Pruebas: Las funciones principales pueden probarse sin dependencias del sistema
- Espacio en Disco: La instalación principal es ~100MB frente a ~2GB+ con la pila completa de animación
Dependencias
Dependencias principales (instaladas automáticamente):
- QuTip ≥ 4.7.0 (cálculos de física cuántica)
- MCP ≥ 1.0.0 (Protocolo de Contexto de Modelo)
- NumPy, SciPy, matplotlib (computación científica)
- Pydantic, aiohttp (framework web asíncrono)
Dependencias de animación (extras opcionales):
- Manim ≥ 0.18.0 (animaciones matemáticas)
- h5py ≥ 3.9.0 (almacenamiento de datos)
- pandas ≥ 2.0.0 (análisis de datos)
Configuración Posterior a la Instalación
Después de la instalación, ejecute el comando de configuración:
psianimator-mcp setup
Esto:
- Creará el directorio de configuración (
~/.config/psianimator-mcp/) - Copiará el archivo de configuración de ejemplo
- Probará la instalación y mostrará la disponibilidad de funciones
- Proporcionará instrucciones de integración con Claude Desktop
Verificación de la Instalación
Compruebe el estado de su instalación:
python -c "import psianimator_mcp; print(f'✅ Core: OK, Animation: {psianimator_mcp.is_animation_available()}')"
Salidas esperadas:
✅ Core: OK, Animation: True- Instalación completa con animaciones✅ Core: OK, Animation: False- Solo instalación principal
Solución de Problemas
Errores de Importación
# If you get "No module named 'psianimator_mcp'"
pip install psianimator-mcp
# If you get animation-related errors
pip install "psianimator-mcp[animation]"
Dependencias de Animación
# Ubuntu/Debian
sudo apt-get install texlive-latex-base ffmpeg libcairo2-dev
# macOS
brew install mactex ffmpeg cairo
# Windows
# Install MiKTeX, FFmpeg from official websites
Integración con Claude Desktop
Configuración Automática
Genere la configuración de Claude Desktop:
psianimator-mcp claude-config
Configuración Manual
Añada a su archivo de configuración de Claude Desktop:
Windows: %USERPROFILE%\AppData\Roaming\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Linux: ~/.config/claude-desktop/claude_desktop_config.json
{
"mcpServers": {
"psianimator-mcp": {
"command": "python3",
"args": ["-m", "psianimator_mcp.cli", "serve"],
"env": {
"PSIANIMATOR_CONFIG": "~/.config/psianimator-mcp/config.json"
}
}
}
}
Nota: Reinicie Claude Desktop después de los cambios de configuración.
Inicio Rápido
1. Iniciar el Servidor
Predeterminado (sirve mediante protocolo MCP):
psianimator-mcp
Transporte stdio explícitamente:
psianimator-mcp serve --transport stdio
Transporte WebSocket:
psianimator-mcp serve --transport websocket --port 3000
2. Probar la Instalación
psianimator-mcp test
3. Ejemplo de Uso Básico
import asyncio
from psianimator_mcp.tools.quantum_state_tools import create_quantum_state
from psianimator_mcp.tools.measurement_tools import measure_observable
from psianimator_mcp.server.config import MCPConfig
async def basic_example():
config = MCPConfig()
# Create a qubit in |0⟩ state
result = await create_quantum_state({
'state_type': 'pure',
'system_dims': [2],
'parameters': {'state_indices': [0]},
'basis': 'computational'
}, config)
state_id = result['state_id']
# Measure ⟨σz⟩
measurement = await measure_observable({
'state_id': state_id,
'observable': 'sigmaz',
'measurement_type': 'expectation'
}, config)
print(f"⟨σz⟩ = {measurement['measurement_results']['expectation_value']}")
asyncio.run(basic_example())
Herramientas MCP
1. create_quantum_state
Crear estados cuánticos de varios tipos:
- Estados puros: |ψ⟩ (vectores ket)
- Estados mixtos: ρ (matrices de densidad)
- Estados coherentes: |α⟩ (oscilador armónico)
- Estados comprimidos: incertidumbre reducida
- Estados térmicos: temperatura finita
- Estados de Fock: número de fotones definido
2. evolve_quantum_system
Evolución temporal con múltiples métodos:
- Unitario: Ecuación de Schrödinger (sistemas cerrados)
- Ecuación maestra: Forma de Lindblad (sistemas abiertos)
- Monte Carlo: Trayectorias cuánticas
- Estocástico: Medición continua
3. measure_observable
Mediciones y análisis cuánticos:
- Valores esperados: ⟨O⟩
- Varianzas: Δ²O
- Distribuciones de probabilidad: P(resultado)
- Funciones de correlación: ⟨A⟩⟨B⟩
4. animate_quantum_process
Generar animaciones Manim:
- Evolución en esfera de Bloch: Dinámica de qubits
- Funciones de Wigner: Representación en espacio de fases
- Tomografía de estados: Visualización de matriz de densidad
- Ejecución de circuitos: Animación de secuencia de compuertas
- Niveles de energía: Dinámica de poblaciones
5. quantum_gate_sequence
Aplicar compuertas cuánticas con visualización:
- Compuertas de un qubit: Pauli, Hadamard, rotaciones
- Compuertas de dos qubits: CNOT, CZ, SWAP
- Compuertas parametrizadas: RX, RY, RZ con ángulos personalizados
- Visualización de circuitos: Animación paso a paso
6. calculate_entanglement
Calcular medidas de entrelazamiento:
- Entropía de Von Neumann: S(ρ) = -Tr(ρ log ρ)
- Concurrencia: Medida de entrelazamiento de dos qubits
- Negatividad: Criterio de transposición parcial
- Información mutua: I(A:B)
Configuración
Configure mediante variables de entorno o MCPConfig:
from psianimator_mcp.server.config import MCPConfig
config = MCPConfig(
quantum_precision=1e-12,
max_hilbert_dimension=1024,
animation_cache_size=100,
output_directory="./output",
render_backend="cairo"
)
Variables de Entorno
Configure PsiAnimator-MCP mediante variables de entorno:
Configuración del Servidor:
PSIANIMATOR_CONFIG- Ruta al archivo de configuraciónPSIANIMATOR_TRANSPORT- Protocolo de transporte (stdio/websocket)PSIANIMATOR_HOST- Host para transporte WebSocketPSIANIMATOR_PORT- Puerto para transporte WebSocket
Configuración Cuántica:
PSIANIMATOR_QUANTUM_PRECISION- Precisión de computación cuánticaPSIANIMATOR_MAX_HILBERT_DIM- Dimensión máxima del espacio de HilbertPSIANIMATOR_OUTPUT_DIR- Directorio de salida para animaciones
Ejemplo:
export PSIANIMATOR_TRANSPORT=websocket
export PSIANIMATOR_PORT=3001
psianimator-mcp
Comandos CLI
PsiAnimator-MCP proporciona varios comandos CLI:
psianimator-mcp # Start server (default: stdio)
psianimator-mcp serve # Start server with options
psianimator-mcp config # Show current configuration
psianimator-mcp setup # Run post-installation setup
psianimator-mcp test # Test installation
psianimator-mcp claude-config # Generate Claude Desktop config
psianimator-mcp examples # Show usage examples
psianimator-mcp version # Show version
psianimator-mcp --help # Show help
Ejemplos de Comandos
Iniciar con configuración personalizada:
psianimator-mcp serve --config /path/to/config.json
Modo WebSocket:
psianimator-mcp serve --transport websocket --host 0.0.0.0 --port 8080
Registro detallado:
psianimator-mcp serve -vvv
Ejemplos
Se proporcionan ejemplos completos en el directorio examples/:
basic_usage.py- Recorrido por la funcionalidad principal- Creación de estados de Bell y análisis de entrelazamiento
- Evolución de estado coherente del oscilador armónico
- Circuitos cuánticos de múltiples qubits
Ejecutar ejemplos:
python examples/basic_usage.py
Desarrollo
Configurar el Entorno de Desarrollo
git clone https://github.com/username/PsiAnimator-MCP.git
cd PsiAnimator-MCP
pip install -e ".[dev]"
pre-commit install
Ejecutar Pruebas
pytest tests/
Calidad del Código
black src/ tests/
isort src/ tests/
mypy src/
Arquitectura
PsiAnimator-MCP/
├── src/psianimator_mcp/
│ ├── server/ # MCP server implementation
│ ├── quantum/ # Quantum physics engine
│ ├── animation/ # Manim visualization components
│ └── tools/ # MCP tool implementations
├── tests/ # Comprehensive test suite
├── examples/ # Usage examples
└── docs/ # Documentation
Limitaciones
- El renderizado de animaciones requiere suficientes recursos del sistema
- Los espacios de Hilbert grandes (>1024 dimensiones) pueden afectar el rendimiento
- Algunas funciones avanzadas de corrección de errores cuánticos aún no están implementadas
Licencia
Licencia MIT - consulte LICENSE para más detalles.
Contribuciones
¡Agradecemos las contribuciones! Consulte CONTRIBUTING.md para:
- Directrices de desarrollo
- Estándares de código
- Requisitos de prueba
- Proceso de solicitudes de extracción
Soporte
- Documentación: Consulte
docs/API_REFERENCE.md - Ejemplos: Revise el directorio
examples/ - Problemas: Reporte errores mediante los issues de GitHub