Uptime Kuma MCP Open
MPC do Uptime Kuma desenvolvido por GryfAi. Suporta a maioria das operações somente leitura.
Documentação
(Contexto: Este repositório pertencia anteriormente a um dos meus projetos paralelos, o GryfAI. Esse projeto foi descartado e a propriedade foi transferida para mim, pessoalmente. Ele ainda é oferecido sob a mesma licença BSL.
Vamos modificar as informações de contato e a licença será mais aberta. No entanto, gostaria de reconhecimento e atribuição pelo trabalho que investi nele.)
mcp-uptime-kuma-open
Esta é a versão aberta do nosso servidor MCP do Uptime Kuma. Ela é aberta para uso pessoal e pequenas empresas podem usá-la livremente internamente para suas operações. Consulte nossa licença para mais informações. Esta versão é lançada sob a licença BSL. Oferecemos uma solução hospedada com mais funcionalidades incorporadas na versão de código fechado. Se você quiser a versão mais avançada, entre em contato conosco pelo hello (at) gryfai.com
O repositório ainda está ativo e vamos adicionar conteúdo continuamente. Estamos cientes de que falta testagem, mas já testamos com alguns clientes. Está tudo pronto para uso! Escrever testes é a próxima coisa na nossa agenda.
A versão aberta
Esta versão expõe um conjunto limitado, porém útil, de ferramentas para interagir com o Uptime Kuma por meio da sua ferramenta LLM favorita.
Este servidor fornece estas funções:
- Recuperação do status dos monitores, tanto todos quanto individuais
- Obter batidas (beats) do monitor
- Recuperação de notificações, tanto todas quanto individuais
- Recuperação de páginas de status, tanto todas quanto individuais
- Recuperação de batimentos cardíacos (heartbeats)
- Recuperação de tags, tanto todas quanto individuais
- Recuperação do tamanho do banco de dados
- Recuperação de manutenção de páginas de status.
Todas essas funções são somente leitura na versão aberta.
Estamos lançando esta versão aberta sob a BSL com mudança de licença para Apache 2.0 no futuro. Tanto para fornecer ferramentas excelentes quanto para garantir que o tempo e o esforço que investimos na manutenção deste repositório não sejam abusados. Você pode, é claro, desenvolver um serviço de código aberto concorrente por conta própria. Incentivamos a concorrência e o código aberto. Estamos apenas regulando o código-fonte para que ele não seja usado em um SaaS concorrente ou em outros projetos para ganho monetário.
Quer mais?
O GryfAi tem uma versão mais poderosa desta ferramenta que pode ser hospedada por meio da nossa solução. Ela inclui recursos como:
- Adicionar, editar e excluir monitores
- Adicionar, editar e excluir notificações
- Adicionar, editar e excluir tags
- Funcionalidade de manutenção
- Funcionalidade Docker
- Gerenciamento de chaves de API
- Gerenciamento de proxy
Basta entrar em contato conosco: hello (at) gryfai.com
Pré-requisitos
Este projeto usa uv como sistema de build. Certifique-se de ter uv ou pip instalado. Você pode instalar o uv com:
pip install uv
Instalação e uso (usuários finais).
Instale localmente, defina as variáveis de ambiente e deixe seu cliente MCP iniciar o servidor STDIO. Normalmente você não precisa executá-lo manualmente, exceto para depuração.
-
Crie e ative um ambiente virtual (Python 3.10+).
- Verifique sua versão do Python executando
python3 --version. Se você não tiver Python 3.10 ou mais recente, pode baixá-lo do site oficial do Python. - Para criar um ambiente virtual, execute o seguinte comando a partir da raiz do diretório do projeto:
python3 -m venv .venv - Para ativar o ambiente virtual, execute um dos seguintes comandos, dependendo do seu sistema operacional:
- Linux/macOS:
source .venv/bin/activate - Windows:
.venv\Scripts\activate
- Linux/macOS:
- Quando o ambiente virtual estiver ativado, o prompt do seu shell geralmente mudará para mostrar o nome do ambiente virtual (por exemplo,
(.venv) user@host:...$).
- Verifique sua versão do Python executando
-
Instale o pacote dentro desse venv:
pip install .(ouuv pip install .).- Este comando precisa ser executado a partir da raiz do diretório do projeto.
-
Configure as variáveis de ambiente para sua instância do Uptime Kuma:
UPTIME_KUMA_URL(padrão:http://localhost:3001)UPTIME_KUMA_USERNAMEUPTIME_KUMA_PASSWORD- Você pode definir essas variáveis de ambiente no seu shell, ou pode criar um arquivo
.envna raiz do diretório do projeto e adicioná-las lá. Por exemplo:UPTIME_KUMA_URL=http://localhost:3001 UPTIME_KUMA_USERNAME=my-username UPTIME_KUMA_PASSWORD=my-password - Nota: Se você estiver usando um arquivo
.env, o servidor carregará automaticamente as variáveis de ambiente dele.
-
Aponte seu cliente MCP para o comando
python -m mcp_uptime_kuma_open.server(exemplos abaixo).- Se o seu cliente MCP estiver rodando no mesmo ambiente virtual, você pode usar o comando
python -m mcp_uptime_kuma_open.server. - Se o seu cliente MCP estiver rodando fora do ambiente virtual, você precisa fornecer o caminho completo para o executável Python no ambiente virtual. Você pode encontrar o caminho completo executando o comando
which python(no Linux/macOS) ouwhere python(no Windows) quando o ambiente virtual estiver ativado. Por exemplo:.venv/bin/python -m mcp_uptime_kuma_open.server. - Ao usar o comando
mcp add, certifique-se de que o ambiente virtual esteja ativado, ou forneça o caminho completo para o executável Python.
- Se o seu cliente MCP estiver rodando no mesmo ambiente virtual, você pode usar o comando
Notas do cliente (todos usam STDIO; as chaves correspondem à documentação atual do cliente):
Gemini CLI
- A maneira recomendada de adicionar o servidor é executar o seguinte comando:
gemini mcp add uptime-kuma python -m mcp_uptime_kuma_open.server - Reinicie ou recarregue a CLI para que ela reconheça o novo servidor.
- Alternativamente, você pode adicionar uma entrada de servidor na configuração MCP do Gemini CLI (
mcpServersem~/.gemini/settings.json):
{
"mcpServers": {
"uptime-kuma": {
"command": "python",
"args": ["-m", "mcp_uptime_kuma_open.server"]
}
}
}
Codex CLI
- A maneira recomendada de adicionar o servidor é executar o seguinte comando:
codex mcp add uptime-kuma python -m mcp_uptime_kuma_open.server - Reinicie ou recarregue a CLI para que ela reconheça o novo servidor.
- Alternativamente, você pode adicionar uma entrada de servidor STDIO na configuração do Codex (
~/.codex/config.toml):
[mcp_servers.uptime-kuma]
command = "python"
args = ["-m", "mcp_uptime_kuma_open.server"]
- Salve e reinicie a CLI do Codex para carregar o servidor.
Claude CLI
- Adicione o servidor MCP à configuração do Claude CLI (
~/.claude.json). É recomendado usar o comandoclaude mcp add. - Se editar o arquivo manualmente, adicione o seguinte ao objeto
mcpServers:
{
"mcpServers": {
"uptime-kuma": {
"command": "python -m mcp_uptime_kuma_open.server"
}
}
}
- Execute
claudenormalmente; ele iniciará o servidor STDIO automaticamente.
Claude Desktop
- A maneira recomendada de adicionar um servidor MCP é instalá-lo como uma extensão (arquivo
.mcpb) ou editar o arquivo de configuração diretamente. - O arquivo de configuração está localizado em:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
- Se editar o arquivo manualmente, adicione o seguinte ao objeto
mcpServers:
{
"mcpServers": {
"uptime-kuma": {
"command": "<path-to-root-folder-of-project>/mcp-uptime-kuma-open/.venv/bin/python",
"args": ["-m", "mcp_uptime_kuma_open.server"]
}
}
}
- Após adicionar o servidor, você deve reiniciar o aplicativo Claude Desktop.
Também oferecemos uma versão comercial HTTP/SSE que pode fornecer melhor desempenho. Sinta-se à vontade para usar a versão aberta STDIO sob a licença fornecida, ou entre em contato conosco se preferir a opção hospedada HTTP/SSE.
Sabemos que alguns clientes às vezes se comportam melhor se você executar diretamente no venv.