cpanel-reseller-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@cpanel-reseller-mcpCheck the health of account acctalpha"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
cPanel Reseller MCP
MCP global e multiusuário para operar um reseller cPanel com segurança. A fase 1 usa um catálogo local estruturado; RAG está deliberadamente reservado para a fase 2.
Arquitetura e garantias
O serviço roda na VPS Semeion como plano de controle HTTPS. Ele autentica cada pessoa/cliente com
token próprio, aplica RBAC e escopo por conta cPanel, chama WHM API 1 ou UAPI com credenciais de
menor privilégio e grava auditoria encadeada. Escritas passam obrigatoriamente por
action_prepare e action_execute; ações destrutivas exigem confirmação textual exata e podem
exigir um segundo administrador.
As consultas de conta aceitam UID, username, domínio, e-mail de contato ou IP e resolvem tudo
para o username canônico dentro do escopo do usuário. Respostas preservam o payload bruto para
compatibilidade e acrescentam normalized_data, correlation_id e erros estruturados. O dossiê
executa somente leituras, tolera seções indisponíveis e registra toda a cadeia com o mesmo ID de
correlação.
O catálogo diferencia seis classes de risco: read, sensitive_read,
external_side_effect, reversible_write, destructive e privileged. Operações avançadas sem
schema validado ficam bloqueadas por padrão. Leitura de alvos sensíveis como .env, .my.cnf,
wp-config.php e config.php também é negada por padrão.
Clientes MCP remotos usam https://mcp-reseller.semeiontech.com/mcp. Clientes que aceitam apenas
stdio executam reseller-mcp-bridge, que usa mcp-remote sem expor o bearer token no argv.
Related MCP server: SSH MCP Server
Ferramentas públicas
Inventário:
reseller_overview,accounts_list,account_resolve,account_inspect.Diagnóstico:
account_dossier,account_healthcheck.Descoberta:
capabilities_search,capability_describe,capability_check.Execução:
query_execute,action_prepare,action_execute,action_cancel,action_approve. Inclui as capabilitiesdatabase.query_readonly,database.transaction_executeeworkflow.database_migration_applypara acesso direto e auditado ao MySQL das contas, substituindo o antigo improviso de publicar PHP temporário.Governança:
audit_search,job_get,observability_snapshot.
O catálogo completo contém todas as operações anunciadas pelo servidor, porém operações não curadas ficam restritas a administradores; funções de token, sessão, access hash e chamadas com senha são bloqueadas pelo harness. Mesmo para administradores, capacidades avançadas sem schema não são executáveis até serem curadas ou a proteção ser explicitamente desativada.
Fluxo recomendado
Resolva a conta com
account_resolvequando o identificador não for o username canônico.Use
account_dossierpara uma visão completa ouaccount_healthcheckpara achados priorizados.Para uma operação específica, pesquise, descreva e execute
capability_checkantes da chamada.Use
query_executeapenas para leituras; qualquer escrita passa pelo fluxo prepare/execute.
Consulte contratos e segurança e a decisão sobre a evolução do harness. Para trabalhar nessa evolução, siga o guia incremental para iniciantes.
Desenvolvimento
Requer Python 3.12 e uv.
uv sync --extra dev
uv run python scripts/capture_live_catalog.py
cp .env.example .env
uv run reseller-mcp-admin users create admin --role admin --scope '*'
uv run reseller-mcp-admin tokens issue admin codex
uv run reseller-mcpGestão da equipe
reseller-mcp-admin users list
reseller-mcp-admin users create ana --role operator --scope acctalpha --scope acctbeta
reseller-mcp-admin users set-scopes ana --scope acctalpha
reseller-mcp-admin users set-active ana false
reseller-mcp-admin tokens issue ana claude-desktop
reseller-mcp-admin tokens list ana
reseller-mcp-admin tokens revoke KEY_IDO token emitido é mostrado uma única vez. Cada combinação pessoa/cliente deve ter um token distinto, permitindo revogação e rastreabilidade independentes.
Deploy
O fluxo normal usa GitHub Actions:
Pull requests executam formatação, lint, tipagem, testes, auditoria de dependências, Trivy e build do container.
Push aprovado em
mainpublica uma imagem imutável AMD64/ARM64 no GHCR.O job
productionusa um runner dedicado na VPS, valida o container e/healthze faz rollback automático em caso de falha.
O .env, o banco SQLite e os tokens upstream nunca transitam pelo Actions. Consulte o
guia de CI/CD para configurar o runner dedicado, a proteção de branch e o ambiente
de produção.
Para bootstrap local ou recuperação manual, ainda é possível executar docker compose up -d --build diretamente na VPS. Publique somente o proxy TLS; a porta 8787 permanece vinculada a
127.0.0.1.
Não versionar .env, tokens, access hash, dumps de auditoria ou o banco SQLite.
Qualidade
uv run ruff check .
uv run mypy src/reseller_mcp
uv run pytest -qThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Semeion-Tech/cpanel-reseller-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server