msty-admin-mcp 6.1.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,361 @@
1
+ Metadata-Version: 2.5
2
+ Name: msty-admin-mcp
3
+ Version: 6.1.2
4
+ Summary: Comprehensive MCP server for administering Msty Studio Desktop 2.9+ with 56 tools, Studio entity inventory, insights analytics, Nexus bridge, Bloom evaluation, and a Cursor-agent handoff for local models
5
+ Author-email: M-Pineapple 🍍 <128090761+M-Pineapple@users.noreply.github.com>
6
+ License: MIT
7
+ License-File: LICENSE
8
+ Requires-Python: >=3.10
9
+ Requires-Dist: mcp<2,>=1.0.0
10
+ Requires-Dist: psutil>=5.9.0
11
+ Provides-Extra: http
12
+ Requires-Dist: starlette>=0.30.0; extra == 'http'
13
+ Requires-Dist: uvicorn>=0.20.0; extra == 'http'
14
+ Provides-Extra: test
15
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == 'test'
16
+ Requires-Dist: pytest>=7.0.0; extra == 'test'
17
+ Requires-Dist: tomli>=2.0.0; (python_version < '3.11') and extra == 'test'
18
+ Description-Content-Type: text/markdown
19
+
20
+ <div align="center">
21
+
22
+ <img src="assets/logo.svg" alt="Msty Admin MCP logo" width="240"/>
23
+
24
+ # Msty Admin MCP — v6.1.2
25
+
26
+ [![Licence: MIT](https://img.shields.io/github/license/M-Pineapple/msty-admin-mcp)](LICENSE)
27
+ [![Python](https://img.shields.io/badge/Python-3.10+-3776AB?logo=python&logoColor=white)](https://www.python.org)
28
+ [![Stars](https://img.shields.io/github/stars/M-Pineapple/msty-admin-mcp)](https://github.com/M-Pineapple/msty-admin-mcp/stargazers)
29
+
30
+ </div>
31
+
32
+ <img src="assets/demo.gif" alt="msty-admin-mcp answering initialize and listing its tools" width="720"/>
33
+
34
+ Comprehensive MCP server for administering **Msty Studio Desktop 2.9+** with **56 tools** across 9 phases: real Studio path/DB detection, entity inventory (Context Studio, Knowledge Stacks, Agent Mode, Turnstiles, …), insights analytics, Nexus bridge, Bloom evaluation, multi-backend local inference, and a handoff from a local model to the Cursor agent on this Mac.
35
+
36
+ **Requirements**: Python 3.10+, MCP SDK v1.0.0+, psutil 5.9.0+
37
+
38
+ **Latest**: v6.1.1 (2026-10-13) — stored API keys are now better protected in `read_msty_database`. Please update.
39
+
40
+ > **New to Bloom?** Jump to the [Bloom Behavioral Evaluation](#bloom-behavioral-evaluation) section or read the [full Bloom guide](docs/BLOOM_GUIDE.md).
41
+
42
+ ---
43
+
44
+ ## Installation
45
+
46
+ ### Quick Start
47
+ Needs Python 3.10 or newer.
48
+ ```bash
49
+ pip install msty-admin-mcp
50
+ msty-admin-mcp # Runs on stdio (default MCP transport)
51
+ ```
52
+
53
+ If `pip install msty-admin-mcp` cannot find the package, install the release straight from GitHub:
54
+ ```bash
55
+ pip install "msty-admin-mcp @ git+https://github.com/M-Pineapple/msty-admin-mcp@v6.1.2"
56
+ ```
57
+
58
+ ### With HTTP Transport
59
+ ```bash
60
+ pip install "msty-admin-mcp[http]"
61
+ msty-admin-mcp --transport streamable-http # Runs on http://localhost:8000
62
+ ```
63
+
64
+ ### From Source
65
+ ```bash
66
+ git clone https://github.com/M-Pineapple/msty-admin-mcp
67
+ cd msty-admin-mcp
68
+ python3 -m venv .venv && source .venv/bin/activate
69
+ pip install -e ".[test]"
70
+ pytest tests/ -v
71
+ ```
72
+
73
+ This server targets the 1.x MCP Python SDK (`mcp>=1.0.0,<2`).
74
+
75
+ ---
76
+
77
+ ## Usage
78
+
79
+ Once the server is registered with Msty Studio (or another MCP host), ask in natural language. The host maps your words onto the tools.
80
+
81
+ ### Health and install
82
+
83
+ - "Detect my Msty installation and show the version."
84
+ - "Analyse Msty health."
85
+ - "What is the MCP server status?"
86
+
87
+ ### Studio inventory
88
+
89
+ - "List my personas and knowledge stacks."
90
+ - "Show all workspaces."
91
+ - "List the tools in my Toolbox."
92
+ - "Export a workflow pack for my current workspace."
93
+
94
+ ### Local models and services
95
+
96
+ - "Which local models are available?"
97
+ - "Recommend a model for summarising long documents."
98
+ - "What is the Nexus status and which models does it expose?"
99
+
100
+ ### Analytics and Bloom
101
+
102
+ - "Show model performance metrics from Studio insights."
103
+ - "Analyse my conversation patterns."
104
+ - "Run a Bloom evaluation for sycophancy on this model."
105
+
106
+ ### Frontier handoff
107
+
108
+ For a local-model chat, use the one-tool Frontier server (see [Hybrid local model and Cursor agent](#hybrid-local-model-and-cursor-agent)):
109
+
110
+ - "Ask the Cursor agent on this Mac why this SwiftUI view is not updating."
111
+
112
+ ---
113
+
114
+ ## Configuration
115
+
116
+ Environment variables (all optional, sensible defaults):
117
+
118
+ ```bash
119
+ # Msty installation host
120
+ MSTY_HOST=127.0.0.1
121
+
122
+ # Service backend ports (also read from Studio Gifnoc.nosj when present)
123
+ MSTY_AI_PORT=11964 # Local AI (Ollama)
124
+ MSTY_MLX_PORT=11973 # MLX service
125
+ MSTY_LLAMACPP_PORT=11454 # LLaMA.cpp service
126
+ MSTY_VIBE_PORT=8317 # Vibe CLI Proxy
127
+ MSTY_NEXUS_PORT=11434 # Msty Nexus OpenAI-compatible gateway
128
+
129
+ # Service timeout
130
+ MSTY_TIMEOUT=10 # Seconds
131
+
132
+ # Bloom integration (required for Phase 6 tools)
133
+ ANTHROPIC_API_KEY=sk-... # Required for Bloom judge model
134
+ ```
135
+
136
+ ---
137
+
138
+ ## Architecture
139
+
140
+ ### Studio 2.9+ data layout
141
+
142
+ Msty Studio no longer uses a top-level `msty.db`. The workspace SQLite lives under the Chromium File System API path, for example:
143
+
144
+ ```
145
+ ~/Library/Application Support/MstyStudio/
146
+ ├── Gifnoc.nosj # service config (ports / model paths)
147
+ ├── models/ models-mlx/
148
+ └── File System/000/t/00/00000000 # Drizzle SQLite workspace DB
149
+ ```
150
+
151
+ The MCP auto-detects `/Applications/MstyStudio.app`, reads the bundle version, resolves the SQLite blob, and opens it **read-only**.
152
+
153
+ ### Service discovery
154
+
155
+ ```
156
+ Msty Studio Desktop
157
+ ├── Local AI (Ollama) → port 11964
158
+ ├── MLX → port 11973
159
+ ├── LLaMA.cpp → port 11454
160
+ ├── Vibe CLI Proxy → port 8317
161
+ └── Msty Nexus (optional) → port 11434
162
+
163
+ ↓
164
+
165
+ MCP Server (stdio / HTTP)
166
+ ├── Phase 1: Foundational (6)
167
+ ├── Phase 2: Configuration (4)
168
+ ├── Phase 3: Service Integration (11)
169
+ ├── Phase 4: Intelligence (5)
170
+ ├── Phase 5: Calibration (4)
171
+ ├── Phase 6: Bloom Evaluation (6)
172
+ ├── Phase 7: Studio Inventory (15)
173
+ ├── Phase 8: Nexus Bridge (4)
174
+ └── Phase 9: Frontier handoff (1)
175
+ ```
176
+
177
+ ---
178
+
179
+ ## Hybrid local model and Cursor agent
180
+
181
+ A local model does the ordinary work. When a question is past it, that model calls `ask_frontier`. The tool runs the Cursor agent on this machine and returns the answer in the same Msty chat. A follow-up resumes that Cursor chat.
182
+
183
+ Use a **separate one-tool server** for the local-model chat. The full admin server has 56 tools. A small model will call those other tools (GitHub, search, schema, and so on) instead of waiting for the answer.
184
+
185
+ ### Fresh install
186
+
187
+ 1. Install this package and the Cursor agent CLI (`cursor-agent`). It must be on the PATH seen by Msty, or at `~/.local/bin/cursor-agent`. Login and API keys: [Cursor CLI authentication](https://cursor.com/docs/cli/reference/authentication).
188
+ 2. Create a **user** API key in Cursor Dashboard → API Keys. An admin key does not work. Do not commit the key and do not put it in this repo.
189
+ 3. In Msty, add a toolbox server named Frontier. From a source checkout:
190
+
191
+ ```json
192
+ {
193
+ "command": "/absolute/path/to/venv/bin/python",
194
+ "args": ["-m", "src.frontier_main"],
195
+ "env": {
196
+ "PYTHONPATH": "/absolute/path/to/msty-admin-mcp",
197
+ "CURSOR_API_KEY": "your-user-api-key"
198
+ }
199
+ }
200
+ ```
201
+
202
+ After `pip install`, the console script `msty-frontier` is the same one-tool server. You can set `command` to that script and omit `PYTHONPATH`.
203
+
204
+ 4. Create a toolset that contains **only** this Frontier server. Do not put GitHub, Brave, Trello, or the full admin server in that toolset.
205
+ 5. On the local-model chat, select that toolset in the composer (the active-toolset control). The toolset stored on the chat is not what is sent if the composer still has another toolset selected.
206
+ 6. Quit Msty and open it again after any toolbox or environment change.
207
+ 7. Ask a question the local model cannot already answer. Success is one `ask_frontier` card, then the Cursor reply under it. A normal paragraph with no card means the model answered by itself and Cursor was not asked.
208
+
209
+ ### Optional project folder
210
+
211
+ By default the Cursor agent reads an empty folder under `~/.msty-admin/frontier-workspace`. It cannot see your repositories. To let it read one project, set:
212
+
213
+ ```json
214
+ "MSTY_FRONTIER_WORKSPACE": "/absolute/path/to/that/project"
215
+ ```
216
+
217
+ Ask mode does not send mail, move or delete files, or use trading tools. It can read that folder.
218
+
219
+ ### Update from v6.0.0
220
+
221
+ The admin server is unchanged for Studio inventory and the other 55 tools. Add the Frontier server and the one-server toolset as above. Do not point the local-model chat at the full `msty-admin-mcp` command.
222
+
223
+ ### Caveats
224
+
225
+ - The local model must emit a real tool call. Some small models never do, and then no amount of "please call the tool" in the user message will reach Cursor. A model that can call tools will. It may rewrite your question into a search command. That is still a successful handoff if the card is `ask_frontier` and the text under it came from Cursor.
226
+ - `cursor-agent status` can say "not logged in" while ask mode still works with `CURSOR_API_KEY`. The frontier process passes that variable as `--api-key`. A browser `cursor-agent login` in your terminal is not always visible to the process Msty starts.
227
+ - Several `ask_frontier` calls in one reply share the first Cursor answer. They do not each start a new chat.
228
+ - The last Cursor chat id is stored in `~/.msty-admin/frontier-session.json` (mode `0600`). Delete that file to start a fresh Cursor chat.
229
+ - `identify_handoff_triggers` only scores past speed and latency. It does not send the question.
230
+
231
+ ---
232
+
233
+ ## Tools Summary (56 Total)
234
+
235
+ ### Phase 1: Foundational (6)
236
+ - `detect_msty_installation` — app, version, DB path, ports
237
+ - `read_msty_database` — `stats` / `tables` / read-only SQL
238
+ - `list_configured_tools` — Toolbox MCP tools
239
+ - `get_model_providers` — services + Studio providers (keys redacted)
240
+ - `analyse_msty_health` — install + DB + services
241
+ - `get_server_status` — MCP status
242
+
243
+ ### Phase 2: Configuration (4)
244
+ - `export_tool_config` — export a tool by name/id
245
+ - `sync_claude_preferences` — Claude ↔ Msty delta report
246
+ - `generate_persona` — persona JSON for Persona Studio
247
+ - `import_tool_config` — validate import (live DB writes refused by default)
248
+
249
+ ### Phase 3: Service Integration (11)
250
+ - `get_service_status`, `list_available_models`, `query_local_ai_service`
251
+ - `chat_with_local_model`, `recommend_model`
252
+ - `list_mlx_models`, `chat_with_mlx_model`
253
+ - `list_llamacpp_models`, `chat_with_llamacpp_model`
254
+ - `get_vibe_proxy_status`, `query_vibe_proxy`
255
+
256
+ ### Phase 4: Intelligence (5)
257
+ - `get_model_performance_metrics` — from Studio `insightsLanguageModelUsage`
258
+ - `analyse_conversation_patterns`
259
+ - `compare_model_responses`
260
+ - `optimise_knowledge_stacks` — live Next Gen / draft / compose status
261
+ - `suggest_persona_improvements`
262
+
263
+ ### Phase 5: Calibration (4)
264
+ - `run_calibration_test`, `evaluate_response_quality`
265
+ - `identify_handoff_triggers`, `get_calibration_history`
266
+
267
+ ### Phase 6: Bloom Evaluation (6)
268
+ - `bloom_evaluate_model`, `bloom_check_handoff`, `bloom_get_history`
269
+ - `bloom_list_behaviors`, `bloom_get_thresholds`, `bloom_validate_model`
270
+
271
+ ### Phase 7: Studio 2.9 Inventory (15)
272
+ - `list_studio_catalogue`, `list_workspaces`, `list_personas`
273
+ - `list_shadow_personas`, `list_crews`, `list_knowledge_stacks`
274
+ - `list_turnstiles`, `list_skills`, `list_live_contexts`, `list_prompts`
275
+ - `list_context_studio`, `list_agent_plans`
276
+ - `get_studio_entity`, `get_schema_migrations`, `export_workflow_pack`
277
+
278
+ ### Phase 8: Nexus Bridge (4)
279
+ - `detect_nexus`, `list_nexus_models`, `query_nexus`, `get_insights_usage`
280
+
281
+ ### Phase 9: Frontier handoff (1)
282
+ - `ask_frontier` — hand one question to the Cursor agent on this machine and return the answer in the Msty chat. Use the one-tool server (`msty-frontier` or `python -m src.frontier_main`) for a local-model chat. See [Hybrid local model and Cursor agent](#hybrid-local-model-and-cursor-agent).
283
+
284
+ ---
285
+
286
+ ## Bloom Behavioral Evaluation
287
+
288
+ Phase 6 introduces behavioral evaluation powered by [Anthropic's Bloom framework](https://www.anthropic.com/research/bloom). Rather than testing what a model knows, Bloom tests how it behaves — detecting failure modes like sycophancy, hallucination, and overconfidence that standard benchmarks miss.
289
+
290
+ See the **[Bloom Knowledge Base Guide](docs/BLOOM_GUIDE.md)**.
291
+
292
+ ---
293
+
294
+ ## Testing
295
+
296
+ ```bash
297
+ pytest tests/ -v
298
+ ```
299
+
300
+ v6 ships unit tests for path resolution, read-only SQL guards, redaction, inventory/analytics, and MCP tool JSON contracts. Live smoke on Studio 2.9.2 was verified during release.
301
+
302
+ ---
303
+
304
+ ## FAQ
305
+
306
+ ### Q: How does a local model ask Cursor?
307
+ **A**: Run the one-tool server, put only that server in the chat's toolset, and set `CURSOR_API_KEY` on that server. Steps and caveats are in [Hybrid local model and Cursor agent](#hybrid-local-model-and-cursor-agent). The key stays in Msty's toolbox environment. It does not belong in this repository.
308
+
309
+ ### Q: Why did detection fail on older MCP versions?
310
+ **A**: v5 looked for `~/Library/Application Support/Msty/msty.db`. Studio 2.x stores data under `MstyStudio` and the Chromium File System SQLite path. v6 fixes this.
311
+
312
+ ### Q: Can I use this with Msty &lt; 2.4.0?
313
+ **A**: No. v6 targets Studio 2.9+ (works on 2.4+ layouts when the File System DB is present). Use v4.x for older process-based detection.
314
+
315
+ ### Q: Does this write to the Studio database?
316
+ **A**: Inventory and analytics are read-only. `import_tool_config` refuses live writes by default because Studio may hold locks on the File System DB. Prefer Toolbox JSON import for writes.
317
+
318
+ ### Q: What's the Nexus integration?
319
+ **A**: [Msty Nexus](https://msty.ai/nexus/) is the local runtime/gateway. Phase 8 detects it and lists models via its OpenAI-compatible endpoint (`MSTY_NEXUS_PORT`).
320
+
321
+ ---
322
+
323
+ ## License
324
+
325
+ MIT License — See LICENSE file
326
+
327
+ ## Contributing
328
+
329
+ Contributions welcome! Please open issues or PRs on GitHub.
330
+
331
+ ## More MCP servers by M-Pineapple
332
+
333
+ Other MCP servers in this portfolio:
334
+
335
+ - [Claude Project Coordinator](https://github.com/M-Pineapple/Claude-Project-Coordinator). Track Xcode projects, status, tech stack and health.
336
+ - [CryptoAnalysisMCP](https://github.com/M-Pineapple/CryptoAnalysisMCP). Cryptocurrency technical analysis for Claude Desktop.
337
+ - [Warp Command Runner](https://github.com/M-Pineapple/warp-command-runner). Give any chat AI a real terminal.
338
+ - [Member Berries](https://github.com/M-Pineapple/member-berries-apple-mcp). Apple Calendar, Notes and Reminders with personality.
339
+ - [SeaShell](https://github.com/M-Pineapple/seashell). Talk to Claude from any terminal block.
340
+ - [TextEdit MCP](https://github.com/M-Pineapple/TextEdit-MCP). Formatted RTF documents via macOS TextEdit.
341
+ - [HubSpot Auditor](https://github.com/M-Pineapple/hubspot-auditor). Read-only HubSpot portal audit.
342
+
343
+ ## 💖 Support This Project
344
+
345
+ If this project has helped enhance your development workflow or saved you time, please support :
346
+
347
+ <a href="https://www.buymeacoffee.com/mpineapple" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
348
+
349
+ Your support helps me:
350
+
351
+ * Maintain and improve this project with new features
352
+ * Keep the project open-source and free for everyone
353
+ * Dedicate more time to addressing user requests and bug fixes
354
+ * Explore new terminal integrations and command intelligence
355
+
356
+ Thank you for considering supporting my work! 🙏
357
+
358
+ ## Support
359
+
360
+ For issues, questions, or feature requests, visit: https://github.com/M-Pineapple/msty-admin-mcp
361
+ [![MseeP.ai Security Assessment Badge](https://mseep.net/pr/m-pineapple-msty-admin-mcp-badge.png)](https://mseep.ai/app/m-pineapple-msty-admin-mcp)
@@ -0,0 +1,29 @@
1
+ src/__init__.py,sha256=utEEyAotY8ZTpFxaM5hCKLLmIhROxRgeISPklF6tUZ8,563
2
+ src/analytics.py,sha256=Rny0FjbPbPMTziJ6amlKwCgggmMKJeywCH-4FJoiCEA,9282
3
+ src/db.py,sha256=xS3qQKlt-jY3F7YF2DWwJUQN_UR2aV-4s3RcBZZ8_e8,12181
4
+ src/frontier.py,sha256=I53m6SjGflCcjA7cIL0TXzXO0zH-Nen5m8N76eP63SY,10419
5
+ src/frontier_main.py,sha256=b8u1tznMTncEyPfPrIA_WzXiT6xuec0y6TYsGiQGedc,673
6
+ src/inventory.py,sha256=Zso1xo04J3POBW8YGrFq3xaFOyBPcoRIhVRPHjeWGjY,6783
7
+ src/nexus.py,sha256=tnheTuglQT9pcG6DJykgpVzDi-oAcbGdmVce00AOjv4,1927
8
+ src/paths.py,sha256=p7Q_ThiDghvnoW6NMvsWZbI4H-XZS33DF-CAIPQH8YE,11716
9
+ src/phase4_5_tools.py,sha256=OOKNuCXimU3qZ9j3un28VSFGrftaaEz1dXb1Pqu3KmQ,11513
10
+ src/server.py,sha256=9HxWy2DRYcQtuMWGEXrchK6dMfMJxqgnoA7_mOmJtbU,33748
11
+ src/services.py,sha256=phq7AAJYCQFyUB0UHV282mDXabII0Gp-v9fTqfMa3q8,3627
12
+ src/automation/__init__.py,sha256=fH12fTi0Sske_62MB01c9W850o9uhEKof4Jw8dRtAxk,87
13
+ src/bloom/__init__.py,sha256=fNf89cBG1tRxQPC_jP6xaempDJYl8RhVfiygY9EdDJk,482
14
+ src/bloom/cv_behaviors.py,sha256=3XlX9Qzg8lkYZo1qhXi7RQf_EBqgDBKNeX22l-YHKl0,3467
15
+ src/bloom/evaluator.py,sha256=vRiH-shw2eyVqSL3rDOLqW9QV-H8mzCb6Y9naP2-_sA,10566
16
+ src/bloom/example_behaviors.py,sha256=c91W5HzoaWIKdhdzBpHOxx4c5HoN1f2TYB1xE3P3OvM,136
17
+ src/bloom/mcp_tools.py,sha256=-NOnheAIbtPGrx-M0IkSxFzIPPRIvdMmqxiLA3as_5Y,7952
18
+ src/bloom/ollama_adapter.py,sha256=hN-3xYe7f8r3x45iQspv5Fx3gE8v3St9xuA8D9zCeHw,6746
19
+ src/calibration/__init__.py,sha256=atKnFTBaFpB4AsT2XW7F0Qof_cKPY0nCHfR_xlHCuD0,217
20
+ src/config/__init__.py,sha256=zrAw9mEHTf1veGXQTCL7prFv1V70-TFj2vq8Gz7SuIY,80
21
+ src/database/__init__.py,sha256=p0uS9vkvknxnbMvOQD0RbIgNy7SQvSr3_m6wgkFOYKs,118
22
+ src/hardware/__init__.py,sha256=XpJuI6gIPP8pHZxH35h9284PxUXZQS5jf4MF8j9By1o,90
23
+ src/intelligence/__init__.py,sha256=_x7kUgekt0Y4IB9hAk_Esiw9JoZpFbE5JGukx5w8cWw,259
24
+ src/utils/__init__.py,sha256=fWhNCmh2pgLoF1Nvcnd00C4nbfMEj1ud7UgSem8HPzI,92
25
+ msty_admin_mcp-6.1.2.dist-info/METADATA,sha256=1-UkrhA_K4GQEVmq6r3oyuIarwZdgdbr63NPI0ajpmM,15429
26
+ msty_admin_mcp-6.1.2.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
27
+ msty_admin_mcp-6.1.2.dist-info/entry_points.txt,sha256=-01eko4y8B0DCOi1x9v_PeRmsTVsupD8Of_cJiAu-Bg,90
28
+ msty_admin_mcp-6.1.2.dist-info/licenses/LICENSE,sha256=Azq0KQLAMkeTFR8WYXsKQBjTNOeadkrWjqu8XNSuqRQ,1079
29
+ msty_admin_mcp-6.1.2.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.32.4
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ msty-admin-mcp = src.server:main
3
+ msty-frontier = src.frontier_main:main
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025–2026 M-Pineapple 🍍
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
src/__init__.py ADDED
@@ -0,0 +1,21 @@
1
+ """
2
+ Msty Admin MCP Server
3
+
4
+ AI-administered Msty Studio Desktop management system with database insights,
5
+ configuration management, local model orchestration, and tiered AI workflows.
6
+
7
+ Phase 1: Foundational Tools (Read-Only)
8
+ Phase 2: Configuration Management
9
+ Phase 3: Automation Bridge (Sidecar Integration)
10
+ Phase 4: Intelligence Layer (Analytics)
11
+ Phase 5: Tiered AI Workflow (Calibration)
12
+
13
+ Created by M-Pineapple 🍍
14
+ """
15
+
16
+ __version__ = "6.1.2"
17
+ __author__ = "M-Pineapple 🍍"
18
+
19
+ from .server import mcp, main
20
+
21
+ __all__ = ["mcp", "main", "__version__", "__author__"]