microsoft / microsoft/agentsleague
Project: [Enterprise Agents] - Guardian Pulse
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 286
- Forks
- 92
- Avg merge
- 12h 44m
- Merged PRs (30d)
- 1
Description
Track
Enterprise Agents (M365 Agents Toolkit)
Project Name
Guardian Pulse — Enterprise AI Risk Intelligence System
GitHub Username
@jpablortiz96
Repository URL
https://github.com/jpablortiz96/GUARDIAN-PULSE
Project Description
Guardian Pulse is an enterprise AI risk intelligence system that transforms reactive risk management into proactive, real-time threat detection — all within the Microsoft 365 ecosystem.
The system addresses a critical enterprise problem: risk signals are scattered across email chains, news feeds, financial reports, and internal communications. By the time leadership is aware, minor concerns have already escalated into crises.
Guardian Pulse solves this through a connected multi-agent architecture built in Microsoft Copilot Studio, coordinating four specialized AI agents:
Guardian Pulse Orchestrator: Routes natural language commands to specialized agents
External Sentinel: Scans real-time news and financial data for external threats
Internal Pulse Analyzer: Detects team burnout signals from M365 metadata
Response Commander: Generates action plans and persists alerts to SharePoint
All agents connect to a custom MCP (Model Context Protocol) server built with Node.js and TypeScript, exposing five tools that pull real data from NewsAPI, Alpha Vantage, and Microsoft Graph API. Authentication uses Microsoft Entra ID with OAuth 2.0 client credentials flow.
Key features include: composite Guardian Risk Index combining external (40%), internal (30%), and vendor (30%) risk dimensions; automatic alert persistence to SharePoint when risk exceeds threshold; rich Adaptive Cards v1.5 with action buttons rendered natively in Teams; and diagnostic endpoints for SharePoint connectivity verification.
Users simply type "quick scan Boeing" in M365 Copilot Chat to receive a complete risk intelligence briefing in seconds.
Demo Video or Screenshots
Demo Video: https://youtu.be/tnGVpeP6iXw
Primary Programming Language
TypeScript/JavaScript
Key Technologies Used
Microsoft Copilot Studio (Multi-Agent Orchestration)
Model Context Protocol (MCP) — @modelcontextprotocol/sdk
Node.js 22.x + TypeScript 5.x
Express.js (StreamableHTTP transport)
Microsoft Entra ID + MSAL (OAuth 2.0 Client Credentials)
Microsoft Graph API v1.0
SharePoint Online (Alert persistence)
Adaptive Cards v1.5
NewsAPI (Real-time news intelligence)
Alpha Vantage (Financial market data)
Zod (Schema validation)
Axios (HTTP client)
Submission Type
Individual
Team Members
No response
Submission Requirements
- My project meets the track-specific challenge requirements
- My repository includes a comprehensive README.md with setup instructions
- My code does not contain hardcoded API keys or secrets
- I have included demo materials (video or screenshots)
- My project is my own work with proper attribution for any third-party code
- I agree to the Code of Conduct
- I have read and agree to the Disclaimer
- My submission does NOT contain any confidential, proprietary, or sensitive information
- I confirm I have the rights to submit this content and grant the necessary licenses
Quick Setup Summary
Clone the repo: git clone https://github.com/jpablortiz96/GUARDIAN-PULSE
Navigate to MCP server: cd guardian-pulse/mcp-server
Install dependencies: npm install
Configure environment: cp .env.example .env and fill in API keys
Run in development: npm run dev
Verify: curl http://localhost:3000/health
Connect MCP endpoint (POST /sse) in Copilot Studio with OAuth 2.0
Full setup details including Azure App Registration and Copilot Studio configuration are in the README.
Technical Highlights
Connected Multi-Agent Architecture: Four Copilot Studio agents collaborating through an orchestrator pattern — each agent has specialized MCP tools and instructions optimized for its domain (external intelligence, internal analytics, crisis response)
Real MCP Server with Read + Write: StreamableHTTP transport exposing 5 tools that both consume external APIs (NewsAPI, Alpha Vantage, Graph) and write back to SharePoint — true bidirectional data flow
Composite Risk Scoring Algorithm: Guardian Risk Index combines external (40%), internal (30%), and vendor (30%) dimensions into a single weighted score with automatic threshold-based alert generation
Enterprise-Grade Error Handling: SharePoint write failures are properly propagated (not silently swallowed), with diagnostic endpoints (/debug/sharepoint-columns, /debug/test-write) for production troubleshooting
OAuth 2.0 with Token Caching: MSAL client credentials flow with 5-minute refresh buffer — authentication overhead is near-zero on repeated tool invocations
Adaptive Cards on Every Tool: All 5 MCP tools return rich Adaptive Cards v1.5 with color-coded risk levels, action buttons, and inline fact grids — consistent UX across the entire system
Challenges & Learnings
Biggest challenge: SharePoint integration via Graph API. The write_risk_alert tool initially appeared to work but was silently failing — the error was caught internally without propagating the failure to the agent. The root cause was twofold: (1) SharePoint "Single line of text" columns have a 255-character limit that the AI-generated summaries exceeded, and (2) the original code set success: true regardless of whether the Graph API call actually succeeded. Diagnosing this required building dedicated debug endpoints (/debug/sharepoint-columns and /debug/test-write) that verified column schemas and write connectivity independently.
Second challenge: Graph API /me endpoint with Client Credentials Flow. The internal pulse tool used /me/messages which requires delegated (user) authentication, but our MCP server authenticates with app-only client credentials where /me doesn't exist. The solution was implementing an intelligent fallback with deterministic simulation seeded by department name, ensuring consistent demo data while being transparent about the data source.
Key learning: In multi-agent systems, error propagation is everything. If a tool silently succeeds when it actually fails, the orchestrating agent makes wrong decisions downstream. Building observable, diagnosable systems matters more than making them work on the happy path.
Contact Information
jpablortiz96@hotmail.com
Country/Region
Colombia
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the linked Guardian Pulse repository's README.md, then follow the setup path in mcp-server: npm install, configure .env, run npm run dev, and check /health. The submission describes a complete system but names no specific change, acceptance criteria, or file to modify, so a concrete task is needed before work can be considered done.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, express, javascript, node.js, typescript
- Domain
- ai, api, authentication, backend-api-design, cloud
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100