msty-admin-mcp

Administração com IA para o Msty Studio Desktop. 24 ferramentas MCP para insights de banco de dados, sincronização de configuração, orquestração de modelos locais e fluxos de trabalho de transferência para o Claude.

Documentação

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 abrangente para administrar o Msty Studio Desktop 2.9+ com 56 ferramentas em 9 fases: detecção real de caminho/banco de dados do Studio, inventário de entidades (Context Studio, Knowledge Stacks, Agent Mode, Turnstiles, …), análise de insights, ponte Nexus, avaliação Bloom, inferência local multi-backend e um handoff de um modelo local para o agente Cursor neste Mac.

Requisitos: Python 3.10+, MCP SDK v1.0.0+, psutil 5.9.0+

O macOS vem com python3 3.9. Este pacote não será instalado nesse interpretador. Use o Homebrew Python 3.12 (ou qualquer 3.10+) conforme mostrado abaixo.

Novo no Bloom? Vá para a seção Avaliação Comportamental Bloom ou leia o guia completo do Bloom.


Instalação

Início Rápido

Python 3.10 ou mais recente é necessário. No macOS, o python3 do sistema é 3.9, então crie o venv com o 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)

Se você já tem Python 3.10+ como python3, python3 -m venv .venv é suficiente. Depois, execute pip install msty-admin-mcp como acima.

Se pip install msty-admin-mcp não conseguir encontrar o pacote, instale a versão diretamente do GitHub:

pip install "msty-admin-mcp @ git+https://github.com/M-Pineapple/msty-admin-mcp@v6.1.5"

Com Transporte HTTP

pip install "msty-admin-mcp[http]"
msty-admin-mcp --transport streamable-http  # Runs on http://localhost:8000

A partir do Código-Fonte

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 tem como alvo o MCP Python SDK 1.x (mcp>=1.0.0,<2).

Claude Desktop e Cursor

Após pip install msty-admin-mcp, o script de console msty-admin-mcp está no PATH desse ambiente. Aponte o host para ele.

Claude Desktop — mescle em ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "msty-admin": {
      "command": "msty-admin-mcp"
    }
  }
}

Cursor — mescle em ~/.cursor/mcp.json:

{
  "mcpServers": {
    "msty-admin": {
      "command": "msty-admin-mcp"
    }
  }
}

Se o host não conseguir ver o script, defina command para o caminho absoluto de msty-admin-mcp dentro do venv (…/bin/msty-admin-mcp). Reinicie o host após a edição.

O servidor Frontier de uma ferramenta é separado. Veja Modelo local híbrido e agente Cursor.


Uso

Depois que o servidor estiver registrado no Msty Studio (ou em outro host MCP), pergunte em linguagem natural. O host mapeia suas palavras para as ferramentas.

Saúde e instalação

  • "Detecte minha instalação do Msty e mostre a versão."
  • "Analise a saúde do Msty."
  • "Qual é o status do servidor MCP?"

Inventário do Studio

  • "Liste minhas personas e knowledge stacks."
  • "Mostre todos os workspaces."
  • "Liste as ferramentas do meu Toolbox."
  • "Exporte um pacote de workflow para meu workspace atual."

Modelos locais e serviços

  • "Quais modelos locais estão disponíveis?"
  • "Recomende um modelo para resumir documentos longos."
  • "Qual é o status do Nexus e quais modelos ele expõe?"

Análises e Bloom

  • "Mostre métricas de desempenho de modelos dos insights do Studio."
  • "Analise meus padrões de conversa."
  • "Execute uma avaliação Bloom para sicofancia neste modelo."

Handoff Frontier

Para um chat com modelo local, use o servidor Frontier de uma ferramenta (veja Modelo local híbrido e agente Cursor):

  • "Pergunte ao agente Cursor neste Mac por que esta visualização SwiftUI não está atualizando."

Configuração

Variáveis de ambiente (todas opcionais, com padrões 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

Arquitetura

Layout de dados do Studio 2.9+

O Msty Studio não usa mais um msty.db de nível superior. O SQLite do workspace fica sob o caminho da Chromium File System API, por exemplo:

~/Library/Application Support/MstyStudio/
├── Gifnoc.nosj                          # service config (ports / model paths)
├── models/  models-mlx/
└── File System/000/t/00/00000000        # Drizzle SQLite workspace DB

O MCP detecta automaticamente /Applications/MstyStudio.app, lê a versão do bundle, resolve o blob SQLite e o abre somente leitura.

Descoberta de serviços

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 e agente Cursor

Um modelo local faz o trabalho comum. Quando uma pergunta está além dele, esse modelo chama ask_frontier. A ferramenta executa o agente Cursor nesta máquina e retorna a resposta no mesmo chat do Msty. Uma continuação retoma esse chat do Cursor.

Use um servidor separado de uma ferramenta para o chat com modelo local. O servidor admin completo tem 56 ferramentas. Um modelo pequeno chamará essas outras ferramentas (GitHub, busca, schema e assim por diante) em vez de esperar pela resposta.

Instalação nova

  1. Instale este pacote e o CLI do agente Cursor (cursor-agent). Ele deve estar no PATH visto pelo Msty, ou em ~/.local/bin/cursor-agent. Login e chaves de API: Autenticação do CLI Cursor.
  2. Crie uma chave de API de usuário no Cursor Dashboard → API Keys. Uma chave de admin não funciona. Não faça commit da chave e não a coloque neste repositório.
  3. No Msty, adicione um servidor de toolbox chamado Frontier. A partir de um checkout do código-fonte:
{
  "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"
  }
}

Após pip install, o script de console msty-frontier é o mesmo servidor de uma ferramenta. Você pode definir command para esse script e omitir PYTHONPATH.

  1. Crie um toolset que contenha apenas este servidor Frontier. Não coloque GitHub, Brave, Trello ou o servidor admin completo nesse toolset.
  2. No chat com modelo local, selecione esse toolset no composer (o controle de toolset ativo). O toolset armazenado no chat não é o que é enviado se o composer ainda tiver outro toolset selecionado.
  3. Saia do Msty e abra-o novamente após qualquer mudança de toolbox ou ambiente.
  4. Faça uma pergunta que o modelo local ainda não consiga responder. O sucesso é um cartão ask_frontier, seguido pela resposta do Cursor abaixo dele. Um parágrafo normal sem cartão significa que o modelo respondeu sozinho e o Cursor não foi consultado.

Pasta de projeto opcional

Por padrão, o agente Cursor lê uma pasta vazia em ~/.msty-admin/frontier-workspace. Ele não consegue ver seus repositórios. Para permitir que ele leia um projeto, defina:

"MSTY_FRONTIER_WORKSPACE": "/absolute/path/to/that/project"

O modo ask não envia e-mails, move ou exclui arquivos, nem usa ferramentas de negociação. Ele pode ler essa pasta.

Atualização da v6.0.0

O servidor admin não mudou para o inventário do Studio e as outras 55 ferramentas. Adicione o servidor Frontier e o toolset de um servidor como acima. Não aponte o chat com modelo local para o comando completo msty-admin-mcp.

Advertências

  • O modelo local deve emitir uma chamada de ferramenta real. Alguns modelos pequenos nunca fazem isso, e então nenhuma quantidade de "por favor, chame a ferramenta" na mensagem do usuário alcançará o Cursor. Um modelo que consegue chamar ferramentas o fará. Ele pode reescrever sua pergunta em um comando de busca. Isso ainda é um handoff bem-sucedido se o cartão for ask_frontier e o texto abaixo dele vier do Cursor.
  • cursor-agent status pode dizer "não logado" enquanto o modo ask ainda funciona com CURSOR_API_KEY. O processo frontier passa essa variável como --api-key. Um cursor-agent login de navegador no seu terminal nem sempre é visível para o processo que o Msty inicia.
  • Várias chamadas ask_frontier em uma resposta compartilham a primeira resposta do Cursor. Elas não iniciam cada uma um novo chat.
  • O último id de chat do Cursor é armazenado em ~/.msty-admin/frontier-session.json (modo 0600). Exclua esse arquivo para iniciar um novo chat do Cursor.
  • identify_handoff_triggers apenas pontua velocidade e latência passadas. Ele não envia a pergunta.

Resumo de Ferramentas (56 no total)

Fase 1: Fundamental (6)

  • detect_msty_installation — app, versão, caminho do DB, portas
  • read_msty_database — stats / tables / SQL somente leitura
    • No SQL somente leitura, colunas de credenciais (key, token, secret, password, auth e nomes de headers, URL, colunas de config/JSON e de linha de comando) sempre são lidas como NULL. Segredos digitados em colunas de texto livre arbitrárias, como uma mensagem de chat ou uma nota, estão fora do escopo desta ferramenta.
  • list_configured_tools — ferramentas MCP do Toolbox
  • get_model_providers — serviços + provedores do Studio (chaves redigidas)
  • analyse_msty_health — instalação + DB + serviços
  • get_server_status — status do MCP

Fase 2: Configuração (4)

  • export_tool_config — exportar uma ferramenta por nome/id
  • sync_claude_preferences — relatório de delta Claude ↔ Msty
  • generate_persona — JSON de persona para o Persona Studio
  • import_tool_config — validar importação (gravações ao vivo no DB recusadas por padrão)

Fase 3: Integração de Serviços (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: Inteligência (5)

  • get_model_performance_metrics — do insightsLanguageModelUsage do Studio
  • analyse_conversation_patterns
  • compare_model_responses
  • optimise_knowledge_stacks — status ao vivo de Next Gen / draft / compose
  • suggest_persona_improvements

Fase 5: Calibração (4)

  • run_calibration_test, evaluate_response_quality
  • identify_handoff_triggers, get_calibration_history

Fase 6: Avaliação Bloom (6)

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

Fase 7: Inventário do 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 (chaves plurais como personas, além de aliases singulares como persona), get_schema_migrations, export_workflow_pack

Fase 8: Ponte Nexus (4)

  • detect_nexus, list_nexus_models, query_nexus, get_insights_usage

Fase 9: Handoff Frontier (1)

  • ask_frontier — entregue uma pergunta ao agente Cursor nesta máquina e retorne a resposta no chat do Msty. Use o servidor de uma ferramenta (msty-frontier ou python -m src.frontier_main) para um chat com modelo local. Veja Modelo local híbrido e agente Cursor.

Avaliação Comportamental Bloom

A Fase 6 introduz avaliação comportamental alimentada pelo framework Bloom da Anthropic. Em vez de testar o que um modelo sabe, o Bloom testa como ele se comporta — detectando modos de falha como sicofancia, alucinação e excesso de confiança que benchmarks padrão não capturam.

Veja o Guia da Base de Conhecimento Bloom.


Testes

pytest tests/ -v

A v6 traz testes unitários para resolução de caminhos, proteções de SQL somente leitura, redação, inventário/análises e contratos JSON de ferramentas MCP. Smoke test ao vivo no Studio 2.9.2 foi verificado durante o lançamento.


FAQ

P: Como um modelo local pergunta ao Cursor?

R: Execute o servidor de uma ferramenta, coloque apenas esse servidor no toolset do chat e defina CURSOR_API_KEY nesse servidor. Passos e advertências estão em Modelo local híbrido e agente Cursor. A chave permanece no ambiente do toolbox do Msty. Ela não pertence a este repositório.

P: Por que a detecção falhou em versões MCP mais antigas?

R: A v5 procurava por ~/Library/Application Support/Msty/msty.db. O Studio 2.x armazena dados sob MstyStudio e o caminho SQLite da Chromium File System. A v6 corrige isso.

P: Posso usar isso com Msty < 2.4.0?

R: Não. A v6 tem como alvo o Studio 2.9+ (funciona em layouts 2.4+ quando o DB do File System está presente). Use a v4.x para detecção mais antiga baseada em processos.

P: Isso grava no banco de dados do Studio?

R: Inventário e análises são somente leitura. import_tool_config recusa gravações ao vivo por padrão porque o Studio pode manter locks no DB do File System. Prefira importação JSON do Toolbox para gravações.

P: Qual é a integração com o Nexus?

R: Msty Nexus é o runtime/gateway local. A Fase 8 o detecta e lista modelos via seu endpoint compatível com OpenAI (MSTY_NEXUS_PORT).


Licença

Licença MIT — Veja o arquivo LICENSE

Contribuindo

Contribuições são bem-vindas! Por favor, abra issues ou PRs no GitHub.

Mais servidores MCP por M-Pineapple

Outros servidores MCP neste portfólio:

💖 Apoie Este Projeto

Se este projeto ajudou a melhorar seu fluxo de trabalho de desenvolvimento ou economizou seu tempo, por favor, apoie:

Buy Me A Coffee

Seu apoio me ajuda a:

  • Manter e melhorar este projeto com novos recursos
  • Manter o projeto open-source e gratuito para todos
  • Dedicar mais tempo para atender solicitações de usuários e correções de bugs
  • Explorar novas integrações de terminal e inteligência de comandos

Obrigado por considerar apoiar meu trabalho! 🙏

Suporte

Para problemas, dúvidas ou solicitações de recursos, visite: https://github.com/M-Pineapple/msty-admin-mcp