pmo-planner
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Motor PMO Planner
Motor independiente para interactuar con planes de Microsoft Planner (Standard) y Microsoft Dataverse / Project for the Web (Premium).
Estructura del Proyecto
El proyecto está organizado en tres componentes:
Core (
core/): Lógica de negocio, autenticación OAuth2 y aislamiento de datos.CLI (
pmo-planner.py): Interfaz de línea de comandos para uso directo y automatizaciones.Servidor MCP (
server.py): Servidor Model Context Protocol para integración con asistentes de IA.
Related MCP server: Microsoft Planner MCP Server
Seguridad y Aislamiento por Grupo
El motor requiere configurar la siguiente variable en el archivo .env en la raíz del proyecto:
ALLOWED_GROUP_ID=00000000-0000-0000-0000-000000000000Todas las consultas (CLI y MCP) se validan contra este identificador. Los accesos a grupos distintos son bloqueados localmente.
Requisitos e Instalación
Instalar las dependencias:
pip install -r requirements.txtCrear y configurar el archivo de variables de entorno:
cp .env.template .envCompletar las variables correspondientes a Azure AD / Entra ID (Tenant ID, Client ID y Client Secret).
Uso de la CLI
Consultar Planes
Listar planes en formato tabla:
python pmo-planner.py --planesExportar planes a un archivo JSON en la raíz:
python pmo-planner.py --planes --outExportar planes a una ruta específica:
python pmo-planner.py --planes --out /ruta/al/archivo.jsonVer desglose de tareas (WBS) de un plan específico:
python pmo-planner.py --detalle <PLAN_ID>Exportar todos los planes con sus tareas en formato JSON:
python pmo-planner.py --planes --detalle --formato json
Otras Consultas
Listar Jefes de Proyecto (PM):
python pmo-planner.py --pmListar tareas vencidas y pendientes:
python pmo-planner.py --atrasadas
Integración MCP
Claude Desktop
Añadir la configuración en claude_desktop_config.json:
{
"mcpServers": {
"pmo-planner": {
"command": "python3",
"args": [
"/absolute/path/to/pmo-planner/server.py"
],
"env": {
"PYTHONPATH": "/absolute/path/to/pmo-planner"
}
}
}
}OpenCode
Añadir al bloque "mcp" de ~/.config/opencode/opencode.json:
"pmo-planner": {
"type": "local",
"command": [
"python3",
"/absolute/path/to/pmo-planner/server.py"
],
"cwd": "/absolute/path/to/pmo-planner",
"enabled": true
}Herramientas Disponibles
list_authorized_plans: Lista los planes autorizados del grupo, enriquecidos ahora conestado_base(No Iniciado,En Curso,Finalizado) yestado_nativo(obtenido directamente a través destatecode/statuscodedesde Dataverse para proyectos Premium, o "Active" para Standard).get_plan_detailed_wbs: Obtiene tareas, dependencias, avances y personas asignadas de un plan. En planes Premium resuelve asignados via Dataverse (msdyn_resourceassignments→bookableresources). En planes Standard incluyecompleted_datepara medir tiempos de completación.get_plan_health_metrics: Retorna los indicadores clave de salud de un plan (Avance Real Ponderado, Avance Esperado, Delta y Semáforo).get_overdue_tasks: Escanea tareas vencidas.get_workload_summary: Calcula la carga de trabajo de tareas activas por persona asignada.get_portfolio_macro_roadmap: Analiza el portafolio unificado cruzando iniciativas con el catálogo y configuración corporativa para generar el roadmap macro, densidad de cierres y colisiones.
Changelog
2026-08-12
feat: Resolución de asignados en planes Premium. Nuevo método
_resolve_premium_assignees()que consultamsdyn_resourceassignmentsybookableresourcesen Dataverse para obtener los nombres de las personas asignadas a cada tarea. Antes siempre retornaba un array vacío.feat: Campo
completed_dateen tareas de planes Standard (Graph). ExtraecompletedDateTimepara permitir medir tiempos de completación por persona.impacto:
get_workload_summaryyget_overdue_tasksahora reportan correctamente personas asignadas en planes Premium sin cambios adicionales.
2026-07-22
fix: Usa
msdyn_taskearlieststartcomo fecha de inicio real de proyectos Premium, con fallback amsdyn_scheduledstart. Corrige la visualización en 24 de 35 proyectos que mostraban fecha de inicio incorrecta (2025-10-23 — fecha default del tenant).fix: Resolución de nombres de proyecto con
oren vez de default parameter para manejar strings vacíos en el catálogo.docs: Se agregan las herramientas
get_plan_health_metricsyget_portfolio_macro_roadmapa la documentación de herramientas MCP disponibles.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for generating rough-draft project plans from natural-language prompts.
Headless task management for bots, apps and AI agents. Remote MCP server, OAuth or access token.
Read and write Mission Control state via MCP — projects, tasks, subtasks, templates, status updates.
Manage Timequip projects, tasks, comments, members, and dashboards through MCP.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that gives LLMs read-only access to Microsoft Project Online (Project for the Web) via the Microsoft Graph API.18 npmMIT
- AlicenseNot gradedqualityBmaintenanceAn unofficial MCP server that connects AI assistants to Microsoft Planner, enabling natural language task management such as creating tasks, organizing plans, and managing buckets.17MIT
- AlicenseNot gradedqualityBmaintenanceA self-hosted MCP server that exposes Microsoft Planner Premium structural writes via Dataverse PSS V2 APIs as MCP tools, running in the signed-in user's delegated context.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to create and manage Microsoft Planner tasks, including comments, subtasks, and bucket operations, via a Node.js MCP server wrapping a Python CLI.7 npm3MIT