50 lines
2.3 KiB
Markdown
50 lines
2.3 KiB
Markdown
---
|
|
name: mcphub-deployer
|
|
description: Install, update, activate, disable, inspect, or roll back MCP servers in the central CasaDeRoll MCPHub. Use whenever the user provides an MCP URL, package, or GitHub repository.
|
|
---
|
|
|
|
# MCPHub Deployer
|
|
|
|
Use only the `mcphub_admin_*` tools. They are the installer. Never use
|
|
`execute_code`, a terminal, SSH, Docker, Unraid tools, or edit MCPHub files.
|
|
Never create another container. Do not inspect or infer credentials.
|
|
|
|
## Choose exactly one install tool
|
|
|
|
- Existing HTTP MCP endpoint: `mcphub_admin_install_http`
|
|
- Published npm package: `mcphub_admin_install_npx`
|
|
- Published Python package: `mcphub_admin_install_uvx`
|
|
- GitHub source repository: `mcphub_admin_install_git`
|
|
|
|
For a GitHub repository, read only the upstream README and its package manifest
|
|
to determine these fields:
|
|
|
|
- `runtime`: `python` or `node`
|
|
- Python `entrypoint`: the installed console-script name from `pyproject.toml`
|
|
- Node `entrypoint`: the built JavaScript path, or `bin:NAME`
|
|
- `subdirectory`: only when the package is inside a monorepo
|
|
- `arguments`: only documented server arguments
|
|
- `required_env`: names of required variables, never their values
|
|
|
|
Then call `mcphub_admin_install_git` once. It clones, builds, stores, registers,
|
|
and versions the MCP itself. A successful install is intentionally disabled.
|
|
Do not reproduce those steps manually.
|
|
|
|
## Activation and proof
|
|
|
|
1. Report the exact missing environment key names, if any. The user fills
|
|
`/mnt/nvme-storage/appdata/MCPHub/secrets/<name>.env`; never read its values.
|
|
2. Check `mcphub_admin_git_status`.
|
|
3. Call `mcphub_admin_activate_git`. It refuses missing credentials, publishes
|
|
the server to Hermes, reloads it, and returns the live tool list.
|
|
4. Confirm success only when the returned server is connected and has tools.
|
|
Run at most one harmless read-only tool call if the user requested a test.
|
|
|
|
For an update, call the same install tool with the new pinned `ref`, then
|
|
activate it. The old release remains available. On explicit rollback use
|
|
`mcphub_admin_rollback_git` with `ROLLBACK:<name>`; it returns disabled, so
|
|
inspect and activate separately. Removal still requires `REMOVE:<name>`.
|
|
|
|
If a tool returns an error, report that exact error. Make at most one corrected
|
|
call for a concrete parameter mistake. Never invent a second deployment path.
|