WacTrack MCP Server
A Model Context Protocol (MCP) server VS Code extension that provides seamless access to Office development workflows, deployment tracking, and build analysis through the WacTrack API ecosystem.
🔒 Internal Tool: This extension is designed exclusively for Microsoft employees with access to Office MonoRepo and WacTrack systems.
🚀 Quick Start
1. Install the Extension
- Install or update WacTrack by WESTDevX from the VS Code Marketplace. The extension identifier is
WESTDevX.wactrack-mcp-server.
- Run Developer: Reload Window after installing or upgrading.
- Check the extension's details in the Extensions view and confirm version 5.0.1 or later for the corrected Excel mappings.
The fixed version must be published before the Marketplace can offer it. Once available, use the extension's Update button or enable Auto Update. The Marketplace 5.0.0 package still contains the invalid Excel mappings; updating only to that version does not fix Excel tracking.
After upgrading, restart WacTrack through MCP: List Servers and retry the failing query. Redeploying the WacTrack API alone does not update the extension's bundled server.
To build the release VSIX from the reviewed commit, use Node.js 22 and run from the repository root:
cd wactrack-mcp-server
npm ci
npm run package
An authorized WESTDevX publisher must upload the approved VSIX as a new version in Marketplace publisher management. Merging the PR or deploying the WacTrack webapp does not perform this step. Confirm the new version is available before asking users to update.
2. Sign In
After installation, you'll see a welcome message. Click "Sign In Now" or:
- Open Command Palette (
Ctrl+Shift+P / Cmd+Shift+P)
- Type:
WacTrack: Sign In
- Authenticate with your Microsoft account
✅ You're ready! The status bar will show $(account) WacTrack ✓
3. Troubleshooting Setup Issues
If you encounter issues during setup, try the following steps:
- Reload VS Code: Sometimes a simple reload can resolve initial setup issues. Use
Ctrl+Shift+P and type "Developer: Reload Window".
- Verify MCP Server Configuration: Ensure that the MCP server is correctly listed by using
Ctrl+Shift+P and typing "MCP: List Servers".
- Re-authenticate: If authentication fails, try re-authenticating by using
Ctrl+Shift+P and typing "WacTrack: Authenticate".
Reload VS Code (Ctrl+Shift+P → "Developer: Reload Window")
Try authentication again: Ctrl+Shift+P → "MCP: List Servers"
Try authentication again: Ctrl+Shift+P → "WacTrack: Authenticate"
🎯 What This Extension Does
This extension enables you to use WacTrack functionality directly in GitHub Copilot Chat:
- 🔍 Track Pull Requests - Monitor PRs from submission to production
- 🚂 Deployment Status - Check deployment progress across Office environments
- 📊 Build Comparison - Compare builds to understand changes
- 🔄 Integration Flow - Track how changes flow between branches
💬 Using with GitHub Copilot Chat
Once signed in, you can ask Copilot natural language questions:
Track my PR 4640080
What's the deployment status of OMR PR 4791967?
Track OOUI changes for PR 4640080 in PowerPoint
Compare builds 20260128.9 and 20260128.11
Search for PRs by alias johndoe in Excel branch
Copilot will automatically use the WacTrack MCP tools to fetch the information.
Pull Request Tracking
track_omr_changes - Track OMR (Office) pull request through deployment pipeline
track_ooui_changes - Track OOUI (Office Online) changes with package name
search_pull_requests - Search for pull requests by keyword
get_pull_request - Get details of a specific pull request
Build & Deployment Tracking
track_ahp_changes - Track AHP (Application Host Platform) deployments
track_wise_changes - Track WISE deployments
The tools automatically understand:
- Branch Names:
excel → official/xl_online, ppt → official/pptwac
- Package Names:
word → word_ui, powerpoint → ppt
- Various Formats: Build versions, NuGet versions, user aliases
⚙️ Commands
Available Commands in Command Palette
| Command |
Description |
| WacTrack: Sign In |
Authenticate with Microsoft account |
| WacTrack: Show Sign-in Status |
Check authentication status and token info |
| WacTrack: Sign Out |
Clear authentication token |
Status Bar
Look for the status bar item on the right side:
- ✅
$(account) WacTrack ✓ - Signed in
- ⚠️
$(account) WacTrack ⚠ - Not signed in (click to sign in)
Click the status bar item to check your authentication status anytime.
🔧 Configuration
Settings
| Setting |
Default |
Description |
wactrack.apiUrl |
https://wactrack.azurewebsites.net/api |
WacTrack API base URL |
To change settings:
- Open Settings (
Ctrl+, / Cmd+,)
- Search for "WacTrack"
- Modify as needed
🔒 Security & Authentication
How Authentication Works
- Initial Sign-in: Extension uses VS Code's built-in Microsoft authentication
- Token Storage: Securely stores token in VS Code globalStorage with restricted permissions
- Auto-Refresh: Refreshes token every 30 minutes automatically
- MCP Server: Reads fresh token from secure file when making API calls
What Permissions Are Requested?
- Microsoft Account: To authenticate you with WacTrack API
- Scope:
api://e96d578a-0d46-4ffd-83f9-2cfaa4be9ef3/user_impersonation
- This is the WacTrack API scope for delegated user access
- Same authentication used by wac-track.com website
Token Storage Location
Tokens are stored in VS Code's globalStorage directory:
- Windows:
%APPDATA%\Code\User\globalStorage\westdevx.wactrack-mcp-server\.wactrack-token
- Mac:
~/Library/Application Support/Code/User/globalStorage/westdevx.wactrack-mcp-server/.wactrack-token
- Linux:
~/.config/Code/User/globalStorage/westdevx.wactrack-mcp-server/.wactrack-token
File permissions: 0o600 (read/write for owner only)
🐛 Troubleshooting
Extension Not Working?
1. Check Extension is Activated
- Look for the status bar item:
$(account) WacTrack
- If not visible, reload VS Code:
Ctrl+Shift+P → "Developer: Reload Window"
2. Sign In
- Run:
WacTrack: Sign In from Command Palette
- Complete Microsoft authentication
3. Check Authentication Status
- Run:
WacTrack: Show Sign-in Status
- Should show your Microsoft account
1. Verify Extension is Running
- Check status bar shows
$(account) WacTrack ✓
2. Check GitHub Copilot is Installed
- Install "GitHub Copilot Chat" extension if not already installed
3. Restart VS Code
- Sometimes MCP servers need a restart to be discovered
4. Check MCP Configuration
- Open Command Palette:
Preferences: Open User Settings (JSON)
- Look for
github.copilot.chat.mcp.servers section
- Should include
wactrack server
API Calls Failing with 401/403?
1. Re-authenticate
- Run:
WacTrack: Sign Out
- Run:
WacTrack: Sign In
- Try again
2. Check Token File Exists
- See "Token Storage Location" above
- File should exist and contain a token string
3. Token Refresh Issue
- Extension auto-refreshes tokens every 30 minutes
- If this fails, sign out and sign in again
Still Having Issues?
Check Extension Logs:
- Open Output panel:
View → Output
- Select "Extension Host" from dropdown
- Look for WacTrack-related messages
Check MCP Server Logs:
- Open Output panel:
View → Output
- Select "MCP Server - WacTrack" from dropdown
- Look for error messages
Report Issues:
- Contact the WEST DevX team
- Provide logs from Extension Host and MCP Server outputs
🏗️ For Developers
Building the Extension
# Install dependencies
npm install
# Compile TypeScript
npm run compile
# Watch for changes
npm run watch
# Package as VSIX
npm run package
Project Structure
wactrack-mcp-server/
├── src/
│ ├── extension.ts # VS Code extension (manages auth, UI)
│ ├── local-server.ts # MCP server (stdio transport)
│ └── index.ts # MCP server (HTTP transport, for remote)
├── out/ # Compiled extension code
├── build/ # Compiled MCP server code
├── package.json # Extension manifest
├── tsconfig.extension.json
├── tsconfig.json
└── README.md
Architecture
┌─────────────────────────────────────────┐
│ VS Code Extension │
│ │
│ - Manages authentication │
│ - Writes token to secure file │
│ - Auto-refreshes every 30 min │
│ - Shows status bar UI │
└──────────────┬──────────────────────────┘
│ Spawns child process
↓
┌─────────────────────────────────────────┐
│ MCP Server (stdio) │
│ │
│ - Reads token from file │
│ - Exposes MCP tools │
│ - Makes WacTrack API calls │
│ - Returns results to Copilot │
└─────────────────────────────────────────┘
Testing
Test in Development:
- Open folder in VS Code
- Press F5 (Run > Start Debugging)
- Extension Development Host window opens
- Test commands and MCP tools
Test MCP Protocol Manually:
# Set token file path
export WACTRACK_TOKEN_FILE="/path/to/.wactrack-token"
# Run MCP server
npm run start:local
# Test with MCP Inspector or your MCP client
🤝 Contributing
This is an internal Microsoft tool maintained by the WEST DevX team.
To contribute:
- Contact WEST DevX team
- Follow internal contribution guidelines
- Submit PRs to Azure DevOps repository
📄 License
MIT License - See LICENSE file for details
🆘 Support
For help:
- Internal: Contact WEST DevX team via Teams
- Issues: File in Azure DevOps repository
- Questions: Ask in WEST DevX Teams channel
🎉 Version History
Version 1.2.0 (Current)
- ✅ Fixed authentication scope (now uses
user_impersonation)
- ✅ Implemented token file-based authentication
- ✅ Added automatic token refresh (every 30 minutes)
- ✅ Added status bar item with visual indicators
- ✅ Added welcome message on first activation
- ✅ Added sign-in, sign-out, and status commands
- ✅ Fixed all blocking bugs from previous version
- ✅ Complete rewrite of authentication flow
Version 1.1.0
- Initial release (had critical authentication bugs)
Built with ❤️ by WEST DevX
Making Office development workflows seamless for Microsoft engineers