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

PyPI Python License: MIT CI Smithery Docker

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 exigem confirm=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-mcp sem 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

PlataformaLocalizaçã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_DIRS para 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-mcp sem 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ávelPadrãoDescrição
P6MCP_WORKSPACE_DIRSDiretórios separados por dois-pontos contendo arquivos XER. Obrigatório para o modo XER.
P6MCP_OUTPUT_DIR/tmp/p6mcp_outputOnde exportações e relatórios são gravados
P6MCP_ENABLE_MUTATIONfalseDefina como true para habilitar ferramentas de gravação
P6MCP_AUTH_TOKENToken Bearer para transporte HTTP
P6MCP_CACHE_SIZE10Número de cronogramas a manter em memória
P6MCP_LOG_JSONfalseEmitir logs JSON estruturados

Consulte .env.example para um modelo completo incluindo configuração de conexão P6 EPPM.


📊 Grupos de Ferramentas

GrupoFerramentas
Arquivo e Workspacelist_xer_files, open_schedule, validate_xer, get_file_header, get_table_inventory, get_raw_table, clear_cache
Projetos e EPSget_projects, get_project_detail, get_project_codes, get_schedule_options, get_data_date
EAPget_wbs, get_wbs_detail, get_wbs_rollup, get_wbs_budgets, get_wbs_notes, get_wbs_steps
Atividadesget_activities, search_activities, get_activity_detail, get_milestones, get_constraints, get_udfs, get_expenses
Relacionamentosget_relationships, get_predecessors, get_successors, get_driving_path, analyze_logic_health
Caminho Críticoget_critical_path, get_near_critical, get_float_paths, get_negative_float, get_float_distribution, recompute_cpm
Qualidade do Cronogramarun_dcma_assessment, check_schedule_quality, get_schedule_health_score, get_invalid_dates, get_out_of_sequence
Progressoget_progress_summary, get_behind_schedule_activities, get_lookahead, get_activity_variances
Recursos e Funçõesget_resources, get_roles, get_resource_assignments, analyze_resource_utilization, get_resource_histogram
Custo e GVAget_cost_summary, get_cash_flow, get_earned_value, get_earned_value_curve, get_past_period_actuals
Calendáriosget_calendars, get_calendar_detail, calendar_working_days_between, is_working_day, compare_calendars
Linhas de Baseget_baselines, compare_to_baseline, diff_schedules, get_schedule_trend
Exportaçãoexport_data, export_workbook, export_gantt_mermaid, export_network_dot, export_ics_milestones
Mutaçãoupdate_activity, add/remove_relationship, add/delete_activity, assign_resource, write_xer (opt-in)
P6 EPPM Ativop6_list_connections, p6_open_project, p6_run_schedule_job, p6_apply_actuals, p6_create_baseline, +14 mais
Metalist_capabilities, explain_field, get_enum_values

🔌 Suporte de Backend

CapacidadeArquivos XERP6 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=true além de confirm=True por 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