Habitica MCP
Habitica MCP
Servidor MCP em TypeScript para gerenciar o Habitica como camada de execução diária — não como gerenciador de projeto.
Agentes consultam e (com confirmação explícita) alteram hábitos, diárias, afazeres e recompensas via API do Habitica. Planejamento de projeto, backlog e histórico permanecem em ferramentas externas (Obsidian, GitHub Issues, Azure Boards, Jira, etc.).
Status
MVP amplo implementado (Sprints 1–12). Incremento 8 entregue (CRUD hábitos/diárias, update de afazer, remoção tipada). Incremento 7 (Workers) adiado.
Camada | Escopo |
MVP amplo | Incrementos 1–6 — ver docs/backlog.md |
Pós-MVP | Incremento 8 concluído; Incremento 7 adiado |
MVP mínimo validável | Incremento 1 (somente leitura) — concluído |
Stack
Node.js + TypeScript
@modelcontextprotocol/sdkTransporte stdio
Gerenciador de pacotes pnpm
Plugins:
plugins/habitica-rpg-codexeplugins/habitica-rpg-cursor
Fronteira do produto
Habitica = compromisso pessoal e rotina do dia.
MCP = ponte segura para agentes (leitura primeiro; escrita só com
confirm: true).Não importar backlog completo de projeto para o Habitica.
Detalhes: CONTEXT.md.
Segurança
Credenciais apenas em variáveis de ambiente (fora do repositório). Use
.envlocal (gitignored) a partir de.env.example.Nunca registrar tokens, cookies,
Authorization, payloads sensíveis ou credenciais em notas, logs, exemplos ou testes.Variáveis:
HABITICA_USER_ID,HABITICA_API_TOKEN,HABITICA_X_CLIENT.Política de reporte: SECURITY.md.
Quick start
pnpm install
cp .env.example .env # preencha as três variáveis (sem commitar)
pnpm run build
pnpm start # ou: pnpm dev
pnpm check # typecheck + lint + format + testSmoke: pnpm exec tsx scripts/smoke-list.ts
Configuração MCP (stdio)
{
"mcpServers": {
"habitica": {
"command": "node",
"args": ["dist/index.js"],
"cwd": "<caminho-do-repo>",
"env": {
"HABITICA_USER_ID": "<seu-user-id>",
"HABITICA_API_TOKEN": "<seu-api-token>",
"HABITICA_X_CLIENT": "<user-id>-habitica-mcp"
}
}
}
}Tools
Escrita / pontuação / remoção exigem confirm: true (sem confirm = preview).
Tool | Função | Escrita |
| Listar itens | não |
| Preview de afazer | não |
| Criar afazer |
|
| Atualizar afazer |
|
| Preview de hábito | não |
| Criar hábito |
|
| Atualizar hábito |
|
| Preview de diária | não |
| Criar diária |
|
| Atualizar diária |
|
| Preview do plano do dia | não |
| Criar lote do dia |
|
| Concluir afazer |
|
| Pontuar hábito up/down |
|
| Concluir/desfazer diária |
|
| Remover habit/daily/todo |
|
Contribuindo
CONTRIBUTING.md — setup, PRs e escopo
CODE_OF_CONDUCT.md — padrões de comunidade
SECURITY.md — vulnerabilidades (reporte privado)
LICENSE — MIT
Documentação
Arquivo | Papel |
Glossário e limites de domínio | |
Roadmap / status das sprints | |
Instalação, exemplos, checklist | |
Qualidade, consumo local, rollback | |
Skill (fonte) | |
Plugin Codex | |
Plugin Cursor |
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/rodcordeiro/habitica-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server