OmniFocus MCP Server
Integre o OmniFocus com o Claude Desktop para gerenciamento de tarefas e revisões semanais com inteligência artificial.
Documentação
Servidor MCP OmniFocus
Um servidor Model Context Protocol (MCP) para integrar o OmniFocus com o Claude Desktop. Este servidor fornece ao Claude acesso às suas tarefas e projetos do OmniFocus, permitindo gerenciamento de tarefas com IA e revisões semanais.
Recursos
- 🎯 Integração OmniFocus - Acesse tarefas e projetos do OmniFocus
- 🔧 Filtragem de Tarefas Ativas - Obtenha apenas tarefas não concluídas, excluindo modelos e itens do sistema
- 🚀 TypeScript + SDK MCP - Seguro em termos de tipos e fácil de manter
- 🔒 Automação Segura - Usa a API oficial JavaScript do Omni Automation
- 📱 Pronto para Claude Desktop - Funciona perfeitamente com o Claude Desktop
Ferramentas Atuais
omnifocus:get_all_tasks
Recupera todas as tarefas do OmniFocus com opções de filtragem:
includeCompleted(booleano) - Incluir tarefas concluídas (padrão: false)limit(número) - Número máximo de tarefas a retornar (padrão: 100)
omnifocus:get_active_tasks
Recupera apenas tarefas ativas (não concluídas), filtrando automaticamente:
- Tarefas de pastas "Templates"
- Tarefas contendo placeholders de modelo (
«,») - Tarefas com marcadores de preferências sincronizadas (
⚙️)
omnifocus:get_projects
Recupera todos os projetos ativos do OmniFocus.
Pré-requisitos
- macOS com OmniFocus instalado
- Node.js 23.10.0 ou superior
- Aplicativo Claude Desktop
- Permissões de automação para o OmniFocus
Instalação
-
Clone o repositório:
git clone https://github.com/mdoel/omnifocus-mcp cd omnifocus-mcp -
Instale as dependências:
npm install -
Compile o projeto:
npm run build -
Configure o Claude Desktop:
Adicione isto à sua configuração MCP do Claude Desktop:
{ "mcpServers": { "omnifocus": { "command": "/path/to/omnifocus/run-server.sh", "args": [] } } }Importante: Substitua
/path/to/omnifocus/pelo caminho real para o diretório do seu projeto. -
Conceda permissões de automação:
Na primeira vez que você executar o servidor, o macOS solicitará que você conceda permissões de automação para o OmniFocus. Clique em "Permitir" quando solicitado.
Nota: Se você encontrar problemas de permissão, pode ser necessário descomentar temporariamente as linhas
osascriptemrun-server.shpara acionar o diálogo de permissão. Após conceder as permissões, comente essas linhas novamente para evitar o diálogo em cada inicialização. -
Reinicie o Claude Desktop para carregar o novo servidor MCP.
Uso
Depois de configurado, você pode pedir ao Claude para:
- "Pegue todas as minhas tarefas ativas do OmniFocus"
- "Mostre-me meus projetos"
- "Que tarefas tenho para hoje?"
- "Ajude-me com minha revisão semanal"
Arquitetura
Componentes Principais
OmniFocusClient- Gerencia a comunicação com o OmniFocus via Omni AutomationOmniFocusJXA- Utilitário para construir e executar scripts JXAOmniFocusMCPServer- Implementação principal do servidor MCP
Estrutura de Diretórios
src/
├── index.ts # Main entry point
├── server.ts # MCP server implementation
├── omnifocus/
│ ├── client.ts # OmniFocus automation client
│ └── omnifocus-jxa.ts # JXA script utilities
└── types/
└── omnifocus.ts # TypeScript definitions
Desenvolvimento
Compilação
# Build the project
npm run build
# Watch mode for development
npm run dev
Testes
Você pode testar o servidor localmente:
# Test with command line arguments
node dist/index.js all # Get all tasks
node dist/index.js active # Get active tasks only
node dist/index.js projects # Get projects only
Testando a Automação do OmniFocus
Teste a automação do OmniFocus diretamente:
# Test basic connection
osascript -l JavaScript -e "Application('OmniFocus').running()"
# Test task retrieval
osascript -l JavaScript -e "
const app = Application('OmniFocus');
const doc = app.defaultDocument;
const tasks = doc.flattenedTasks();
console.log('Found ' + tasks.length + ' tasks');
"
Solução de Problemas
Problemas de Conexão com o Servidor
Se o Claude Desktop não conseguir se conectar ao servidor:
- Verifique o caminho do script na sua configuração do Claude Desktop
- Verifique as permissões - garanta que o script
run-server.shseja executável:chmod +x run-server.sh - Verifique a instalação do Node.js - garanta que o Node.js 23.10.0+ esteja instalado
- Revise os logs - verifique os logs do servidor MCP do Claude Desktop para mensagens de erro
Problemas de Permissão
Se você receber erros de permissão de automação:
- Abra Preferências do Sistema > Segurança e Privacidade > Privacidade
- Selecione Automação na barra lateral esquerda
- Encontre seu terminal/shell e marque OmniFocus
- Reinicie seu terminal e tente novamente
OmniFocus Não Encontrado
- Certifique-se de que o OmniFocus esteja instalado e em execução
- Verifique se o nome do aplicativo é "OmniFocus" (não "OmniFocus 3" ou algo semelhante)
- Verifique se o OmniFocus não está na lixeira ou desativado
Problemas de Desempenho
Se o servidor estiver lento ou expirar:
- O servidor pode levar tempo para processar grandes bancos de dados do OmniFocus
- Considere usar o parâmetro
limitpara reduzir o número de tarefas retornadas - Certifique-se de que o OmniFocus não esteja realizando outras operações
Contribuindo
Este projeto foi projetado para ser extensível. Para adicionar novas funcionalidades:
- Adicione novas ferramentas no diretório
src/omnifocus/ - Atualize o servidor para registrar novas ferramentas
- Teste minuciosamente com seus dados do OmniFocus
- Envie um pull request com documentação clara
Licença
Licença MIT - consulte o arquivo LICENSE para detalhes.
Suporte
Para problemas e perguntas:
- Consulte a seção de solução de problemas acima
- Revise a documentação MCP do Claude Desktop
- Abra uma issue neste repositório