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
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
- 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. - 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.
- 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.
- Crie um toolset que contenha apenas este servidor Frontier. Não coloque GitHub, Brave, Trello ou o servidor admin completo nesse toolset.
- 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.
- Saia do Msty e abra-o novamente após qualquer mudança de toolbox ou ambiente.
- 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_frontiere o texto abaixo dele vier do Cursor. cursor-agent statuspode dizer "não logado" enquanto o modo ask ainda funciona comCURSOR_API_KEY. O processo frontier passa essa variável como--api-key. Umcursor-agent loginde navegador no seu terminal nem sempre é visível para o processo que o Msty inicia.- Várias chamadas
ask_frontierem 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(modo0600). Exclua esse arquivo para iniciar um novo chat do Cursor. identify_handoff_triggersapenas 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, portasread_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 Toolboxget_model_providers— serviços + provedores do Studio (chaves redigidas)analyse_msty_health— instalação + DB + serviçosget_server_status— status do MCP
Fase 2: Configuração (4)
export_tool_config— exportar uma ferramenta por nome/idsync_claude_preferences— relatório de delta Claude ↔ Mstygenerate_persona— JSON de persona para o Persona Studioimport_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_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: Inteligência (5)
get_model_performance_metrics— doinsightsLanguageModelUsagedo Studioanalyse_conversation_patternscompare_model_responsesoptimise_knowledge_stacks— status ao vivo de Next Gen / draft / composesuggest_persona_improvements
Fase 5: Calibração (4)
run_calibration_test,evaluate_response_qualityidentify_handoff_triggers,get_calibration_history
Fase 6: Avaliação Bloom (6)
bloom_evaluate_model,bloom_check_handoff,bloom_get_historybloom_list_behaviors,bloom_get_thresholds,bloom_validate_model
Fase 7: Inventário do 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(chaves plurais comopersonas, além de aliases singulares comopersona),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-frontieroupython -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:
- Claude Project Coordinator. Acompanhe projetos Xcode, status, stack de tecnologia e saúde.
- CryptoAnalysisMCP. Análise técnica de criptomoedas para o Claude Desktop.
- Warp Command Runner. Dê a qualquer IA de chat um terminal real.
- Member Berries. Apple Calendar, Notes e Reminders com personalidade.
- SeaShell. Fale com o Claude de qualquer bloco de terminal.
- TextEdit MCP. Documentos RTF formatados via TextEdit do macOS.
- HubSpot Auditor. Auditoria de portal HubSpot somente leitura.
💖 Apoie Este Projeto
Se este projeto ajudou a melhorar seu fluxo de trabalho de desenvolvimento ou economizou seu tempo, por favor, apoie:
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
