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

Msty Admin MCP logo

Msty Admin MCP — v6.1.5

Licence: MIT Python Stars M-Pineapple/msty-admin-mcp MCP server

msty-admin-mcp answering initialize and listing its tools

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

  1. 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.
  2. 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.
  3. 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.

  1. Crea un toolset que contenga solo este servidor Frontier. No pongas GitHub, Brave, Trello ni el servidor admin completo en ese toolset.
  2. 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.
  3. Sal de Msty y vuelve a abrirlo después de cualquier cambio de toolbox o entorno.
  4. 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_frontier y el texto debajo proviene de Cursor.
  • cursor-agent status puede decir "no iniciado sesión" mientras el modo de pregunta aún funciona con CURSOR_API_KEY. El proceso frontier pasa esa variable como --api-key. Un cursor-agent login de navegador en tu terminal no siempre es visible para el proceso que Msty inicia.
  • Varias llamadas ask_frontier en 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 (modo 0600). Elimina ese archivo para iniciar un chat de Cursor nuevo.
  • identify_handoff_triggers solo 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, puertos
  • read_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 Toolbox
  • get_model_providers — servicios + proveedores de Studio (claves redactadas)
  • analyse_msty_health — instalación + BD + servicios
  • get_server_status — estado de MCP

Fase 2: Configuración (4)

  • export_tool_config — exporta una herramienta por nombre/id
  • sync_claude_preferences — informe de delta Claude ↔ Msty
  • generate_persona — JSON de persona para Persona Studio
  • import_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_service
  • chat_with_local_model, recommend_model
  • list_mlx_models, chat_with_mlx_model
  • list_llamacpp_models, chat_with_llamacpp_model
  • get_vibe_proxy_status, query_vibe_proxy

Fase 4: Inteligencia (5)

  • get_model_performance_metrics — desde Studio insightsLanguageModelUsage
  • analyse_conversation_patterns
  • compare_model_responses
  • optimise_knowledge_stacks — estado en vivo de Next Gen / borrador / compose
  • suggest_persona_improvements

Fase 5: Calibración (4)

  • run_calibration_test, evaluate_response_quality
  • identify_handoff_triggers, get_calibration_history

Fase 6: Evaluación Bloom (6)

  • bloom_evaluate_model, bloom_check_handoff, bloom_get_history
  • bloom_list_behaviors, bloom_get_thresholds, bloom_validate_model

Fase 7: Inventario de Studio 2.9 (15)

  • list_studio_catalogue, list_workspaces, list_personas
  • list_shadow_personas, list_crews, list_knowledge_stacks
  • list_turnstiles, list_skills, list_live_contexts, list_prompts
  • list_context_studio, list_agent_plans
  • get_studio_entity (claves plurales como personas, más alias singulares como persona), 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-frontier o python -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:

💖 Apoya este proyecto

Si este proyecto ha ayudado a mejorar tu flujo de trabajo de desarrollo o te ha ahorrado tiempo, apóyalo:

Buy Me A Coffee

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