P6-MCP
Analise arquivos de cronograma Oracle Primavera P6 XER e controle P6 EPPM ao vivo, caminho crítico, DCMA 14 pontos, valor agregado e 138 ferramentas para qualquer cliente de IA.
Documentação
P6-MCP
Servidor MCP Primavera P6
Um servidor MCP completo para Oracle Primavera P6. Aponte qualquer cliente de IA compatível com MCP para seus arquivos XER ou uma instância P6 EPPM ativa e comece a fazer perguntas em linguagem natural.
✨ Destaques
- 138 ferramentas em uma superfície unificada — a mesma ferramenta funciona tanto com arquivos XER quanto com P6 EPPM ativo, sem alterações no seu prompt
- Parser XER completo — leitura e gravação sem perdas do formato Oracle Primavera XER, incluindo todas as tabelas, codificação CP1252 e dados de calendário
- Avaliação de cronograma DCMA 14 pontos — verificação automatizada de conformidade com aprovação/reprovação por métrica e descobertas acionáveis
- Análise de caminho crítico e folga — passagem direta e reversa, caminho direcionador, atividades quase críticas, detecção de folga negativa
- Gerenciamento de Valor Agregado — CPI, SPI, EAC, TCPI, curvas S e desempenho por período a partir de XER ou P6 ativo
- Utilização de recursos — histograma, relatório de nivelamento, detecção de alocação excessiva em todas as atribuições
- Comparação de linha de base e diff de cronograma — compare quaisquer dois snapshots XER ou XER vs projeto P6 ativo
- Mutação segura por padrão — ferramentas de gravação são desabilitadas até que você defina
P6MCP_ENABLE_MUTATION=true; todas as mutações exigemconfirm=True - Três transportes — stdio para clientes desktop, HTTP Streamable e SSE para implantações remotas/Docker
- Funciona com todos os principais clientes MCP — Claude Desktop, Cursor, Windsurf, VS Code, Zed, Continue, OpenAI Agents SDK
🚀 Instalação e Configuração
Novo no MCP? Siga o guia passo a passo para sua plataforma abaixo. Toda a configuração leva menos de 5 minutos.
Pré-requisitos
O P6-MCP usa uv para executar — ele lida com tudo automaticamente, sem necessidade de gerenciar um ambiente Python separado.
Instale o uv primeiro (se você não o tiver):
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# macOS with Homebrew
brew install uv
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Depois que o uv estiver instalado, você pode executar o P6-MCP diretamente, sem etapa adicional de instalação:
uvx p6-mcp
Executar
uvx p6-mcpsem subcomando exibirá a ajuda de uso — isso significa que está funcionando corretamente. Consulte Uso da CLI para comandos disponíveis.
Opção A: Claude Desktop (Recomendado para a maioria dos usuários)
Etapa 1 — Encontre ou crie seu arquivo de configuração
| Plataforma | Localização do arquivo de configuração |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
No macOS, abra-o diretamente pelo Terminal:
open -e ~/Library/Application\ Support/Claude/claude_desktop_config.json
Se o arquivo ainda não existir:
# macOS
mkdir -p ~/Library/Application\ Support/Claude
touch ~/Library/Application\ Support/Claude/claude_desktop_config.json
open -e ~/Library/Application\ Support/Claude/claude_desktop_config.json
Etapa 2 — Adicione o servidor P6-MCP
Adicione o bloco mcpServers à sua configuração. Se o arquivo já tiver outros servidores, basta adicionar a entrada "p6-mcp" dentro do objeto "mcpServers" existente.
{
"mcpServers": {
"p6-mcp": {
"command": "uvx",
"args": ["p6-mcp", "serve", "--transport", "stdio"],
"env": {
"P6MCP_WORKSPACE_DIRS": "/path/to/your/xer/files"
}
}
}
}
Importante: Defina
P6MCP_WORKSPACE_DIRSpara a pasta que contém seus arquivos.xer, não o arquivo em si. Não sabe onde estão seus arquivos XER? Execute isto no Terminal para encontrá-los:find ~ -name "*.xer" 2>/dev/null
Etapa 3 — Reinicie o Claude Desktop
Feche e reabra completamente o Claude Desktop. As ferramentas P6-MCP serão carregadas automaticamente — sem necessidade de comandos no Terminal.
Etapa 4 — Verifique se está funcionando
Em uma nova conversa no Claude, tente:
"Liste meus arquivos XER"
ou arraste um arquivo .xer para a conversa e pergunte:
"Dê-me um resumo do projeto para este cronograma"
Opção B: Cursor / Windsurf / VS Code
{
"mcp": {
"servers": {
"p6-mcp": {
"command": "uvx",
"args": ["p6-mcp", "serve", "--transport", "stdio"],
"env": { "P6MCP_WORKSPACE_DIRS": "/path/to/your/xer/files" }
}
}
}
}
Opção C: Docker (implantações remotas/servidor)
docker run -p 8000:8000 -v /path/to/xer:/data ghcr.io/shamshirialireza/p6-mcp
Opção D: pip (se você preferir uma instalação tradicional)
pip install p6-mcp
# With optional extras (Excel export, charts, HTTP transport)
pip install "p6-mcp[excel,charts,http]"
🖥️ Uso da CLI
Após a instalação, você também pode usar o P6-MCP diretamente da linha de comando — sem necessidade de cliente de IA:
p6-mcp inspect schedule.xer # table inventory and project list
p6-mcp dcma schedule.xer # DCMA 14-point report
p6-mcp diff old.xer new.xer # compare two schedules
p6-mcp validate schedule.xer # structural validation
p6-mcp evm schedule.xer # earned value summary
p6-mcp export schedule.xer --format xlsx --output report.xlsx
Executar
p6-mcpsem subcomando exibe a mensagem de ajuda — isso é esperado e significa que a ferramenta está instalada corretamente.
⚙️ Configuração
Toda a configuração é feita por meio de variáveis de ambiente, seja no arquivo de configuração do seu cliente MCP ou em um arquivo .env (consulte .env.example para um modelo completo).
| Variável | Padrão | Descrição |
|---|---|---|
P6MCP_WORKSPACE_DIRS | — | Diretórios separados por dois-pontos contendo arquivos XER. Obrigatório para o modo XER. |
P6MCP_OUTPUT_DIR | /tmp/p6mcp_output | Onde exportações e relatórios são gravados |
P6MCP_ENABLE_MUTATION | false | Defina como true para habilitar ferramentas de gravação |
P6MCP_AUTH_TOKEN | — | Token Bearer para transporte HTTP |
P6MCP_CACHE_SIZE | 10 | Número de cronogramas a manter em memória |
P6MCP_LOG_JSON | false | Emitir logs JSON estruturados |
Consulte .env.example para um modelo completo incluindo configuração de conexão P6 EPPM.
📊 Grupos de Ferramentas
| Grupo | Ferramentas |
|---|---|
| Arquivo e Workspace | list_xer_files, open_schedule, validate_xer, get_file_header, get_table_inventory, get_raw_table, clear_cache |
| Projetos e EPS | get_projects, get_project_detail, get_project_codes, get_schedule_options, get_data_date |
| EAP | get_wbs, get_wbs_detail, get_wbs_rollup, get_wbs_budgets, get_wbs_notes, get_wbs_steps |
| Atividades | get_activities, search_activities, get_activity_detail, get_milestones, get_constraints, get_udfs, get_expenses |
| Relacionamentos | get_relationships, get_predecessors, get_successors, get_driving_path, analyze_logic_health |
| Caminho Crítico | get_critical_path, get_near_critical, get_float_paths, get_negative_float, get_float_distribution, recompute_cpm |
| Qualidade do Cronograma | run_dcma_assessment, check_schedule_quality, get_schedule_health_score, get_invalid_dates, get_out_of_sequence |
| Progresso | get_progress_summary, get_behind_schedule_activities, get_lookahead, get_activity_variances |
| Recursos e Funções | get_resources, get_roles, get_resource_assignments, analyze_resource_utilization, get_resource_histogram |
| Custo e GVA | get_cost_summary, get_cash_flow, get_earned_value, get_earned_value_curve, get_past_period_actuals |
| Calendários | get_calendars, get_calendar_detail, calendar_working_days_between, is_working_day, compare_calendars |
| Linhas de Base | get_baselines, compare_to_baseline, diff_schedules, get_schedule_trend |
| Exportação | export_data, export_workbook, export_gantt_mermaid, export_network_dot, export_ics_milestones |
| Mutação | update_activity, add/remove_relationship, add/delete_activity, assign_resource, write_xer (opt-in) |
| P6 EPPM Ativo | p6_list_connections, p6_open_project, p6_run_schedule_job, p6_apply_actuals, p6_create_baseline, +14 mais |
| Meta | list_capabilities, explain_field, get_enum_values |
🔌 Suporte de Backend
| Capacidade | Arquivos XER | P6 EPPM Ativo |
|---|---|---|
| Ler dados do cronograma | ✅ | ✅ |
| Caminho crítico e folga | ✅ | ✅ |
| Avaliação DCMA 14 pontos | ✅ | ✅ |
| Valor agregado e custo | ✅ | ✅ |
| Utilização de recursos | ✅ | ✅ |
| Comparação de linha de base | ✅ | ✅ |
| Exportação (xlsx, csv, Gantt) | ✅ | ✅ |
| Gravação / mutação | ✅ | ✅ |
| Trabalhos de cronograma e nivelamento | ❌ | ✅ |
| Aplicar valores reais | ❌ | ✅ |
| Armazenar desempenho por período | ❌ | ✅ |
🔒 Segurança
- O acesso a arquivos XER é restrito a
P6MCP_WORKSPACE_DIRS— travessia de caminho é bloqueada - A mutação está desabilitada por padrão; exige
P6MCP_ENABLE_MUTATION=truealém deconfirm=Truepor chamada - O transporte HTTP suporta autenticação por token bearer via
P6MCP_AUTH_TOKEN - As credenciais do P6 EPPM nunca são registradas em logs
🛠️ Solução de Problemas
p6-mcp: error: the following arguments are required: command
Isso é esperado — significa que o P6-MCP está instalado e funcionando. Você só precisa fornecer um subcomando como inspect, dcma ou serve. Consulte Uso da CLI.
Ferramentas não aparecendo no Claude Desktop
Certifique-se de ter fechado e reaberto completamente o Claude Desktop após editar a configuração. Verifique também se seu JSON é válido (sem vírgulas finais) e se P6MCP_WORKSPACE_DIRS aponta para uma pasta existente.
Não consegue encontrar seus arquivos XER? Execute isto no Terminal para localizá-los:
find ~ -name "*.xer" 2>/dev/null
Usando P6-MCP no claude.ai (navegador)
A interface do claude.ai adia o carregamento de ferramentas. Se você vir um erro como has not been loaded yet, isso é normal — as ferramentas P6-MCP carregam sob demanda nesse ambiente. No Claude Desktop, as ferramentas carregam automaticamente sem etapas adicionais.
📄 Licença
MIT © Alireza Shamshiri