msty-admin-mcp
Administración impulsada por IA para Msty Studio Desktop. 24 herramientas MCP para información de bases de datos, sincronización de configuración, orquestación de modelos locales y flujos de trabajo de transferencia a Claude.
Documentación
Servidor MCP integral para administrar Msty Studio Desktop 2.9+ con 56 herramientas en 9 fases: detección real de ruta/BD de Studio, inventario de entidades (Context Studio, Knowledge Stacks, Agent Mode, Turnstiles, …), análisis de información, puente Nexus, evaluación Bloom, inferencia local multi-backend y una transferencia de un modelo local al agente Cursor en este Mac.
Requisitos: Python 3.10+, MCP SDK v1.0.0+, psutil 5.9.0+
macOS incluye python3 3.9. Este paquete no se instalará en ese intérprete. Use Homebrew Python 3.12 (o cualquier 3.10+) como se muestra a continuación.
¿Nuevo en Bloom? Salta a la sección Evaluación de comportamiento Bloom o lee la guía completa de Bloom.
Instalación
Inicio rápido
Se requiere Python 3.10 o superior. En macOS, el python3 del sistema es 3.9, así que crea el venv con Homebrew Python:
brew install python@3.12
python3.12 -m venv .venv
source .venv/bin/activate
pip install msty-admin-mcp
msty-admin-mcp # Runs on stdio (default MCP transport)
Si ya tienes Python 3.10+ como python3, python3 -m venv .venv es suficiente. Luego pip install msty-admin-mcp como arriba.
Si pip install msty-admin-mcp no puede encontrar el paquete, instala la versión directamente desde GitHub:
pip install "msty-admin-mcp @ git+https://github.com/M-Pineapple/msty-admin-mcp@v6.1.5"
Con transporte HTTP
pip install "msty-admin-mcp[http]"
msty-admin-mcp --transport streamable-http # Runs on http://localhost:8000
Desde el código fuente
git clone https://github.com/M-Pineapple/msty-admin-mcp
cd msty-admin-mcp
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[test]"
pytest tests/ -v
Este servidor apunta al SDK de Python MCP 1.x (mcp>=1.0.0,<2).
Claude Desktop y Cursor
Después de pip install msty-admin-mcp, el script de consola msty-admin-mcp está en el PATH de ese entorno. Apunta el host hacia él.
Claude Desktop — fusiona en ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"msty-admin": {
"command": "msty-admin-mcp"
}
}
}
Cursor — fusiona en ~/.cursor/mcp.json:
{
"mcpServers": {
"msty-admin": {
"command": "msty-admin-mcp"
}
}
}
Si el host no puede ver el script, establece command a la ruta absoluta de msty-admin-mcp dentro del venv (…/bin/msty-admin-mcp). Reinicia el host después de editar.
El servidor Frontier de una sola herramienta es separado. Consulta Modelo local híbrido y agente Cursor.
Uso
Una vez que el servidor esté registrado con Msty Studio (u otro host MCP), pregunta en lenguaje natural. El host mapea tus palabras a las herramientas.
Salud e instalación
- "Detecta mi instalación de Msty y muestra la versión."
- "Analiza la salud de Msty."
- "¿Cuál es el estado del servidor MCP?"
Inventario de Studio
- "Lista mis personas y knowledge stacks."
- "Muestra todos los espacios de trabajo."
- "Lista las herramientas en mi Toolbox."
- "Exporta un paquete de flujo de trabajo para mi espacio de trabajo actual."
Modelos y servicios locales
- "¿Qué modelos locales están disponibles?"
- "Recomienda un modelo para resumir documentos largos."
- "¿Cuál es el estado de Nexus y qué modelos expone?"
Análisis y Bloom
- "Muestra métricas de rendimiento de modelos desde los insights de Studio."
- "Analiza mis patrones de conversación."
- "Ejecuta una evaluación Bloom de adulación en este modelo."
Transferencia Frontier
Para un chat con modelo local, usa el servidor Frontier de una sola herramienta (consulta Modelo local híbrido y agente Cursor):
- "Pregunta al agente Cursor en este Mac por qué esta vista SwiftUI no se actualiza."
Configuración
Variables de entorno (todas opcionales, con valores predeterminados sensatos):
# Msty installation host
MSTY_HOST=127.0.0.1
# Service backend ports (also read from Studio Gifnoc.nosj when present)
MSTY_AI_PORT=11964 # Local AI (Ollama)
MSTY_MLX_PORT=11973 # MLX service
MSTY_LLAMACPP_PORT=11454 # LLaMA.cpp service
MSTY_VIBE_PORT=8317 # Vibe CLI Proxy
MSTY_NEXUS_PORT=11434 # Msty Nexus OpenAI-compatible gateway
# Service timeout
MSTY_TIMEOUT=10 # Seconds
# Bloom integration (required for Phase 6 tools)
ANTHROPIC_API_KEY=sk-... # Required for Bloom judge model
Arquitectura
Diseño de datos de Studio 2.9+
Msty Studio ya no usa un msty.db de nivel superior. La base de datos SQLite del espacio de trabajo vive bajo la ruta de la API del sistema de archivos Chromium, por ejemplo:
~/Library/Application Support/MstyStudio/
├── Gifnoc.nosj # service config (ports / model paths)
├── models/ models-mlx/
└── File System/000/t/00/00000000 # Drizzle SQLite workspace DB
El MCP detecta automáticamente /Applications/MstyStudio.app, lee la versión del paquete, resuelve el blob SQLite y lo abre en modo de solo lectura.
Descubrimiento de servicios
Msty Studio Desktop
├── Local AI (Ollama) → port 11964
├── MLX → port 11973
├── LLaMA.cpp → port 11454
├── Vibe CLI Proxy → port 8317
└── Msty Nexus (optional) → port 11434
↓
MCP Server (stdio / HTTP)
├── Phase 1: Foundational (6)
├── Phase 2: Configuration (4)
├── Phase 3: Service Integration (11)
├── Phase 4: Intelligence (5)
├── Phase 5: Calibration (4)
├── Phase 6: Bloom Evaluation (6)
├── Phase 7: Studio Inventory (15)
├── Phase 8: Nexus Bridge (4)
└── Phase 9: Frontier handoff (1)
Modelo local híbrido y agente Cursor
Un modelo local hace el trabajo ordinario. Cuando una pregunta lo supera, ese modelo llama a ask_frontier. La herramienta ejecuta el agente Cursor en esta máquina y devuelve la respuesta en el mismo chat de Msty. Un seguimiento reanuda ese chat de Cursor.
Usa un servidor separado de una sola herramienta para el chat con modelo local. El servidor admin completo tiene 56 herramientas. Un modelo pequeño llamará a esas otras herramientas (GitHub, búsqueda, esquema, etc.) en lugar de esperar la respuesta.
Instalación nueva
- Instala este paquete y el CLI del agente Cursor (
cursor-agent). Debe estar en el PATH visto por Msty, o en~/.local/bin/cursor-agent. Inicio de sesión y claves API: Autenticación del CLI de Cursor. - Crea una clave API de usuario en Cursor Dashboard → API Keys. Una clave de administrador no funciona. No confirmes la clave ni la pongas en este repositorio.
- En Msty, agrega un servidor de toolbox llamado Frontier. Desde un checkout del código fuente:
{
"command": "/absolute/path/to/venv/bin/python",
"args": ["-m", "src.frontier_main"],
"env": {
"PYTHONPATH": "/absolute/path/to/msty-admin-mcp",
"CURSOR_API_KEY": "your-user-api-key"
}
}
Después de pip install, el script de consola msty-frontier es el mismo servidor de una sola herramienta. Puedes establecer command a ese script y omitir PYTHONPATH.
- Crea un toolset que contenga solo este servidor Frontier. No pongas GitHub, Brave, Trello ni el servidor admin completo en ese toolset.
- En el chat con modelo local, selecciona ese toolset en el compositor (el control de toolset activo). El toolset almacenado en el chat no es lo que se envía si el compositor aún tiene otro toolset seleccionado.
- Sal de Msty y vuelve a abrirlo después de cualquier cambio de toolbox o entorno.
- Haz una pregunta que el modelo local no pueda responder ya. El éxito es una tarjeta
ask_frontier, luego la respuesta de Cursor debajo. Un párrafo normal sin tarjeta significa que el modelo respondió por sí mismo y no se preguntó a Cursor.
Carpeta de proyecto opcional
Por defecto, el agente Cursor lee una carpeta vacía bajo ~/.msty-admin/frontier-workspace. No puede ver tus repositorios. Para permitirle leer un proyecto, establece:
"MSTY_FRONTIER_WORKSPACE": "/absolute/path/to/that/project"
El modo de pregunta no envía correos, mueve ni elimina archivos, ni usa herramientas de trading. Puede leer esa carpeta.
Actualización desde v6.0.0
El servidor admin no cambia para el inventario de Studio y las otras 55 herramientas. Agrega el servidor Frontier y el toolset de un solo servidor como arriba. No apuntes el chat con modelo local al comando completo msty-admin-mcp.
Advertencias
- El modelo local debe emitir una llamada de herramienta real. Algunos modelos pequeños nunca lo hacen, y entonces ninguna cantidad de "por favor llama a la herramienta" en el mensaje del usuario llegará a Cursor. Un modelo que puede llamar herramientas lo hará. Puede reescribir tu pregunta en un comando de búsqueda. Eso sigue siendo una transferencia exitosa si la tarjeta es
ask_frontiery el texto debajo proviene de Cursor. cursor-agent statuspuede decir "no iniciado sesión" mientras el modo de pregunta aún funciona conCURSOR_API_KEY. El proceso frontier pasa esa variable como--api-key. Uncursor-agent loginde navegador en tu terminal no siempre es visible para el proceso que Msty inicia.- Varias llamadas
ask_frontieren una respuesta comparten la primera respuesta de Cursor. No inician cada una un chat nuevo. - El último id de chat de Cursor se almacena en
~/.msty-admin/frontier-session.json(modo0600). Elimina ese archivo para iniciar un chat de Cursor nuevo. identify_handoff_triggerssolo puntúa velocidad y latencia pasadas. No envía la pregunta.
Resumen de herramientas (56 en total)
Fase 1: Fundamental (6)
detect_msty_installation— app, versión, ruta de BD, puertosread_msty_database—stats/tables/ SQL de solo lectura- En SQL de solo lectura, las columnas de credenciales (clave, token, secreto, contraseña, nombres de auth y encabezados, URL, columnas de config/JSON y línea de comandos) siempre se leen como NULL. Los secretos escritos en columnas de texto libre arbitrarias, como un mensaje de chat o una nota, están fuera del alcance de esta herramienta.
list_configured_tools— herramientas MCP del Toolboxget_model_providers— servicios + proveedores de Studio (claves redactadas)analyse_msty_health— instalación + BD + serviciosget_server_status— estado de MCP
Fase 2: Configuración (4)
export_tool_config— exporta una herramienta por nombre/idsync_claude_preferences— informe de delta Claude ↔ Mstygenerate_persona— JSON de persona para Persona Studioimport_tool_config— valida importación (escrituras en BD en vivo rechazadas por defecto)
Fase 3: Integración de servicios (11)
get_service_status,list_available_models,query_local_ai_servicechat_with_local_model,recommend_modellist_mlx_models,chat_with_mlx_modellist_llamacpp_models,chat_with_llamacpp_modelget_vibe_proxy_status,query_vibe_proxy
Fase 4: Inteligencia (5)
get_model_performance_metrics— desde StudioinsightsLanguageModelUsageanalyse_conversation_patternscompare_model_responsesoptimise_knowledge_stacks— estado en vivo de Next Gen / borrador / composesuggest_persona_improvements
Fase 5: Calibración (4)
run_calibration_test,evaluate_response_qualityidentify_handoff_triggers,get_calibration_history
Fase 6: Evaluación Bloom (6)
bloom_evaluate_model,bloom_check_handoff,bloom_get_historybloom_list_behaviors,bloom_get_thresholds,bloom_validate_model
Fase 7: Inventario de Studio 2.9 (15)
list_studio_catalogue,list_workspaces,list_personaslist_shadow_personas,list_crews,list_knowledge_stackslist_turnstiles,list_skills,list_live_contexts,list_promptslist_context_studio,list_agent_plansget_studio_entity(claves plurales comopersonas, más alias singulares comopersona),get_schema_migrations,export_workflow_pack
Fase 8: Puente Nexus (4)
detect_nexus,list_nexus_models,query_nexus,get_insights_usage
Fase 9: Transferencia Frontier (1)
ask_frontier— entrega una pregunta al agente Cursor en esta máquina y devuelve la respuesta en el chat de Msty. Usa el servidor de una sola herramienta (msty-frontieropython -m src.frontier_main) para un chat con modelo local. Consulta Modelo local híbrido y agente Cursor.
Evaluación de comportamiento Bloom
La fase 6 introduce la evaluación de comportamiento impulsada por el marco Bloom de Anthropic. En lugar de probar lo que un modelo sabe, Bloom prueba cómo se comporta — detectando modos de fallo como adulación, alucinación y exceso de confianza que los benchmarks estándar pasan por alto.
Consulta la Guía de la base de conocimiento de Bloom.
Pruebas
pytest tests/ -v
v6 incluye pruebas unitarias para resolución de rutas, protecciones de SQL de solo lectura, redacción, inventario/análisis y contratos JSON de herramientas MCP. Se verificó un smoke test en vivo en Studio 2.9.2 durante el lanzamiento.
Preguntas frecuentes
P: ¿Cómo le pregunta un modelo local a Cursor?
R: Ejecuta el servidor de una sola herramienta, pon solo ese servidor en el toolset del chat y establece CURSOR_API_KEY en ese servidor. Los pasos y advertencias están en Modelo local híbrido y agente Cursor. La clave permanece en el entorno del toolbox de Msty. No pertenece a este repositorio.
P: ¿Por qué falló la detección en versiones MCP más antiguas?
R: v5 buscaba ~/Library/Application Support/Msty/msty.db. Studio 2.x almacena datos bajo MstyStudio y la ruta SQLite del sistema de archivos Chromium. v6 corrige esto.
P: ¿Puedo usar esto con Msty < 2.4.0?
R: No. v6 apunta a Studio 2.9+ (funciona en diseños 2.4+ cuando la BD del sistema de archivos está presente). Usa v4.x para detección basada en procesos más antigua.
P: ¿Esto escribe en la base de datos de Studio?
R: El inventario y el análisis son de solo lectura. import_tool_config rechaza escrituras en vivo por defecto porque Studio puede mantener bloqueos en la BD del sistema de archivos. Prefiere la importación JSON del Toolbox para escrituras.
P: ¿Qué es la integración de Nexus?
R: Msty Nexus es el runtime/gateway local. La fase 8 lo detecta y lista modelos a través de su endpoint compatible con OpenAI (MSTY_NEXUS_PORT).
Licencia
Licencia MIT — Consulta el archivo LICENSE
Contribuciones
¡Las contribuciones son bienvenidas! Abre issues o PRs en GitHub.
Más servidores MCP de M-Pineapple
Otros servidores MCP en este portafolio:
- Claude Project Coordinator. Rastrea proyectos Xcode, estado, stack tecnológico y salud.
- CryptoAnalysisMCP. Análisis técnico de criptomonedas para Claude Desktop.
- Warp Command Runner. Dale a cualquier IA de chat una terminal real.
- Member Berries. Apple Calendar, Notes y Reminders con personalidad.
- SeaShell. Habla con Claude desde cualquier bloque de terminal.
- TextEdit MCP. Documentos RTF formateados a través de macOS TextEdit.
- HubSpot Auditor. Auditoría de portal HubSpot de solo lectura.
💖 Apoya este proyecto
Si este proyecto ha ayudado a mejorar tu flujo de trabajo de desarrollo o te ha ahorrado tiempo, apóyalo:
Tu apoyo me ayuda a:
- Mantener y mejorar este proyecto con nuevas funciones
- Mantener el proyecto de código abierto y gratuito para todos
- Dedicar más tiempo a atender las solicitudes de los usuarios y corregir errores
- Explorar nuevas integraciones de terminal e inteligencia de comandos
¡Gracias por considerar apoyar mi trabajo! 🙏
Soporte
Para problemas, preguntas o solicitudes de funciones, visita: https://github.com/M-Pineapple/msty-admin-mcp
