Install
$ agentstack add mcp-fakhruldeen-agenticpmo ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
AgenticPMO
🎯 Executive Overview
AgenticPMO is the orchestration and intelligence layer designed to programmatically execute PMI PMBOK® 8th Edition project management workflows.
It is built as an autonomous multi-agent state machine on top of the PMOSkills SDK, which provides 48 executable skills, 41 process records, and 92 templates. AgenticPMO translates natural language project instructions into structured, verified project management artifacts (such as Context Registers, charters, risk registers) and routes approvals through a quantitative escalation matrix.
🗺️ System Architecture
AgenticPMO runs a cyclic state machine powered by LangGraph. The workflow dynamically loops to collect missing project inputs before executing the requested PMBOK skill:
flowchart TD
START([Start /chat]) --> Orch[Orchestrator Agent]
Orch -->|Identify active_skill| Exec[Executor Agent]
Orch -->|No active_skill| END([End / Return State])
Exec -->|Missing inputs?| Loop[Flag Missing Inputs]
Loop -->|Stop & Ask User| END
Exec -->|Complete inputs| Gen[Generate Artifact & Run Quality Gate]
Gen --> Gov[Governor Agent]
Gov -->|Determine escalation band T1-T4| Approve[Log Approval & Set Escalation]
Approve --> END
classDef orchStyle fill:#e6f3ff,stroke:#0073e6,stroke-width:2px,color:#000;
classDef execStyle fill:#fff3e6,stroke:#ff8800,stroke-width:2px,color:#000;
classDef govStyle fill:#ebfaeb,stroke:#2eb82e,stroke-width:2px,color:#000;
class Orch orchStyle;
class Exec,Loop,Gen execStyle;
class Gov,Approve govStyle;
Agent Nodes
- Orchestrator Agent (
agents/orchestrator.py):
- Parses the user's natural language input.
- Extracts project identifiers, budgets, contingency spends, variances, and sponsor details.
- Maps requests to appropriate skill codes from the PMOSkills registry (e.g.
SKL-01-01to establish project governance).
- Executor Agent (
agents/executor.py):
- References the
pmoskillsSDK database. - Audits the current context for mandatory variables required by the skill.
- Pauses execution and requests missing variables from the user if any are absent.
- Generates compliant, markdown-formatted artifacts and writes them to the
artifacts/folder.
- Governor Agent (
agents/governor.py):
- Evaluates project parameters against a quantitative decision matrix.
- Assigns a governance band (
T1toT4) based on budget, cost variance, or strategic impact. - Demands Human-In-The-Loop (HITL) sponsor authorization for high-risk decisions (
T3&T4).
⚖️ Governance & Escalation Band Matrix
| Band | Characteristics | Default Authority | Action Pathway | |---|---|---|---| | T1 Operational | Within baseline tolerances, budget $100K or cost variance > 10% | Project Sponsor | Requires formal Sponsor authorization | | T4 Enterprise | Strategic impact, cross-project portfolio alignment | Portfolio Board / Executive | Executive portfolio board intervention |
⚙️ Installation & Setup
Prerequisites
- Python 3.10+
- Virtual environment tool
Installation Steps
- Clone the Repository & Navigate to Workspace:
``bash git clone cd AgenticPMO ``
- Create and Activate Virtual Environment:
``bash python3 -m venv venv source venv/bin/activate ``
- Install Dependencies:
``bash pip install -r requirements.txt ``
- Install PMOSkills SDK:
The orchestration layer leverages the pmoskills core module. Install it via PyPI: ``bash pip install pmoskills ``
🚀 Running the API Server
Start the FastAPI application using uvicorn:
PYTHONPATH=. uvicorn api.main:app --reload --host 127.0.0.1 --port 8000
Health Check Endpoint
curl -s http://127.0.0.1:8000/
Response:
{
"status": "healthy",
"service": "AgenticPMO Orchestrator",
"framework": "PMBOK 8th Edition",
"llm_configured": false
}
Executing a Chat Workflow
Post a request to start a PMBOK 8 process:
curl -s -X POST -H "Content-Type: application/json" \
-d '{"message": "Establish governance for Aero Project with budget $120000"}' \
http://127.0.0.1:8000/chat
Because the sponsor was not specified, the state machine will automatically halt and request the missing input:
{
"messages": [
{"role":"human","content":"Establish governance for Aero Project with budget $120000"},
{"role":"ai","content":"[Orchestrator Mock] Request matches skill SKL-01-01..."},
{"role":"ai","content":"[Executor Mock] Missing inputs for SKL-01-01: ['Sponsor']. Please provide: Sponsor."}
],
"current_project_context": {
"project_name": "Aero Project",
"project_budget": 120000.0
},
"active_skill": "SKL-01-01",
"missing_inputs": ["Sponsor"],
"generated_artifact": null,
"escalation_level": null
}
Resume the workflow by passing back the serialized state with the missing field answered:
curl -s -X POST -H "Content-Type: application/json" \
-d '{"message": "The project sponsor is Alice Smith", "state": {"messages": [...], "current_project_context": {...}, "active_skill": "SKL-01-01", "missing_inputs": ["Sponsor"]}}' \
http://127.0.0.1:8000/chat
🧪 Running Tests
Verify the orchestrator state machine, executor templates, and governor thresholds using pytest:
PYTHONPATH=. pytest tests/test_graph.py -v
📖 Citation & References
To cite AgenticPMO in your academic work:
@software{agenticpmo2026,
author = {Fakhruldeen, Mohamed (Fouad)},
title = {{fakhruldeen/AgenticPMO: Release v0.1.1}},
month = jun,
year = 2026,
publisher = {Zenodo},
version = {v0.1.1},
doi = {10.5281/zenodo.20533683},
url = {https://doi.org/10.5281/zenodo.20533683}
}
> Mohamed (Fouad) Fakhruldeen. (2026). fakhruldeen/AgenticPMO: Release v0.1.1 (v0.1.1). Zenodo. https://doi.org/10.5281/zenodo.20533683
This project utilizes the PMOSkills repository schema and database as its underlying core:
@misc{pmoskills2026,
author = {Fakhruldeen, Mohamed Fouad},
title = {{PMOSkills: An Executable Skill System \& PMO Reference Architecture built on PMI PMBOK® 8th Edition}},
month = jun,
year = 2026,
publisher = {Zenodo},
version = {v0.5},
doi = {10.5281/zenodo.20510540},
url = {https://doi.org/10.5281/zenodo.20510540}
}
PMBOK and PMI are registered marks of the Project Management Institute, Inc.
> [!NOTE] > Independent Academic Project: This repository contains summaries, templates, and compliance test suites compiled from public project management frameworks. PMBOK and PMI are registered trademarks of the Project Management Institute, Inc. This project is independently developed and is not affiliated with or endorsed by PMI.
Authority: PMBOK 8 Primary · PMI Companion References Secondary · Organization-Defined Tertiary Project: PMI PMBOK 8 Knowledge Base Repository Space Maintainer: **Mohamed Fouad Fakhruldeen GitHub, LinkedIn, Website**
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: fakhruldeen
- Source: fakhruldeen/AgenticPMO
- License: MIT
- Homepage: https://fakhruldeen.github.io
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.